git/cl-yag/commit/e01b405e3258de8b4331abf84ec791d40bda805d.html (8692 bytes)
1 <!DOCTYPE html> 2 <html lang="en"><head><meta charset="UTF-8" /> 3 <meta name="viewport" content="width=device-width, initial-scale=1" /> 4 <title>cl-yag e01b405e - Recently Written</title> 5 <link rel="stylesheet" href="../../stagit.css" /> 6 </head><body> 7 <div id="top"><a href="../../../index.html">Recently Written</a> · <a href="../../index.html">git</a></div> 8 <h1>cl-yag</h1><span class="desc">Mirror and rewrite of Solène Rapenne's cl-yag SSG of renown</span><p class="url">git clone https://github.com/equwal/cl-yag</p><p><a href="../../cl-yag/index.html">Log</a> | <a href="../../cl-yag/files.html">Files</a> | <a href="../../cl-yag/refs.html">Refs</a></p><hr/> 9 <div id="content"> 10 <pre>commit e01b405e3258de8b4331abf84ec791d40bda805d 11 Spenser Truex <truex@equwal.com> 12 2025-09-01 16:06:08 -0400 13 14 Update README for refactor 15 16 </pre><pre> README.md | 74 +++++++++++++++++++++++++++++++++++++++++++++++++++------------ 17 1 file changed, 60 insertions(+), 14 deletions(-) 18 </pre><pre>diff --git a/README.md b/README.md 19 index a7b7b43..b4a8147 100644 20 --- a/README.md 21 +++ b/README.md 22 <span class="h">@@ -3,10 +3,11 @@</span> 23 24 ## Introduction 25 26 <span class="d">-cl-yag is a lightweight, static site generator that produces</span> 27 <span class="d">-**gopher** sites as well as **html** websites. The name 'cl-yag'</span> 28 <span class="d">-stands for 'Common Lisp - Yet Another website Generator'. It runs</span> 29 <span class="d">-without needing Quicklisp (Common LISP library manager).</span> 30 <span class="a">+cl-yag is a lightweight, static site generator that produces **gopher**</span> 31 <span class="a">+and **gemini** sites (and is easily extensible to more formats) as</span> 32 <span class="a">+well as **html** websites. The name 'cl-yag' stands for 'Common Lisp</span> 33 <span class="a">+- Yet Another website Generator'. It runs without needing Quicklisp</span> 34 <span class="a">+(Common LISP library manager).</span> 35 36 37 ## Showcase 38 <span class="h">@@ -17,23 +18,49 @@ world-wide-web (visit: *[Solene's percent]</span> 39 (gopher://dataswamp.org/1/~solene/). 40 41 42 <span class="a">+ MASSIVE CHANGE CRAZINESS TOO MUCH (see desc)</span> 43 <span class="a">+ </span> 44 <span class="a">+ For your testing pleasure. I'm planning to send this up as multiple</span> 45 <span class="a">+ atomic commits. There are probably some bugs.</span> 46 <span class="a">+ </span> 47 <span class="a">+ - Add an asdf system</span> 48 <span class="a">+ - Plug and play/backward compatible (generator.lisp and</span> 49 <span class="a">+ data/artcles.lisp don't need to be moved or anything)</span> 50 <span class="a">+ This makes the generators/ directory where new generators can be added.</span> 51 <span class="a">+ - Generators are now completely separate from the rest of the project</span> 52 <span class="a">+ (see the generators directory). Adding new ones is as simple as addin</span> 53 <span class="a">+ the file, registering a new generator in data/articles, and adding the</span> 54 <span class="a">+ file to the asdf definition so it gets loaded.</span> 55 <span class="a">+ - Bugfix: :if-does-not-exist :create it</span> 56 <span class="a">+ - Makefile: changes: split it up in there so it is possible to build</span> 57 <span class="a">+ smaller bits ad needed.</span> 58 <span class="a">+ - Makefile: Added all the lisps in order of good-ness to search for.</span> 59 <span class="a">+ - quit command/portability fix: used Clocc's quit commnd to make the</span> 60 <span class="a">+ program portable.</span> 61 <span class="a">+</span> 62 ## Requirements 63 64 To use cl-yag you'll need: 65 66 <span class="d">-1. A Common Lisp Interpreter</span> 67 <span class="d">- - cl-yag's current default is [Steel Bank Common Lisp (SBCL)](http://www.sbcl.org/).</span> 68 <span class="d">- - [Embeddable Common Lisp (ECL)](https://common-lisp.net/project/ecl/) will do fine as well.</span> 69 <span class="d">-2. A Markdown-to-HTML Converter</span> 70 <span class="d">- - cl-yag's current default is [multimarkdown](http://fletcherpenney.net/multimarkdown/).</span> 71 <span class="a">+1. Any Common Lisp Interpreter and the ASDF package system</span> 72 <span class="a">+ - cl-yag's current default is [Embeddable Common Lisp (ECL)](https://common-lisp.net/project/ecl/).</span> 73 <span class="a">+ - [Steel Bank Common Lisp (SBCL)](http://www.sbcl.org/) will do fine as well.</span> 74 75 <span class="a">+2. A Converter for arbitrary formats</span> 76 <span class="a">+ - cl-yag's current default is [multimarkdown](http://fletcherpenney.net/multimarkdown/).</span> 77 <span class="a">+ - pandoc could work fine too</span> 78 <span class="a">+ - each post can have its own converter as needed (great if importing your site from elsewhere)</span> 79 80 ## Usage 81 82 <span class="d">-Go into your project's directory and type ``make``. You'll find your new website/gopher page in **output/**. </span> 83 <span class="d">-If you want to get rid of everything in your **output/** sub directories, type ``make clean``. </span> 84 <span class="d">-For further commands: read the Makefile.</span> 85 <span class="d">-Read in the following section where to find it.</span> 86 <span class="a">+Go into your project's directory and type ``make``. You'll find your</span> 87 <span class="a">+new website/gopher/gemini page in **output/**. If you want to get rid</span> 88 <span class="a">+of everything in your **output/** sub directories, type ``make clean``.</span> 89 <span class="a">+For further commands: read the Makefile. Read in the following section</span> 90 <span class="a">+where to find it.</span> 91 <span class="a">+</span> 92 <span class="a">+It is necessary to edit the ``data/articles.lisp`` file which is the</span> 93 <span class="a">+user configuration for the site.</span> 94 95 96 ## Overview: cl-yag's File Hierarchy 97 <span class="h">@@ -67,7 +94,13 @@ least the following files and folders:</span> 98 - **Makefile** 99 - This file exists to simplify the recurring execution of frequently used commands. 100 - **generator.lisp** 101 <span class="d">- - This is cl-yag's core library.</span> 102 <span class="a">+ - This is cl-yag's deploying script.</span> 103 <span class="a">+- **generators-util,generator-aux-pre.lisp,generator-aux.lisp**</span> 104 <span class="a">+ - This is the core library, split into multiple files so things are loaded in the right order.</span> 105 <span class="a">+- **cl-yag.asd**</span> 106 <span class="a">+ - This is the definition of the system. Useful for adding new generators and seeing the order files are loaded.</span> 107 <span class="a">+- **generators/(...).lisp**</span> 108 <span class="a">+ - The output generators. Contribute new ones!</span> 109 - **static/** 110 - This directory holds content, that needs to be published without being changed (e.g. style sheets, js-scripts). 111 - If you come from 'non-static CMS'-Country: **static/** holds, what you would put in your **assets/** directory. 112 <span class="h">@@ -165,6 +198,11 @@ Of the following keywords, only ``:author`` and ``:short`` can be omitted.</span> 113 - **:title** 114 - The ``:title`` field's value sets your post's title, its first headline, as well as its entry on the index.html. 115 116 <span class="a">+### Generator registering</span> 117 <span class="a">+</span> 118 <span class="a">+Each generator is registered in the user config. To not generate something, just comment out the registry for that</span> 119 <span class="a">+generator.</span> 120 <span class="a">+</span> 121 122 ## How-to Create A New Post 123 124 <span class="h">@@ -269,6 +307,13 @@ webscale style sheets, you need to create them yourself. However,</span> 125 cl-yag will work nicely with them and if you want to make your 126 style sheets a part of cl-yag you're very welcome to contact me. 127 128 <span class="a">+### New Generators</span> 129 <span class="a">+</span> 130 <span class="a">+1. Add a lisp file to generators/ which does the necessary work. See the other ones for comparison.</span> 131 <span class="a">+2. Add it to the **cl-yag.asd** file with the other generators (order is important).</span> 132 <span class="a">+3. `register` it in **data/articles.lisp**</span> 133 <span class="a">+4. Contribute it.</span> 134 <span class="a">+</span> 135 136 # Hacking cl-yag 137 138 <span class="h">@@ -279,3 +324,4 @@ If you want to contribute, feel free to contact me and/or to send in a patch.</span> 139 - You could find a way to "sanitize" cl-yag's behaviour regarding the tilde (see: above); 140 - Also see: 'Note' in 'Posting Without Tagging'; 141 - Also see: 'A Note On Themes'. 142 <span class="a">+</span></pre> 143 </div></body></html>