Bylae Generator is 'n bietjie Perl script wat stel 'n weeklikse skedule as beeld Scalable Vector Graphics. Hardloop dit op jou eie rekenaar kan 'n paar basiese kennis van hoe om 'n command line gebruik te neem, maar die vorm koppelvlak op die demo site behoort bruikbaar deur enigiemand te wees.
Dit is geïmplementeer as 'n module, eerder as 'n selfstandige program sodat die dieselfde kode kan gebruik word in 'n CGI script (soos op die demo site) of 'n Perl one-liner. Dit hang af van die SVG module.
Jy kan die Een Ware Klas Metode van Bylae Generator, "as_string" noem, van enige Perl program. (. Sien die POD ingebed in Schedule_Generator.pm vir die besonderhede) Maar as jy wil net 'n skedule, die beste manier te trek, dink ek, is om jou data struktuur in YAML skryf, dan loop hierdie opdrag:
kat example.yml | perl -e 'gebruik Plaaslike :: Schedule_Generator; gebruik YAML; druk Plaaslike :: Schedule_Generator-> as_string (% {Load doen {plaaslike $ /
waar "example.yml" is die naam van die lêer, en "inkview" is die naam van 'n SVG-versoenbaar image viewer van jou keuse, Inkview self 'n goeie kandidaat. Probeer dit op die "example.yml" versprei met hierdie program. (Maak seker dat jou huidige werk gids, is die een wat die "Local" gids en dit README.) As jy nog nooit gehoor het van "YAML" voor, het geen vrees; dit is die mees intuïtief data serialisasie taal denkbaar. Dit lyk soos 'n ongewone plain text. Net wysig "example.yml" na jou smaak. Vir 'n vyf-minute crash kursus oor YAML, moet jy belangstel, sien "http://yaml.kwiki.org/?YamlInFiveMinutes". Vir meer inligting, sien "http://www.yaml.org" en die dokumentasie vir Perl se YAML module.
As jy wil 'n bitmap weergawe van uitset Bylae Generator se oopmaak, kan jy die beeld met Inkscape en die gebruik van sy uitvoer funksie, of jy kan ImageMagick gebruik om die SVG draai (gevoed deur standaard insette) in 'n PNG (uitgestraal via standaard uitset):
omskep svg: - png: -
Dit is, in werklikheid, die opdrag van my CGI script gebruik om sy PNG uitset te skep.
Jy mag dalk wonder hoekom ek Schedule_Generator.pm in die "Local" naamruimte. My denke het soos hierdie: Bylae Generator hoort nie op CPAN, want dit is veels te spesifieke oorweeg moet word herbruikbare kode. Dan sou dit misleidend om dit iewers sit in die standaard CPAN hiërargie te wees, selfs al is die underscore dit sou beskerm teen naamruimte botsings. So ek sit dit onder "Local" om te beklemtoon (hee hee) sy standaard-heid.
Een laaste opmerking: as jy wil fyner beheer oor uitset Bylae Generator se, kyk in Schedule_Generator.pm onder "Hard-gekodeerde opsies". Al die numeriese veranderlikes wat die presiese omvang van die skedule beheer is daar vir jou redigering plesier. Verskoon my stut styl. Ek het swak sig, so ek gebruik so 'n groot font vir programme wat ek net kan inpas sowat twintig lyne in een Emacs raam. Om dié rede, ek is geneig om visueel kompakte kode te skryf. Dit lyk eintlik 'n bietjie Pythonic, selfs al het ek is 'n Perl fanboy. Maar TIMTOWTDI, reg
Vereistes :
- Perl
Kommentaar nie gevind