|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732 |
- <!DOCTYPE html>
- <html>
- <meta charset="utf-8">
- <head>
- <style>
- #header
- {
- background: #856d51;
- padding: 0.7em;
- text-align: left;
- }
-
- #header a
- {
- color: white;
- text-decoration: none;
- padding: 0.5em 1em 0.5em 1em;
- }
- #title
- {
- color: #433729;
- }
- html
- {
- font-family: sans-serif;
- }
- body
- {
- line-height: 1.5em;
- }
- body
- {
- background: #FAFAFA;
- }
- table
- {
- border-collapse: collapse;
- width: 100%;
- }
-
- table, th, td
- {
- border: 1px solid #aaa;
- padding: 0.5em;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
- }
- code, pre
- {
- font-family: monospace, serif;
- font-size: 1em;
- color: #7f0a0c;
- background: #f5f5f5;
- white-space: pre-wrap;
- }
- video
- {
- width: 100%;
- }
- .contents
- {
- background: #FFFFFF;
- width: 720px;
- padding: 1em;
- margin-top: 2em;
- margin-bottom: 2em;
- border: 1px solid #E0E0E0;
- text-align: left;
- color: #444;
- }
- #footer
- {
- text-align: center;
- }
- #lang
- {
- float: right;
- }
- </style>
- <title>
- PSKOV
- </title>
- </head>
- <body>
- <div id="header">
- <strong id="title">PSKOV</strong>
- <a href="pskov_1.0.0.html">Tool</a>
- <a href="education.html">Education</a>
- <div id="lang">
- <a href="../en/education.05.blog.html">EN</a>
- <a href="../ru/education.05.blog.html">RU</a>
- </div>
- </div>
- <center><h1>
- Education: 05. Blog
- </h1></center>
- <center><div class="contents">
- <table>
- <thead>
- <tr>
- <th>< Back</th>
- <th>Index</th>
- <th>Next ></th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><a href="education.04.lang.html">04. Language</a></td>
- <td><a href="education.html">Education</a></td>
- <td>Not available</td>
- </tr>
- </tbody>
- </table>
- <p></div><div class="contents"></p>
- <p>In this document we create "dynamic" pages for a blog.</p>
- <p>Estimated completion time: 20 minutes.</p>
- <p><strong>Table of contents</strong></p>
- <ul>
- <li><a href="#blog">01. Blog</a></li>
- <li><a href="#cfg">02. Investigate <code>pskov.cfg</code> file</a></li>
- <li><a href="#item">03. Investigate item templates of the blog</a></li>
- <li><a href="#preview">04. Investigate preview templates</a></li>
- <li><a href="#index">05. Investigate templates of preview pages</a></li>
- <li><a href="#pagination">06. Investigate pagination templates</a></li>
- <li><a href="#md">07. Investigate Markdown files</a></li>
- <li><a href="#lfsa">08. Launch LFSA</a></li>
- <li><a href="#gen">09. Generate the site</a></li>
- <li><a href="#observe">10. Observe the site</a></li>
- <li><a href="#summary">11. Summary</a></li>
- </ul>
- <p><a name="blog"/></p>
- <h2 id="01blog">01. Blog</h2>
- <p>So, you have your web site in both English and Russian. You start to feel the need to regularly share your thoughts with the world as blog posts.</p>
- <p>You set on to create the following <a href="https://github.com/OGStudio/site-pskov-sample/tree/master/03.Blog">directory structure</a>:</p>
- <ul>
- <li><code>pskov.cfg</code></li>
- <li><code>en/blog/</code><ul>
- <li><code>item.template</code></li>
- <li><code>index.template</code></li>
- <li><code>preview.template</code></li>
- <li><code>pagination.template</code></li>
- <li><code>pagination.prev.template</code></li>
- <li><code>pagination.next.template</code></li>
- <li><code>1885.md</code></li>
- <li><code>1886.01.md</code></li>
- <li><code>1886.02.md</code></li>
- <li><code>1887.01.md</code></li>
- <li><code>1887.02.md</code></li>
- <li><code>1888.md</code></li>
- <li><code>1896.md</code></li>
- <li><code>1899.md</code></li></ul></li>
- <li><code>en/page/</code><ul>
- <li><code>item.template</code></li>
- <li><code>about.md</code></li>
- <li><code>cv.md</code></li></ul></li>
- <li><code>ru/blog/</code><ul>
- <li><code>item.template</code></li>
- <li><code>index.template</code></li>
- <li><code>preview.template</code></li>
- <li><code>pagination.template</code></li>
- <li><code>pagination.prev.template</code></li>
- <li><code>pagination.next.template</code></li>
- <li><code>1885.md</code></li>
- <li><code>1886.01.md</code></li>
- <li><code>1886.02.md</code></li>
- <li><code>1887.01.md</code></li>
- <li><code>1887.02.md</code></li>
- <li><code>1888.md</code></li>
- <li><code>1896.md</code></li>
- <li><code>1899.md</code></li></ul></li>
- <li><code>ru/page/</code><ul>
- <li><code>item.template</code></li>
- <li><code>about.md</code></li>
- <li><code>cv.md</code></li></ul></li>
- </ul>
- <p>Let's look at the contents of these files closer.</p>
- <p><a name="cfg"/></p>
- <h2 id="02investigatepskovcfgfile">02. Investigate <code>pskov.cfg</code> file</h2>
- <p><code>pskov.cfg</code> file has the following contents:</p>
- <pre><code>input = en/page;ru/page;en/blog;ru/blog
- item = item.template
- preview = preview.template
- index = index.template
- paginationPrev = pagination.prev.template
- paginationNext = pagination.next.template
- paginationPrevNext = pagination.template
- previewSize = 200
- previewEnding = . . .
- previewsPerPage = 3
- previewPageBaseName = index
- </code></pre>
- <p>You already met <code>input</code> and <code>item</code> keys. Let's see into new ones:</p>
- <table>
- <thead>
- <tr>
- <th>Key</th>
- <th>Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><code>preview</code></td>
- <td>Points to an HTML template that is used to generate HTML preview out of the first <code>previewSize</code> (approximately) characters for each Markdown file</td>
- </tr>
- <tr>
- <td><code>index</code></td>
- <td>Points to an HTML template that is used to generate preview page to host previews</td>
- </tr>
- <tr>
- <td><code>paginationPrev</code></td>
- <td>Points to an HTML template that is used to generate pagination section to navigate backwards</td>
- </tr>
- <tr>
- <td><code>paginationNext</code></td>
- <td>Points to an HTML template that is used to generate pagination section to navigate forward</td>
- </tr>
- <tr>
- <td><code>paginationPrevNext</code></td>
- <td>Points to an HTML template that is used to generate pagination section</td>
- </tr>
- <tr>
- <td><code>previewSize</code></td>
- <td>How many characters (approximately) to take out of a Markdown file to generate a preview</td>
- </tr>
- <tr>
- <td><code>previewEnding</code></td>
- <td>String to use at the end of each preview</td>
- </tr>
- <tr>
- <td><code>previewsPerPage</code></td>
- <td>Maximum number of previews hosted by a preview page</td>
- </tr>
- <tr>
- <td><code>previewsPageBaseName</code></td>
- <td>Base file name for preview pages</td>
- </tr>
- </tbody>
- </table>
- <p>In our case:</p>
- <ul>
- <li>we restrict previews to <code>200</code> characters in size (approximately)</li>
- <li>we use <code>. . .</code> string at the end of each preview</li>
- <li>preview pages host <code>3</code> previews maximum</li>
- <li>preview pages are saved as <code>index.html</code>, <code>index2.html</code>, <code>index3.html</code>, etc.</li>
- </ul>
- <p><a name="item"/></p>
- <h2 id="03investigateitemtemplatesoftheblog">03. Investigate item templates of the blog</h2>
- <ul>
- <li><p><code>en/blog/item.template</code> contents:</p>
- <pre><code>- - - - Collapsed for brevity - - - -
- <body>
- <div id="header">
- <strong>Serov</strong>
- <a href="../../en/blog/index.html">Blog</a>
- <a href="../../en/page/about.html">About me</a>
- <a href="../../en/page/cv.html">CV</a>
- <div id="lang">
- <a href="../../en/blog/PSKOV_ITEM_URL">EN</a>
- <a href="../../ru/blog/PSKOV_ITEM_URL">RU</a>
- </div>
- </div>
- <center>
- <h1>In the blog...</h1>
- <div class="contents">
- <h2 class="itemTitle">
- <a href="PSKOV_ITEM_URL">PSKOV_ITEM_TITLE</a>
- </h2>
- <p class="itemDate">PSKOV_ITEM_DATE</p>
- PSKOV_ITEM_CONTENTS
- </div>
- <div id="footer">
- This sample web site has been generated by <a href="http://opengamestudio.org/pskov">PSKOV</a>.
- </div>
- </center>
- </body>
- - - - - Collapsed for brevity - - - -
- </code></pre></li>
- <li><p><code>ru/blog/item.template</code> contents:</p>
- <pre><code>- - - - Collapsed for brevity - - - -
- <body>
- <div id="header">
- <strong>Серов</strong>
- <a href="../../ru/blog/index.html">Блог</a>
- <a href="../../ru/page/about.html">Обо мне</a>
- <a href="../../ru/page/cv.html">Резюме</a>
- <div id="lang">
- <a href="../../en/blog/PSKOV_ITEM_URL">EN</a>
- <a href="../../ru/blog/PSKOV_ITEM_URL">RU</a>
- </div>
- </div>
- <center>
- <h1>В блоге...</h1>
- <div class="contents">
- <h2 class="itemTitle">
- <a href="PSKOV_ITEM_URL">PSKOV_ITEM_TITLE</a>
- </h2>
- <p class="itemDate">PSKOV_ITEM_DATE</p>
- PSKOV_ITEM_CONTENTS
- </div>
- <div id="footer">
- Этот пример сайта сгенерирован <a href="http://opengamestudio.org/pskov">ПСКОВОМ</a>.
- </div>
- </center>
- </body>
- - - - - Collapsed for brevity - - - -
- </code></pre></li>
- </ul>
- <p><strong>Note</strong>: beginning and ending were collapsed for brevity.</p>
- <p>As you can see, both files look similar to <code>item.template</code> files we saw <a href="education.04.lang.html">before</a>.</p>
- <p>The changes include:</p>
- <ul>
- <li>new URLs to reference pages in <code>page</code> directory and the first preview page in <code>blog</code> directory</li>
- <li>title is referenced inside <code>contents</code> section as a link pointing to a complete blog post</li>
- <li>date is referenced to highlight relationship among different blog posts in time</li>
- </ul>
- <p>Date reference uses new <code>PSKOV_ITEM_DATE</code> constant:</p>
- <table>
- <thead>
- <tr>
- <th>PSKOV constant</th>
- <th>Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><code>PSKOV_ITEM_DATE</code></td>
- <td>Value of <code>Date</code> key of the page's Markdown file</td>
- </tr>
- </tbody>
- </table>
- <p><a name="preview"/></p>
- <h2 id="04investigatepreviewtemplates">04. Investigate preview templates</h2>
- <ul>
- <li><p><code>en/blog/preview.template</code> contents:</p>
- <pre><code><div class="contents">
- <h2 class="itemTitle">
- <a href="PSKOV_ITEM_URL">PSKOV_ITEM_TITLE</a>
- </h2>
- <p class="itemDate">PSKOV_ITEM_DATE</p>
- PSKOV_PREVIEW
- <div class="itemMore">
- <a href="PSKOV_ITEM_URL">Continue reading</a>
- </div>
- </div>
- </code></pre></li>
- <li><p><code>ru/blog/preview.template</code> contents:</p>
- <pre><code><div class="contents">
- <h2 class="itemTitle">
- <a href="PSKOV_ITEM_URL">PSKOV_ITEM_TITLE</a>
- </h2>
- <p class="itemDate">PSKOV_ITEM_DATE</p>
- PSKOV_PREVIEW
- <div class="itemMore">
- <a href="PSKOV_ITEM_URL">Читать дальше</a>
- </div>
- </div>
- </code></pre></li>
- </ul>
- <p>Previews have no <code><head></code>, <code><body></code>, and similar full page HTML tags. Previews represent sections inserted into preview pages.</p>
- <p>Preview itself is referenced by <code>PSKOV_PREVIEW</code> constant:</p>
- <table>
- <thead>
- <tr>
- <th>PSKOV constant</th>
- <th>Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><code>PSKOV_PREVIEW</code></td>
- <td>Provides contents of a Markdown file limited by <code>previewSize</code> characters (approximately)</td>
- </tr>
- </tbody>
- </table>
- <p><a name="index"/></p>
- <h2 id="05investigatetemplatesofpreviewpages">05. Investigate templates of preview pages</h2>
- <ul>
- <li><p><code>en/blog/index.template</code> contents:</p>
- <pre><code>- - - - Collapsed for brevity - - - -
- <body>
- <div id="header">
- <strong>Serov</strong>
- <a href="../../en/blog/index.html">Blog</a>
- <a href="../../en/page/about.html">About me</a>
- <a href="../../en/page/cv.html">CV</a>
- <div id="lang">
- <a href="../../en/blog/PSKOV_INDEX_URL">EN</a>
- <a href="../../ru/blog/PSKOV_INDEX_URL">RU</a>
- </div>
- </div>
- <center>
- <h1>Blog</h1>
- PSKOV_PREVIEWS
- PSKOV_PAGINATION
- <div id="footer">
- This sample web site has been generated by <a href="http://opengamestudio.org/pskov">PSKOV</a>.
- </div>
- </center>
- </body>
- - - - - Collapsed for brevity - - - -
- </code></pre></li>
- <li><p><code>ru/blog/index.template</code> contents:</p>
- <pre><code>- - - - Collapsed for brevity - - - -
- <body>
- <div id="header">
- <strong>Серов</strong>
- <a href="../../ru/blog/index.html">Блог</a>
- <a href="../../ru/page/about.html">Обо мне</a>
- <a href="../../ru/page/cv.html">Резюме</a>
- <div id="lang">
- <a href="../../en/blog/PSKOV_INDEX_URL">EN</a>
- <a href="../../ru/blog/PSKOV_INDEX_URL">RU</a>
- </div>
- </div>
- <center>
- <h1>Блог</h1>
- PSKOV_PREVIEWS
- PSKOV_PAGINATION
- <div id="footer">
- Этот пример сайта сгенерирован <a href="http://opengamestudio.org/pskov">ПСКОВОМ</a>.
- </div>
- </center>
- </body>
- - - - - Collapsed for brevity - - - -
- </code></pre></li>
- </ul>
- <p><strong>Notes</strong>:</p>
- <ul>
- <li>beginning and ending were collapsed for brevity</li>
- <li><code>PSKOV_INDEX_URL</code> constant is used to provide language selection</li>
- </ul>
- <p>Here are new <strong>PSKOV</strong> constants explained:</p>
- <table>
- <thead>
- <tr>
- <th>PSKOV constant</th>
- <th>Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><code>PSKOV_INDEX_URL</code></td>
- <td>Provides generated preview page file name: <code><previewsPageBaseName><id>.html</code></td>
- </tr>
- <tr>
- <td><code>PSKOV_PREVIEWS</code></td>
- <td>Provides a set of previews</td>
- </tr>
- <tr>
- <td><code>PSKOV_PAGINATION</code></td>
- <td>Provides pagination section to navigate preview pages</td>
- </tr>
- </tbody>
- </table>
- <p><a name="pagination"/></p>
- <h2 id="06investigatepaginationtemplates">06. Investigate pagination templates</h2>
- <p>Pagination templates represent HTML sections to navigate preview pages.</p>
- <p>There are free pagination templates:</p>
- <table>
- <thead>
- <tr>
- <th>Pagination template</th>
- <th>Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>Previous</td>
- <td>A visitor can only go backwards</td>
- </tr>
- <tr>
- <td>Next</td>
- <td>A visitor can only go forward</td>
- </tr>
- <tr>
- <td>Both</td>
- <td>A visitor can either go backwards, or forward</td>
- </tr>
- </tbody>
- </table>
- <p>Let's look at English pagination templates:</p>
- <ul>
- <li><p><code>en/blog/pagination.prev.template</code> contents:</p>
- <pre><code><p>Page PSKOV_PAGE_ID of PSKOV_PAGES_COUNT</p>
- <p>
- <a href="PSKOV_PREV_PAGE_URL">« Newer</a>
- </p>
- </code></pre></li>
- <li><p><code>en/blog/pagination.next.template</code> contents:</p>
- <pre><code><p>Page PSKOV_PAGE_ID of PSKOV_PAGES_COUNT</p>
- <p>
- <a href="PSKOV_NEXT_PAGE_URL">Older »</a>
- </p>
- </code></pre></li>
- <li><p><code>en/blog/pagination.template</code> contents:</p>
- <pre><code><p>Page PSKOV_PAGE_ID of PSKOV_PAGES_COUNT</p>
- <p>
- <a href="PSKOV_PREV_PAGE_URL">« Newer</a>
- <a href="PSKOV_NEXT_PAGE_URL">Older »</a>
- </p>
- </code></pre></li>
- </ul>
- <p>Russian counterparts look similar. Here's <code>ru/blog/pagination.template</code> contents:</p>
- <pre><code><p>Страница PSKOV_PAGE_ID из PSKOV_PAGES_COUNT</p>
- <p>
- <a href="PSKOV_PREV_PAGE_URL">« Новее</a>
- <a href="PSKOV_NEXT_PAGE_URL">Старее »</a>
- </p>
- </code></pre>
- <p>Here are new <strong>PSKOV</strong> constants we used:</p>
- <table>
- <thead>
- <tr>
- <th>PSKOV constant</th>
- <th>Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><code>PSKOV_PAGE_ID</code></td>
- <td>Provides preview page id starting from <code>1</code></td>
- </tr>
- <tr>
- <td><code>PSKOV_PAGES_COUNT</code></td>
- <td>Provides total number of generated preview pages</td>
- </tr>
- <tr>
- <td><code>PSKOV_PREV_PAGE_URL</code></td>
- <td>Provides previous preview page file name</td>
- </tr>
- <tr>
- <td><code>PSKOV_NEXT_PAGE_URL</code></td>
- <td>Provides next preview page file name</td>
- </tr>
- </tbody>
- </table>
- <p><a name="md"/></p>
- <h2 id="07investigatemarkdownfiles">07. Investigate Markdown files</h2>
- <p>Markdown files represent blog posts and they look almost like Markdown files for pages. Here's <code>en/blog/1885.md</code> contents:</p>
- <pre><code> Title: Bullocks
- Date: 1885
- Slug: 1885.01.bullocks
-
- ![Bullocks][bullocks]
-
- I've been painting "Bullocks" sketch while I was staying in Odessa at Kuznetsov's in 1885.
-
- [bullocks]: https://upload.wikimedia.org/wikipedia/commons/c/cb/Walentin_Aleksandrovich_Serov_Bullocks.jpg
- </code></pre>
- <p>Date is used to sort blog posts by date in descending order:</p>
- <table>
- <thead>
- <tr>
- <th>Header key</th>
- <th>Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><code>Date</code></td>
- <td>Provides value for <code>PSKOV_ITEM_DATE</code> constant when generating HTML out of Markdown</td>
- </tr>
- </tbody>
- </table>
- <p><a name="lfsa"/></p>
- <h2 id="08launchlfsa">08. Launch LFSA</h2>
- <video controls poster="../vid/education.05.blog.launch-lfsa.edgy.poster.png">
- <source src="../vid/education.05.blog.launch-lfsa.edgy.mp4" type ="video/mp4">
- <source src="../vid/education.05.blog.launch-lfsa.edgy.webm" type ="video/webm">
- ERROR Your browser does not support HTML5 video
- </video>
- <p>Launch <a href="http://opengamestudio.org/lfsa">LFSA</a> so that it points to directory with the files we just observed:</p>
- <pre><code>$ /path/to/lfsa_1.0.0.py /path/to/dir/03.Blog
- </code></pre>
- <p><a name="gen"/></p>
- <h2 id="09generatethesite">09. Generate the site</h2>
- <video controls poster="../vid/education.05.blog.gen.edgy.poster.png">
- <source src="../vid/education.05.blog.gen.edgy.mp4" type ="video/mp4">
- <source src="../vid/education.05.blog.gen.edgy.webm" type ="video/webm">
- ERROR Your browser does not support HTML5 video
- </video>
- <p>Go to <a href="http://opengamestudio.org/pskov">Tool</a> page and press <code>Generate</code> button to generate HTML files right where Markdown ones reside.</p>
- <p><a name="observe"/></p>
- <h2 id="10observethesite">10. Observe the site</h2>
- <video controls poster="../vid/education.05.blog.observe.edgy.poster.png">
- <source src="../vid/education.05.blog.observe.edgy.mp4" type ="video/mp4">
- <source src="../vid/education.05.blog.observe.edgy.webm" type ="video/webm">
- ERROR Your browser does not support HTML5 video
- </video>
- <p>Observe generated web site locally by opening <code>en/blog/index.html</code> or <code>ru/blog/index.html</code> and navigating preview pages.</p>
- <p><a name="summary"/></p>
- <h2 id="11summary">11. Summary</h2>
- <p>You have successfully generated a web site with "dynamic" blog posts. <a href="http://opengamestudio.org/pskov/sample/03.Blog/en/blog/index.html">Check out the result</a>.</p>
- <p>Introduced PSKOV constants include:</p>
- <table>
- <thead>
- <tr>
- <th>PSKOV constant</th>
- <th>Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><code>PSKOV_ITEM_DATE</code></td>
- <td>Value of <code>Date</code> key of the page's Markdown file</td>
- </tr>
- <tr>
- <td><code>PSKOV_PREVIEW</code></td>
- <td>Provides contents of a Markdown file limited by <code>previewSize</code> characters (approximately)</td>
- </tr>
- <tr>
- <td><code>PSKOV_INDEX_URL</code></td>
- <td>Provides generated preview page file name: <code><previewsPageBaseName><id>.html</code></td>
- </tr>
- <tr>
- <td><code>PSKOV_PREVIEWS</code></td>
- <td>Provides a set of previews</td>
- </tr>
- <tr>
- <td><code>PSKOV_PAGINATION</code></td>
- <td>Provides pagination section to navigate preview pages</td>
- </tr>
- <tr>
- <td><code>PSKOV_PAGE_ID</code></td>
- <td>Provides preview page id starting from <code>1</code></td>
- </tr>
- <tr>
- <td><code>PSKOV_PAGES_COUNT</code></td>
- <td>Provides total number of generated preview pages</td>
- </tr>
- <tr>
- <td><code>PSKOV_PREV_PAGE_URL</code></td>
- <td>Provides previous preview page file name</td>
- </tr>
- <tr>
- <td><code>PSKOV_NEXT_PAGE_URL</code></td>
- <td>Provides next preview page file name</td>
- </tr>
- </tbody>
- </table>
- <p>Introduced configuration keys include:</p>
- <table>
- <thead>
- <tr>
- <th>Key</th>
- <th>Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><code>preview</code></td>
- <td>Points to an HTML template that is used to generate HTML preview out of the first <code>previewSize</code> (approximately) characters for each Markdown file</td>
- </tr>
- <tr>
- <td><code>index</code></td>
- <td>Points to an HTML template that is used to generate preview page to host previews</td>
- </tr>
- <tr>
- <td><code>paginationPrev</code></td>
- <td>Points to an HTML template that is used to generate pagination section to navigate backwards</td>
- </tr>
- <tr>
- <td><code>paginationNext</code></td>
- <td>Points to an HTML template that is used to generate pagination section to navigate forward</td>
- </tr>
- <tr>
- <td><code>paginationPrevNext</code></td>
- <td>Points to an HTML template that is used to generate pagination section</td>
- </tr>
- <tr>
- <td><code>previewSize</code></td>
- <td>How many characters (approximately) to take out of a Markdown file to generate a preview</td>
- </tr>
- <tr>
- <td><code>previewEnding</code></td>
- <td>String to use at the end of each preview</td>
- </tr>
- <tr>
- <td><code>previewsPerPage</code></td>
- <td>Maximum number of previews hosted by a preview page</td>
- </tr>
- <tr>
- <td><code>previewsPageBaseName</code></td>
- <td>Base file name for preview pages</td>
- </tr>
- </tbody>
- </table>
- <p>Introduced header keys include:</p>
- <table>
- <thead>
- <tr>
- <th>Header key</th>
- <th>Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><code>Date</code></td>
- <td>Provides value for <code>PSKOV_ITEM_DATE</code> constant when generating HTML out of Markdown</td>
- </tr>
- </tbody>
- </table>
- <p>This was the final document to make you proficient in generating static sites with <strong>PSKOV</strong>. If you like what we do, join us at <a href="https://vk.com/opengamestudo">VK</a>, <a href="https://twitter.com/OpenGameStudio">Twitter</a>, or <a href="https://www.facebook.com/groups/162611230470183">Facebook</a>.</p>
- <p>Now use <strong>PSKOV</strong> to generate your very own web site!</p>
- <p></div><div class="contents"></p>
- <table>
- <thead>
- <tr>
- <th>< Back</th>
- <th>Index</th>
- <th>Next ></th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><a href="education.04.lang.html">04. Language</a></td>
- <td><a href="education.html">Education</a></td>
- <td>Not available</td>
- </tr>
- </tbody>
- </table>
- </div></center>
- <div id="footer">
- The site has been generated by <a href="http://opengamestudio.org/pskov">PSKOV</a>
- from <a href="http://github.com/ogstudio/site-pskov">this source code</a>.
- The site is hosted by <a href="https://pages.github.com">GitHub Pages</a>.
- </div>
- <script type="text/javascript">
- </script>
- </body>
- </html>
-
|