Klávesové zkratky na tomto webu - rozšířené Na obsah stránky

Stáhněte si Texy.net a NForms přes SVN

16.02 - 13. září 2008 | ASP.NET 2.0

Projekty, které se rozhodnu vypustit ven, většinou hostuju na CodePlexu. Jeho UI mi přijde mnohem rychlejší než konkurenční SourceForge a přehlednější než Google Code. Nevadí mi, že za tímto hostingem stojí velký zlý Microsoft, naopak to vítám. Tento projekt byl jedním z prvních krůčků na podporu OpenSource ze strany Microsoftu a navíc je místem, kde samotný Microsoft uveřejňuje spoustu zajímavých projektů. Například budoucí části ASP.NET.

Ale zpět k tématu. Tento hosting je postaven na Team Foundation Serveru (TFS), který je centrem pro týmovou práci, verzovacím systémem a v neposlední řadě i systémem pro vedení požadavků a úkolů. Tím se odlišuje od konkurence, která většinou používá tradiční SVN, což je po léta de-facto standard pro verzování OpenSource projektů. Komunita dlouho volala po tom, že chtějí SVN i CodePlexu. V MS nakonec udělali kompromis.

SVN Bridge

SVN Bridge byl první krok. Je to taková malá utilitka, kterou si spustíte na vašem počítači a ona překládá vaše SVN požadavky do řeči, které rozumí TFS. Můžete s ní pak používat oblíbené nástroje jako TortoiseSVN nebo VisualSVN. Ale pořád je tu nutnost donahrát si utilitu a ani URL repository ve tvaru http://localhost:8081/<tfs.server.name>/<projectname> nejsou nějak úchvatná.

Tento měsíc však došlo k zásadní změně. Na Codeplexu byl nasazen serverový SVN bridge, takže už nemusím pouštět lokální verzi, ale rovnou můžu pro snadný přístup přes SVN nástroje používat adresy následující:

  1. pro NForms https://nforms.svn.codeplex.com/svn
  2. pro Texy.net https://texynet.svn.codeplex.com/svn

No a vy také ;)

Budoucnost Texy.net

14.05 - 2. října 2007 | Webdesign

Chtěl bych začít pracovat na parseru Texy napsaném v C#. Než s tím začnu chci se zeptat, jestli to vůbec má cenu, má někdo o něco takového zájem? Samozřejmě to bude open source hostovaný na CodePlexu, kdy je source control a issue tracker. Pokud bude zájem o dotnetí parser Texy, bude mít někdo zájem na projektu spolupracovat? Vyzkoušet si práci v týmu, agilní vývoj na otevřeném projektu. Pokud máte zájem, dejte o sobě vědět buďto v komentářích nebo na můj mejl.

Texy.net na CodePlexu

21.11 - 24. května 2007 | ASP.NET 2.0

Dneska jsem vypustil Texy.net na CodePlex. Vypublikoval jsem první Wiki stránky uploadoval RC1 a RC2 verzi a experimentální PhalangerProvi­der. Vloženy jsou i zdrojáky. K RTM verzi zbývá již jen dopsat dokumentaci, najít a opravit bugy.

Pokud mátě někdo zájem se do projektu zapojit, dveře jsou otevřené.

Co je v plánu po 1.0 RTM

PhalangerProvider nebo IronPythonProvider nebo IronRubyProvider, který bude plně použitelný se současným API Texy.net. Nejde o nic jiného než využít kompilátorů pro dynamické jazyky do kterých už byla nebo bude Texy! portována. Zajímavé je, že byl uvolněn Texier což je Texy na Ruby, ale IronRuby je ještě neuvolněná. Naproti tomu je venku IronPython skoro ve verzi 2.0, ale žirafka jeste svoji PyTexy neuvolnila (: No a nakonec Phalanger. Vněm se Texy zkompilovat podařilo, ale furt se mi to nějak nezdá. Tomášova verze mi neumožňuje konfigurovat moduly, což je dost zásadní věc…

No a pak, nebo mezi tím, konečně něco jako to, čemu předběžně říkám Texy# :)

Novinky v Texy.net

09.06 - 5. května 2007 | ASP.NET 2.0

Není tajemstvím, že pracuju na Texy.net, což je komponenta, která umožňuje používat Texy! i na platformě .net. Tento článek by měl poodhalit jak bude vypadat příští verze, na které momentálně pracuji.

  1. Změna namespace z Rarous.Texy na Rarous.TexyNet. Důvodů mám hned několik. Zapré to lépe reflektuje název produktu, zadruhé bude smysluplnější kód při volání hlavní třídy Rarous.TexyNet.Texy než ten dosavadní v RC1 Rarous.Texy.Texy.
  2. logo Logo :) Logo Texy.net vychází z nového ještě více sexy loga Texy2.
  3. Vlastní stránky poběží na adrese www.gryphoon.net/texy/, protože Texy.net je nedílnou součástí Gryphoonu. Pravděpodobně poběží i wiki.
  4. Deklarativní konfigurace zůstane zachována a pravděpodobně bude ještě rozšířena o nové možnosti.
  5. Texy.net už nebude jen XML-RPC wrapper, ale pomocí provider modelu bude jednotným API pro několik možných poskytovatelů Texy! v dotnetu. Na tuto myšlenku mě navedl Tomáš Petříček se svým pokusem zkompilovat Texy! ve Phalangeru. Díky Texy.net a PhalangerProvideru bude použití Texy! více dotnetovské a sexy :) Další provider bude pro Texy-WS přes SOAP apod. Každý si bude moci vybrat, co mu více vyhovuje.
  6. Rád bych dotáhl dokumentaci do kvalitnější formy, jen ještě nevím zda ji celou ponechat v MSDN like stylu nebo na wiki.
  7. Dá-li DGX, bude nová verze používat Texy2, přinejmenším v XML-RPC.

