Tidsplan Generator er lidt Perl script, der udarbejder en ugeplan som Scalable Vector Graphics billede. Kører det på din egen computer kan tage nogle grundlæggende viden om, hvordan man bruger en kommandolinje, men formen interface på demo site burde være brugbart for nogen.
Det er implementeret som et modul i stedet for en enkeltstående program, således at den samme kode kan anvendes i en CGI script (som på demo site) eller en Perl one-liner. Det afhænger af SVG modulet.
Du kan ringe til ene sande klasse Metode til Schedule Generator, "as_string", fra en hvilken som helst Perl-program. (. Se POD indlejret i Schedule_Generator.pm for detaljer) Men hvis du blot ønsker at tegne en tidsplan, den bedste måde, jeg tror, er at skrive din datastruktur i YAML, derefter køre denne kommando:
cat example.yml | perl -e 'bruge Local :: Schedule_Generator; bruge YAML; udskrive Lokal :: Schedule_Generator-> as_string (% {Load gøre {lokal $ /;
hvor "example.yml" er navnet på den fil, og "inkview" er navnet på en SVG-kompatibelt billedfremviser af dit valg, Inkview selv at være en god kandidat. Prøve dette på "example.yml" distribueret med dette program. (Sørg for at dit aktuelle arbejdsmappe er den, der indeholder "Local" mappe og denne README). Hvis du aldrig har hørt om "YAML" før, har ingen frygt; det er det mest intuitive data serialisering sprog tænkelige. Det ser uhyggeligt ud almindelig tekst. Bare redigere "example.yml" til din smag. For en fem minutters lynkursus på YAML, bør du være interesseret, se "http://yaml.kwiki.org/?YamlInFiveMinutes". For mere information, se "http://www.yaml.org", og dokumentationen for Perl er YAML modul.
Hvis du ønsker en bitmap-version af Schedule Generator output, kan du åbne billedet med Inkscape og bruge sin eksport funktion, eller du kan bruge ImageMagick til at dreje SVG (føres gennem standard input) i en PNG (udsendt via standard output):
konvertere svg: - png: -
Dette er i virkeligheden, kommandoen min CGI script bruger til at skabe sin PNG output.
Du kan undre, hvorfor jeg sætte Schedule_Generator.pm i "Local" navnerummet. Min tankegang gik sådan her: Skema Generator hører ikke på CPAN, da det er alt for specifik at blive betragtet genanvendelige kode. Så ville det være misvisende at sætte det et sted i standard CPAN hierarki, selvom understregning ville beskytte det mod namespace kollisioner. Så jeg sætter det under "Lokal" for at understrege (Ha) dens ikke-standard-ness.
En sidste bemærkning: Hvis du vil have finere kontrol over Schedule Generator output, kigge i Schedule_Generator.pm under "Hard-kodet indstillinger". Alle de numeriske variabler, der styrer de nøjagtige proportioner tidsplanen er der for din redigering fornøjelse. Undskyld min tandbøjle stil. Jeg har dårligt syn, så jeg bruger sådan en stor skrifttype for programmering, som jeg kun kan passe omkring tyve linjer i en Emacs ramme. Derfor jeg har tendens til at skrive visuelt kompakt kode. Det faktisk ser lidt Pythonic, selvom jeg er en Perl fanboy. Men TIMTOWTDI, højre
Krav :?
- Perl
Kommentarer ikke fundet