ssnail

crappy and opinionated static site generator
git clone https://git.e1e0.net/ssnail.git
Log | Files | Refs | README | LICENSE

ssnail.1 (2679B)


      1 .\" Copyright (c) 2020 Paco Esteban <paco@e1e0.net>
      2 .\"
      3 .\" Permission to use, copy, modify, and distribute this software for any
      4 .\" purpose with or without fee is hereby granted, provided that the above
      5 .\" copyright notice and this permission notice appear in all copies.
      6 .\"
      7 .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
      8 .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
      9 .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
     10 .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
     11 .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
     12 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
     13 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
     14 .\"
     15 .Dd June 16, 2020
     16 .Dt SSNAIL 1
     17 .Os
     18 .Sh NAME
     19 .Nm ssnail
     20 .Nd crappy and opinionated static website generator
     21 .Sh SYNOPSIS
     22 .Nm
     23 .Op Fl F
     24 .Op Fl f Ar footer
     25 .Op Fl h Ar header
     26 .Op Fl i
     27 .Op Fl r
     28 .Fl t Ar title
     29 .Fl u Ar main_url
     30 .Op Fl v
     31 .Ar src_folder
     32 .Ar dst_folder
     33 .Sh DESCRIPTION
     34 .Nm
     35 takes all Markdown files on
     36 .Ar src_folder
     37 and generates corresponding HTML files on
     38 .Ar dst_folder .
     39 It uses
     40 .Xr lowdown 3
     41 internally to do the conversion.
     42 All other files are copied recursively.
     43 Files are copied/generated only if they don't exist on destination or exist but
     44 are newer on source.
     45 It uses header and footer templates to generate the HTML files.
     46 On the header, the strings
     47 .Sq $title$ ,
     48 .Sq $author$
     49 and
     50 .Sq $date$
     51 are replaced by the Markdown metadata.
     52 On the footer, only the string
     53 .Sq $title$
     54 is replaced.
     55 It can also generate index and RSS files.
     56 For a file to be included on the index and RSS, it has to have a
     57 .Sq Type: article
     58 on the Markdown metadata.
     59 .Pp
     60 The options are as follows:
     61 .Bl -tag -width Ds
     62 .It Fl F
     63 Force copy/generate all files.
     64 .It Fl f Ar footer
     65 Footer HTML template.
     66 .Pq defaults to _footer.html
     67 .It Fl h Ar header
     68 Header HTML template.
     69 .Pq defaults to _header.html
     70 .It Fl i
     71 Generate index HTML file.
     72 .It Fl r
     73 Generate RSS file.
     74 .It Fl t Ar title
     75 Title of the website.
     76 Required to generate index and RSS.
     77 .It Fl u Ar main_url
     78 Main url of the site.
     79 Required.
     80 .It Fl v
     81 Prints version and exists.
     82 .It Ar src_folder
     83 Folder where all Markdown and other files are located.
     84 Required.
     85 .It Ar dst_folder
     86 Folder where HTML will be generated and other files copied.
     87 Required.
     88 .El
     89 .Sh EXIT STATUS
     90 .Ex -std
     91 .Sh AUTHORS
     92 .An Paco Esteban
     93 .Mt paco@e1e0.net
     94 .Sh BUGS
     95 Probably many.
     96 Do not use this in production.
     97 This is only an educational project to learn in how many different ways I can
     98 shoot myself in the foot.
     99 If you find horrors, send patches to:
    100 .Mt patches@e1e0.net