Související

Texy.net release candidate

22.40 - 30. listopadu 2006 | Webdesign

Po delší odmlce přicházím opět s dotnetovou implementací Texy! XML-RPC klienta. Přesto, že jsem nedostal žádnou odezvu, jsem odchytal pár bugů z předešlé verze, ale hlavně došlo k rozšíření o podporu deklarativní konfigurace.

Dosud se musela Texy.net konfigurovat pokaždé zvlášť v kódu ve kterém byla volána. Nová verze přináší možnost konfigurace pomocí vlastní sekce ve web.config souboru. Vytvořil jsem jak vlastní handler pro načítání konfigurace, tak i schéma pro snadnější editaci konfigurace. Schéma si zkopírujte do adresáře C:\Program Files\Microsoft Visual Studio 8\Xml\Schemas\Custom\ a do souboru C:\Program Files\Microsoft Visual Studio 8\Xml\Schemas\DotNetConfig.xsd přidejte následující kód:
<xs:include schemaLocation="Custom/GryphoonConfig.xsd" />.

Ukázka použití

web.config

<?xml version="1.0" ?>
<configuration>
  <configSections>
    <section name="rarous.texy"
      type="Rarous.Texy.Configuration.ConfigSectionHandler, Rarous.Texy"
      allowLocation="true" allowDefinition="Everywhere" />
  </configSections>

  <rarous.texy>
    <formatterModule indent="false" lineWrap="255" />
    <headingModule top="2" />
  </rarous.texy>

...

</configuration>

Ukázka výše má za následek, že výstupní kód nebude odsazován a bude zalamován po 255 znacích. Dále je nastaven nadpis h2 jako nejvyšší možný. Následuje obligátní ukázka požití v kódu.

string input = "nějaký text."; // vstupní text
// načteme konfiguraci
Rarous.Texy.Configuration.ConfigSectionHandler handler =
    (Rarous.Texy.Configuration.ConfigSectionHandler)
    ConfigurationManager.GetSection("rarous.texy");
// vytvoříme instanci Texy!
Rarous.Texy.Texy texy = new Rarous.Texy.Texy(input, handler);
// překonvertujeme na XHTML s pomocí konfigurace
string output = texy.ToXhtml(true);

Tímto však možnosti nekončí. Já například zmiňovaný handler používám v připravovaném redakčním systému Gryphoon2 pro konfiguraci pro články a pro komentáře. TexyProcessor se pak stará o načítání konfigurace pro aktuální potřebu.

No a protože tohle není úplně nejjednodušší ukázka kódu, máme tu ještě takové usnadnění :) Nejjednodušší možnost použití Texy tedy je:

string html = Rarous.Texy.Texy.Process("Hello World!");

Doufám, že alespoň někomu to pomůže k snadnějšímu používání Texy! na dotnetu. Závěrem bych vás chtěl poprosit, pokud najdete nějakou chybku, neváhejte a sdělte mi ji, ať už v komentářích, nebo na e-mail. Za každý feedback budu rád. :)

Ke stažení

Texy.net 1.0 beta 2

15.30 - 19. června 2006 | ASP.NET 2.0

Update

Texy.net logo Beta 2 respektuje změny v rozhranní Texy! XML-RPC a již plně podporuje definování povolených classů, stylů a tagů. Zatím nevyřešenou věcí je komprese přenášeného textu. Verze beta 1 již není funkční a je nutné jí nahradit betou 2!

Ke stažení


Konečně jsem dopsal knihovnu, která zpřístupňuje Texy! pro dotnet 2.0 aplikace. Knihovna interně využívá Texy! XML-RPC za pomocí knihovny XML-RPC.net. Implementováno je skoro vše, krom GZip komprimace přenosu (v příští verzi přibude možnost přenos komprimovat) a ještě není plně funkční definování povolených classů, stylů a tagů – konkrétní implementaci musím ještě probrat s DGX :)

Ukázka použití

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Ukázka Texy.net</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <asp:TextBox ID="Input" runat="server" TextMode="multiline"></asp:TextBox>
    <br /><asp:Button ID="SubmitButton" runat="server" OnClick="SubmitButton_Click" Text="Převést" />
    <asp:Literal ID="Output" runat="server"></asp:Literal>
    </div>
    </form>
</body>
</html>
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using PBSoftware.Gryphoon.TexyRpc;

public partial class _Default : System.Web.UI.Page
{
    protected void SubmitButton_Click(object sender, EventArgs e)
    {
        Texy texy = new Texy(Input.Text);
        bool useConfiguration = true;

        texy.Configuration.HeadingModule.Top = 3;

        Output.Text = texy.ToXhtml(useConfiguration);
    }
}

Ukázková stránka obsahuje tlačítko SubmitButton po jehož stisknutí dojde k převedení obdahu TextBoxu Input pomocí Texy! a výsledek je vypsám pomocí Literalu Output.

Knihovnu uvolňuji k volnému použití pod Creative Commons licencí. Případné připomínky zanechte v komentářích. :) V balíčku je i dokumentace.