~README.md and data/README.md Remove bmake and CLISP references.… | |
git clone git://bitreich.org/cl-yag/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws… | |
Log | |
Files | |
Refs | |
Tags | |
README | |
LICENSE | |
--- | |
commit 707f5e747aa837657993f852439c99063a416cf6 | |
parent 2a146ce064617e43c80f9c41ceef007843bea20d | |
Author: lambda <[email protected]> | |
Date: Wed, 29 Nov 2017 11:33:19 +0100 | |
~README.md and data/README.md Remove bmake and CLISP references. | |
Correct spelling errors. | |
Add links to websites of sbcl, ecl, mul… | |
Add :title to data/articles.lisp sectio… | |
Use *bar* for *vars* and *functions* (e… | |
Use ``bar`` for ``:keywords``, booleans… | |
Use **bar** for **foo/path/** and **foo… | |
Status of this commit: Suggestion. | |
Diffstat: | |
M README.md | 162 +++++++++++++++--------------… | |
M data/README.md | 162 +++++++++++++++--------------… | |
2 files changed, 160 insertions(+), 164 deletions(-) | |
--- | |
diff --git a/README.md b/README.md | |
@@ -1,9 +1,9 @@ | |
-# README | |
+o# README | |
## Introduction | |
-cl-yag is a very lightweight, static site generator that produces **gopher** s… | |
+cl-yag is a lightweight, static-site generator that produces **gopher** sites … | |
The name 'cl-yag' stands for 'Common Lisp - Yet Another website Generator'. | |
It runs without Quicklisp. | |
@@ -21,20 +21,16 @@ gopher-space](gopher://dataswamp.org/1/~solene/). | |
To use cl-yag you'll need: | |
1. A Common Lisp Interpreter | |
- - cl-yag's current default is **Steel Bank Common Lisp (SBCL)**. | |
- - **Embeddable Common Lisp (ECL)** will do fine as well. | |
+ - cl-yag's current default is [Steel Bank Common Lisp (SBCL)](http://www.s… | |
+ - [Embeddable Common Lisp (ECL)](https://common-lisp.net/project/ecl/) wil… | |
2. A Markdown-to-HTML Converter | |
- - cl-yag's current default is **multimarkdown**. | |
-3. BSD Make | |
- - Linux-Users, cl-yag uses a BSD Makefile syntax, that isn't compatible wi… | |
- - You need to install a port of the NetBSD make tool, called **bmake**. | |
+ - cl-yag's current default is [multimarkdown](http://fletcherpenney.net/mu… | |
## Usage | |
-Go into your project's directory and type ``make``. You'll find your new websi… | |
-If you want to get rid of everything in your 'output/' subdirectories, | |
-type ``make clean``. | |
+Go into your project's directory and type ``make``. You'll find your new websi… | |
+If you want to get rid of everything in your **output/** subdirectories, type … | |
For further commands: read the Makefile. | |
Read in the follwing section where to find it. | |
@@ -73,25 +69,25 @@ least the following files and folders: | |
- This is cl-yag's core library. | |
- **static/** | |
- This directory holds content, that needs to be published without being c… | |
- - If you come from 'non-static CMS'-Country: 'static/' holds, what you… | |
+ - If you come from 'non-static CMS'-Country: **static/** holds, what y… | |
- **templates/** | |
- The templates in this directory provide the structural skeleton(s) of th… | |
- **output/** | |
- cl-yag puts in this directory everything ready to get deployed. | |
- - Because cl-yag generates not only HTML, but gopher-compliant pages a… | |
- - **gopher/** : contains the website for gopher, | |
- - **html/** : contains the website in HTML. | |
+ - Because cl-yag generates not only HTML, but gopher-compliant pages a… | |
+ - **gopher/** contains the website for gopher, | |
+ - **html/** contains the website in HTML. | |
And there is the **data/** directory, which is important enough to get a subsu… | |
-### The 'data/' Directory | |
+### The data/ Directory | |
This directory is crucial for the usage of cl-yag. | |
**data/** contains | |
-- the **articles.lisp configuration file**, which defines important metadata f… | |
-- It also holds **${id}.md**-files, which are holding your posts' and pages' c… | |
+- the **articles.lisp** configuration file, which defines important metadata f… | |
+- It also holds **${id}.md** files, which are holding your posts' (or pages') … | |
For more information: Read section 'Configuration'. | |
@@ -99,25 +95,25 @@ For more information: Read section 'Configuration'. | |
## Configuration | |
cl-yag's main configuration file is **data/articles.lisp**. | |
-In order to have a reliably running implementation of cl-yag, you have | |
+In order to have a running implementation of cl-yag, you have | |
to set most of the values in this file. | |
**data/articles.lisp** has two parts: | |
-1. A variable called **config**. It defines global values, that define your we… | |
-2. A variable called **articles**. It defines local values, that - in turn - d… | |
+1. A variable called *config*. Its values define your webpage. | |
+2. A variable called *articles*. Its values define your posts. | |
-Values are assigned by placing a string (e.g. "foo") or a boolean | |
-(i.e. 't' or 'nil') behind a keyword (e.g. ':title'). | |
+Values are assigned by placing a string (e.g. ``"foo"``) or a boolean | |
+(i.e. ``t`` or ``nil``) behind a keyword (e.g. ``:title``). | |
-### The **config** Variable | |
+### The *config* Variable | |
-The **config** variable is used to assign the following values: | |
+The *config* variable is used to assign the following values: | |
- **:webmaster** | |
- The name of the default(!) author. | |
- - :webmaster gets used, if **:author** is omitted. (see below: 'The **… | |
+ - ``:webmaster`` gets used, if ``:author`` is omitted. (See below: 'Th… | |
- **:title** | |
- The title of the webpage | |
- **:description** | |
@@ -125,45 +121,49 @@ The **config** variable is used to assign the following v… | |
- **:url** | |
- This needs to be the full(!) URL of your website, including(!) a final s… | |
- MIND: If the url contains a tilde (~), it needs to get duplicated | |
- - Example: https://mydomain/~~user/ is a valid url. | |
+ - Example: ``https://mydomain/~~user/`` | |
- **:rss-item-number** | |
- This holds the number of latest(!) RSS items you want to get published w… | |
- **html** | |
- - *t* to export html website. Set *nil* to disable. | |
+ - ``t`` to export html website. Set ``nil`` to disable. | |
- **gopher** | |
- - *t* to export gopher website. Set *nil* to disable. | |
+ - ``t`` to export gopher website. Set ``nil`` to disable. | |
- **gopher-path** | |
- This is the full path of the directory to access your gopher hole. | |
- **gopher-server** | |
- - Hostname of the gopher server. Because gopher doesn't allow relative lin… | |
+ - Hostname of the gopher server. It needs to be included in every link. | |
- **gopher-port** | |
- - tcp port of the gopher server. 70 is the default port. It need to be inc… | |
+ - tcp port of the gopher server. 70 is the default port. It needs to be in… | |
-### The **articles** Variable | |
+### The *articles* Variable | |
-The **articles** variable holds per page/post-metadata. | |
-Of the following fields, only the *:author* and *:short* description can be om… | |
+The *articles* variable holds post metadata. | |
+So you need to create an entry in the *articles* variable for each of your pos… | |
-- **:short** | |
- - The _:short_ field's value is used for displaying a really short des… | |
- - If _:short_ doesn't get a value, the full article gets displayed. | |
- - Hint: Use ``:short "view the article for the full text"``, if you do… | |
+Of the following keywords, only ``:author`` and ``:short`` can be omitted. | |
+ | |
+- **:author** | |
+ - The ``:author`` field is used to display the article's author. | |
+ - If you omit it, the generator will take the name from the ``:webmaster``… | |
- **:id** | |
- - The _:id_ field holds the filename of your post/page. | |
- - Example: ``:id "2"`` will load file ``data/2.md``. Use text instead … | |
+ - The ``:id`` field holds the filename of your post/page. | |
+ - Example: ``:id "2"`` will load file **data/2.md**. Use text instead … | |
- (See section: 'The **data/** Directory'.) | |
-- **:author** | |
- - The _:author_ field is used to display the article' author. | |
- - If you omit it, the generator will take the name from the **:webmaster*… | |
+- **:short** | |
+ - The ``:short`` field's value is used for displaying a really short d… | |
+ - If ``:short`` doesn't get a value, the full article gets displayed. | |
+ - Hint: Use ``:short "view the article for the full text"``, if you do… | |
- **:tag** | |
- - _:tag_ field is used to create a "view" containing all articles of the s… | |
- - MIND: Whitespaces are not allowed in(!) tags. | |
+ - ``:tag`` field is used to create a "view" containing all articles of the… | |
+ - MIND: Whitespaces are used to separate tags and are not allowed in(… | |
+- **:title** | |
+ - The ``:title`` field's value sets your post's title, its first headl… | |
## Howto Create A New Post | |
-Edit data/articles.lisp and add a new list to the *articles* variable: | |
+Edit **data/articles.lisp** and add a new list to the *articles* variable: | |
(list :title "How do I use cl-yag" | |
:id "2" | |
@@ -172,30 +172,30 @@ Edit data/articles.lisp and add a new list to the *articl… | |
:short "I will explain how to use the generator" | |
:tag "example help code") | |
-Then write a corresponding ``2.md`` file, using markdown. | |
+Then write a corresponding **data/2.md** file, using markdown. | |
+ | |
## Howto Publish A Post | |
I prepared a Makefile to facilitate the process of generating and | |
-publishing your static sites. | |
- | |
+publishing your static sites. | |
All you need to do in order to publish is to go into your cl-yag | |
-directory and type "make". | |
+directory and type ``make``. | |
-The 'make' command does create html and gopher files in the defined | |
-**output/** location (which can be a symbolic link pointing to some | |
-other directory, somewhere else on your machine). | |
+The make command creates html and gopher files in the defined location. | |
+The default is the **output/** directory, but you can use a symbolic link | |
+pointing to some other directory as well. | |
## Howto Add A New Page | |
You may want to have some dedicated pages besides the index or a post. | |
-To create one, edit the **generate-site** function in cl-yag's | |
-generator.lisp and add a function call, like this: | |
+To create one, edit the *generate-site* function in cl-yag's | |
+**generator.lisp** and add a function call, like this: | |
(generate "somepage.html" (load-file "data/mypage.html")) | |
-This will produce the file **somepage.html** in the output folder. | |
+This will produce **output/html/somepage.html**. | |
## Further Customization | |
@@ -204,66 +204,64 @@ This will produce the file **somepage.html** in the outpu… | |
cl-yags default Lisp interpreter is **sbcl**. | |
If you want to use a different lisp interpreter you need to set the | |
-variable 'LISP' to the name of your binary, when calling ``make``. | |
+variable *LISP* to the name of your binary, when calling ``make``: | |
- `make LISP=ecl` | |
+ make LISP=ecl | |
### Using git Hooks For Publishing | |
You may customize your publishing-process further, e.g. by using a git | |
-hook to call 'make' after each change in the repo so your website gets | |
-updated automatically. | |
+hook to call the make program after each change in the repo so your | |
+website gets updated automatically. | |
## Page-Includes | |
Here is an example code, if you want to include another page in the template: | |
-1. Create **template/panel.tpl** with the html you want to include. | |
-2. Add a string in the target file, where the replacement should occur. | |
- In this case, we choose **%%Panel%%** for a string, and, because we want th… | |
+1. Create **templates/panel.tpl** containing the html you want to include. | |
+2. Add a replacement-string in the target file, where the replacement should o… | |
+ In this case, we choose **%%Panel%%** for a string, and, because we want th… | |
3. Modify the function *generate-layout* in cl-yag's **generator.lisp** accord… | |
This is done by adding the following template function call: | |
- "**(template "%%Panel%%" (load-file "template/panel.tpl"))**" | |
- | |
-(Note: You can insert your text directly into the layout template file | |
-as well.) | |
+ (template "%%Panel%%" (load-file "templates/panel.tpl")) | |
+Another valid approach is to writer your html directly into **templates/layout… | |
## Known Limitations | |
### Use ~~ To Create ~ | |
-cl-yag crashes if you use a single "**~**" caracter inside one data | |
-structure in **articles.lisp** files, because Common Lisp employs the | |
-tilde as a prefix to indicate format specifiers in format strings. | |
+cl-yag crashes if you use a single "~" character inside | |
+**templates/articles.lisp**, because Common Lisp employs the tilde as a | |
+prefix to indicate format specifiers in format strings. | |
-In order to use a literal `~` - e.g. for creating a :title or :url | |
-reference - you have to **escape** the tilde **by duplicating** it: | |
-``~~``. | |
-(See _:url_ in section 'Configuration'). | |
+In order to use a literal `~` -- e.g. for creating a ``:title`` or | |
+``:url`` reference -- you have to *escape* the tilde *by | |
+duplicating* it: ``~~``. (See ``:url`` in section 'Configuration'). | |
### Posting Without Tagging | |
-cl-yag allows posts to be 'untagged'- but with the default template | |
-you'll get a line below your title that displays: "Tags: ". | |
+cl-yag allows posts without tags, but, using the default | |
+**templates/layout.tpl**, you'll get a line below your title that | |
+displays: "Tags: ". | |
(Note: If you are looking for a way to contribute this may be a task for you.) | |
### A Note On Themes | |
-Although cl-yag **may** ship with a **minimalistic** template, cl-yag | |
-focuses only on generating html- and gopher-compliant structural | |
-markup - not themed layouts. | |
+Although cl-yag may ship with a minimalistic template, cl-yag focuses | |
+on generating html- and gopher-compliant structural markup - not | |
+themed layouts. | |
If you want some deeply refined, cross-browser compatible, responsive, | |
-webscale style-sheet, you need to create it yourself. | |
-However, cl-yag will work nicely with it and if you want to make your | |
+webscale style sheets, you need to create them yourself. However, | |
+cl-yag will work nicely with them and if you want to make your | |
stylesheets a part of cl-yag you're very welcome to contact me. | |
@@ -275,4 +273,4 @@ If you want to contribute, feel free to contact me and/or t… | |
- If you are looking for a way to contribute: | |
- You could find a way to "sanitize" cl-yag's behaviour regarding the tild… | |
- Also see: 'Note' in 'Posting Without Tagging'; | |
- - Also see: 'A Note On Themes. | |
+ - Also see: 'A Note On Themes'. | |
diff --git a/data/README.md b/data/README.md | |
@@ -1,9 +1,9 @@ | |
-# README | |
+o# README | |
## Introduction | |
-cl-yag is a very lightweight, static site generator that produces **gopher** s… | |
+cl-yag is a lightweight, static-site generator that produces **gopher** sites … | |
The name 'cl-yag' stands for 'Common Lisp - Yet Another website Generator'. | |
It runs without Quicklisp. | |
@@ -21,20 +21,16 @@ gopher-space](gopher://dataswamp.org/1/~solene/). | |
To use cl-yag you'll need: | |
1. A Common Lisp Interpreter | |
- - cl-yag's current default is **Steel Bank Common Lisp (SBCL)**. | |
- - **Embeddable Common Lisp (ECL)** will do fine as well. | |
+ - cl-yag's current default is [Steel Bank Common Lisp (SBCL)](http://www.s… | |
+ - [Embeddable Common Lisp (ECL)](https://common-lisp.net/project/ecl/) wil… | |
2. A Markdown-to-HTML Converter | |
- - cl-yag's current default is **multimarkdown**. | |
-3. BSD Make | |
- - Linux-Users, cl-yag uses a BSD Makefile syntax, that isn't compatible wi… | |
- - You need to install a port of the NetBSD make tool, called **bmake**. | |
+ - cl-yag's current default is [multimarkdown](http://fletcherpenney.net/mu… | |
## Usage | |
-Go into your project's directory and type ``make``. You'll find your new websi… | |
-If you want to get rid of everything in your 'output/' subdirectories, | |
-type ``make clean``. | |
+Go into your project's directory and type ``make``. You'll find your new websi… | |
+If you want to get rid of everything in your **output/** subdirectories, type … | |
For further commands: read the Makefile. | |
Read in the follwing section where to find it. | |
@@ -73,25 +69,25 @@ least the following files and folders: | |
- This is cl-yag's core library. | |
- **static/** | |
- This directory holds content, that needs to be published without being c… | |
- - If you come from 'non-static CMS'-Country: 'static/' holds, what you… | |
+ - If you come from 'non-static CMS'-Country: **static/** holds, what y… | |
- **templates/** | |
- The templates in this directory provide the structural skeleton(s) of th… | |
- **output/** | |
- cl-yag puts in this directory everything ready to get deployed. | |
- - Because cl-yag generates not only HTML, but gopher-compliant pages a… | |
- - **gopher/** : contains the website for gopher, | |
- - **html/** : contains the website in HTML. | |
+ - Because cl-yag generates not only HTML, but gopher-compliant pages a… | |
+ - **gopher/** contains the website for gopher, | |
+ - **html/** contains the website in HTML. | |
And there is the **data/** directory, which is important enough to get a subsu… | |
-### The 'data/' Directory | |
+### The data/ Directory | |
This directory is crucial for the usage of cl-yag. | |
**data/** contains | |
-- the **articles.lisp configuration file**, which defines important metadata f… | |
-- It also holds **${id}.md**-files, which are holding your posts' and pages' c… | |
+- the **articles.lisp** configuration file, which defines important metadata f… | |
+- It also holds **${id}.md** files, which are holding your posts' (or pages') … | |
For more information: Read section 'Configuration'. | |
@@ -99,25 +95,25 @@ For more information: Read section 'Configuration'. | |
## Configuration | |
cl-yag's main configuration file is **data/articles.lisp**. | |
-In order to have a reliably running implementation of cl-yag, you have | |
+In order to have a running implementation of cl-yag, you have | |
to set most of the values in this file. | |
**data/articles.lisp** has two parts: | |
-1. A variable called **config**. It defines global values, that define your we… | |
-2. A variable called **articles**. It defines local values, that - in turn - d… | |
+1. A variable called *config*. Its values define your webpage. | |
+2. A variable called *articles*. Its values define your posts. | |
-Values are assigned by placing a string (e.g. "foo") or a boolean | |
-(i.e. 't' or 'nil') behind a keyword (e.g. ':title'). | |
+Values are assigned by placing a string (e.g. ``"foo"``) or a boolean | |
+(i.e. ``t`` or ``nil``) behind a keyword (e.g. ``:title``). | |
-### The **config** Variable | |
+### The *config* Variable | |
-The **config** variable is used to assign the following values: | |
+The *config* variable is used to assign the following values: | |
- **:webmaster** | |
- The name of the default(!) author. | |
- - :webmaster gets used, if **:author** is omitted. (see below: 'The **… | |
+ - ``:webmaster`` gets used, if ``:author`` is omitted. (See below: 'Th… | |
- **:title** | |
- The title of the webpage | |
- **:description** | |
@@ -125,45 +121,49 @@ The **config** variable is used to assign the following v… | |
- **:url** | |
- This needs to be the full(!) URL of your website, including(!) a final s… | |
- MIND: If the url contains a tilde (~), it needs to get duplicated | |
- - Example: https://mydomain/~~user/ is a valid url. | |
+ - Example: ``https://mydomain/~~user/`` | |
- **:rss-item-number** | |
- This holds the number of latest(!) RSS items you want to get published w… | |
- **html** | |
- - *t* to export html website. Set *nil* to disable. | |
+ - ``t`` to export html website. Set ``nil`` to disable. | |
- **gopher** | |
- - *t* to export gopher website. Set *nil* to disable. | |
+ - ``t`` to export gopher website. Set ``nil`` to disable. | |
- **gopher-path** | |
- This is the full path of the directory to access your gopher hole. | |
- **gopher-server** | |
- - Hostname of the gopher server. Because gopher doesn't allow relative lin… | |
+ - Hostname of the gopher server. It needs to be included in every link. | |
- **gopher-port** | |
- - tcp port of the gopher server. 70 is the default port. It need to be inc… | |
+ - tcp port of the gopher server. 70 is the default port. It needs to be in… | |
-### The **articles** Variable | |
+### The *articles* Variable | |
-The **articles** variable holds per page/post-metadata. | |
-Of the following fields, only the *:author* and *:short* description can be om… | |
+The *articles* variable holds post metadata. | |
+So you need to create an entry in the *articles* variable for each of your pos… | |
-- **:short** | |
- - The _:short_ field's value is used for displaying a really short des… | |
- - If _:short_ doesn't get a value, the full article gets displayed. | |
- - Hint: Use ``:short "view the article for the full text"``, if you do… | |
+Of the following keywords, only ``:author`` and ``:short`` can be omitted. | |
+ | |
+- **:author** | |
+ - The ``:author`` field is used to display the article's author. | |
+ - If you omit it, the generator will take the name from the ``:webmaster``… | |
- **:id** | |
- - The _:id_ field holds the filename of your post/page. | |
- - Example: ``:id "2"`` will load file ``data/2.md``. Use text instead … | |
+ - The ``:id`` field holds the filename of your post/page. | |
+ - Example: ``:id "2"`` will load file **data/2.md**. Use text instead … | |
- (See section: 'The **data/** Directory'.) | |
-- **:author** | |
- - The _:author_ field is used to display the article' author. | |
- - If you omit it, the generator will take the name from the **:webmaster*… | |
+- **:short** | |
+ - The ``:short`` field's value is used for displaying a really short d… | |
+ - If ``:short`` doesn't get a value, the full article gets displayed. | |
+ - Hint: Use ``:short "view the article for the full text"``, if you do… | |
- **:tag** | |
- - _:tag_ field is used to create a "view" containing all articles of the s… | |
- - MIND: Whitespaces are not allowed in(!) tags. | |
+ - ``:tag`` field is used to create a "view" containing all articles of the… | |
+ - MIND: Whitespaces are used to separate tags and are not allowed in(… | |
+- **:title** | |
+ - The ``:title`` field's value sets your post's title, its first headl… | |
## Howto Create A New Post | |
-Edit data/articles.lisp and add a new list to the *articles* variable: | |
+Edit **data/articles.lisp** and add a new list to the *articles* variable: | |
(list :title "How do I use cl-yag" | |
:id "2" | |
@@ -172,30 +172,30 @@ Edit data/articles.lisp and add a new list to the *articl… | |
:short "I will explain how to use the generator" | |
:tag "example help code") | |
-Then write a corresponding ``2.md`` file, using markdown. | |
+Then write a corresponding **data/2.md** file, using markdown. | |
+ | |
## Howto Publish A Post | |
I prepared a Makefile to facilitate the process of generating and | |
-publishing your static sites. | |
- | |
+publishing your static sites. | |
All you need to do in order to publish is to go into your cl-yag | |
-directory and type "make". | |
+directory and type ``make``. | |
-The 'make' command does create html and gopher files in the defined | |
-**output/** location (which can be a symbolic link pointing to some | |
-other directory, somewhere else on your machine). | |
+The make command creates html and gopher files in the defined location. | |
+The default is the **output/** directory, but you can use a symbolic link | |
+pointing to some other directory as well. | |
## Howto Add A New Page | |
You may want to have some dedicated pages besides the index or a post. | |
-To create one, edit the **generate-site** function in cl-yag's | |
-generator.lisp and add a function call, like this: | |
+To create one, edit the *generate-site* function in cl-yag's | |
+**generator.lisp** and add a function call, like this: | |
(generate "somepage.html" (load-file "data/mypage.html")) | |
-This will produce the file **somepage.html** in the output folder. | |
+This will produce **output/html/somepage.html**. | |
## Further Customization | |
@@ -204,66 +204,64 @@ This will produce the file **somepage.html** in the outpu… | |
cl-yags default Lisp interpreter is **sbcl**. | |
If you want to use a different lisp interpreter you need to set the | |
-variable 'LISP' to the name of your binary, when calling ``make``. | |
+variable *LISP* to the name of your binary, when calling ``make``: | |
- `make LISP=ecl` | |
+ make LISP=ecl | |
### Using git Hooks For Publishing | |
You may customize your publishing-process further, e.g. by using a git | |
-hook to call 'make' after each change in the repo so your website gets | |
-updated automatically. | |
+hook to call the make program after each change in the repo so your | |
+website gets updated automatically. | |
## Page-Includes | |
Here is an example code, if you want to include another page in the template: | |
-1. Create **template/panel.tpl** with the html you want to include. | |
-2. Add a string in the target file, where the replacement should occur. | |
- In this case, we choose **%%Panel%%** for a string, and, because we want th… | |
+1. Create **templates/panel.tpl** containing the html you want to include. | |
+2. Add a replacement-string in the target file, where the replacement should o… | |
+ In this case, we choose **%%Panel%%** for a string, and, because we want th… | |
3. Modify the function *generate-layout* in cl-yag's **generator.lisp** accord… | |
This is done by adding the following template function call: | |
- "**(template "%%Panel%%" (load-file "template/panel.tpl"))**" | |
- | |
-(Note: You can insert your text directly into the layout template file | |
-as well.) | |
+ (template "%%Panel%%" (load-file "templates/panel.tpl")) | |
+Another valid approach is to writer your html directly into **templates/layout… | |
## Known Limitations | |
### Use ~~ To Create ~ | |
-cl-yag crashes if you use a single "**~**" caracter inside one data | |
-structure in **articles.lisp** files, because Common Lisp employs the | |
-tilde as a prefix to indicate format specifiers in format strings. | |
+cl-yag crashes if you use a single "~" character inside | |
+**templates/articles.lisp**, because Common Lisp employs the tilde as a | |
+prefix to indicate format specifiers in format strings. | |
-In order to use a literal `~` - e.g. for creating a :title or :url | |
-reference - you have to **escape** the tilde **by duplicating** it: | |
-``~~``. | |
-(See _:url_ in section 'Configuration'). | |
+In order to use a literal `~` -- e.g. for creating a ``:title`` or | |
+``:url`` reference -- you have to *escape* the tilde *by | |
+duplicating* it: ``~~``. (See ``:url`` in section 'Configuration'). | |
### Posting Without Tagging | |
-cl-yag allows posts to be 'untagged'- but with the default template | |
-you'll get a line below your title that displays: "Tags: ". | |
+cl-yag allows posts without tags, but, using the default | |
+**templates/layout.tpl**, you'll get a line below your title that | |
+displays: "Tags: ". | |
(Note: If you are looking for a way to contribute this may be a task for you.) | |
### A Note On Themes | |
-Although cl-yag **may** ship with a **minimalistic** template, cl-yag | |
-focuses only on generating html- and gopher-compliant structural | |
-markup - not themed layouts. | |
+Although cl-yag may ship with a minimalistic template, cl-yag focuses | |
+on generating html- and gopher-compliant structural markup - not | |
+themed layouts. | |
If you want some deeply refined, cross-browser compatible, responsive, | |
-webscale style-sheet, you need to create it yourself. | |
-However, cl-yag will work nicely with it and if you want to make your | |
+webscale style sheets, you need to create them yourself. However, | |
+cl-yag will work nicely with them and if you want to make your | |
stylesheets a part of cl-yag you're very welcome to contact me. | |
@@ -275,4 +273,4 @@ If you want to contribute, feel free to contact me and/or t… | |
- If you are looking for a way to contribute: | |
- You could find a way to "sanitize" cl-yag's behaviour regarding the tild… | |
- Also see: 'Note' in 'Posting Without Tagging'; | |
- - Also see: 'A Note On Themes. | |
+ - Also see: 'A Note On Themes'. |