FrontPage 

TB Wiki

Login

Multipage Blog Dev Notes in split format

{{TableOfContents}}
Here are things I am working on finishing for the MultipageBlog feature.
Here are things I am working on finishing for the MultipageBlog feature.
Here are the test blogs: * test:TestBlog - single-page * test:TestProcessorMultipageBlog - multi-page
Here are the test blogs: * [[https://bird.org/test/TestBlog|test:TestBlog]] - single-page * [[http://bird.org/test/TestProcessorMultipageBlog|test:TestProcessorMultipageBlog]] - multi-page
Here is a sample personal blog (that is multi-page), see: https://bird.org/tbwiki/TimsBlog
Here is a sample personal blog (that is multi-page), see: [[https://bird.org/tbwiki/TimsBlog]]

To Do [edit section]

= To Do = * Layout:   - Make it look like Jeff Geerling's blog     - **1** ''' ''create preview page'' '''       - blog page is a single-column list of shortened blog entries     - link takes you to an individual blog entry     - entry page:       - title, date, content, comments, search bar * Housekeeping:   - make a sidebar page for the test blog     - define default sidebar (show most recent 3 blog entries as a linked list, excluding the current entry)
  • Features: - make a default sidebar, if no sidebar page is provided - don't show the entry edit link if user does not match the entry author
 * Features:   - make a default sidebar, if no sidebar page is provided   - don't show the entry edit link if user does not match the entry author
  • create comment section - have each comment be its own page? or all comments on one talk page? - leaning towards each comment its own page - page name would be: comment_for_Test_blog_2025-10-11_22:50:27.11_on_2025-10-12_8:45:23.02 - prefix is comment_for_ - separator is _on_ - all on one page: - page name would be: Talk:Test_blog_2025-10-11_22:50:27.11 - either parse a single page into a complex (threaded) display - or parse multiple pages into a complex (threaded) display
   - create comment section     - have each comment be its own page? or all comments on one talk page?       - leaning towards each comment its own page         - page name would be: comment_for_Test_blog_2025-10-11_22:50:27.11_on_2025-10-12_8:45:23.02           - prefix is comment_for_           - separator is _on_       - all on one page:         - page name would be: Talk:Test_blog_2025-10-11_22:50:27.11       - either parse a single page into a complex (threaded) display       - or parse multiple pages into a complex (threaded) display
  • Fix bugs: - blog entry list shows last entry first and last in list
 * Fix bugs:   - blog entry list shows last entry first and last in list
  • Niceties: (nice to have items) - add 'return to Blog' on page showing 'saved' on a page edit - see 'save' action in tbwiki_engine.py - add a 'share' button, with a fixed url for accessing a blog entry in blog context (not using entry number, which will change over time)
 * Niceties: (nice to have items)   - add 'return to Blog' on page showing 'saved' on a page edit     - see 'save' action in tbwiki_engine.py   - add a 'share' button, with a fixed url for accessing a blog entry     in blog context (not using entry number, which will change over time)

done [edit section]

== done == * 2025-10-11 - by default, show pages in reverse chronological order * 2025-10-11 - add instructions to Blog entry form   - markdown help, and tags field help (use commas for separators) * 2025-10-11 - rename ProcessorBlogMultipage to ProcessorMultipageBlog

Features I want the blog to have [edit section]

= Features I want the blog to have =

Storage/Format [edit section]

== Storage/Format ==  * use individual pages for each post    * Each page has a header with fixed data fields, and then the blog content    * The talk page has    * the page name has the format: 

Layout [edit section]

== Layout ==   * nicer Blog layout     * sidebar with navigation       * recent posts       * categories       * search bar       * tags     * page with background, layout, blog css
  • use graphics instead of characters for navigation arrows * customizable background image
   * use graphics instead of characters for navigation arrows   * customizable background image

Comments [edit section]

== Comments == * support for comments   * all-in-one - use talk page, with indentation for nesting
  • create add-post form * page schema has title, content, date, tags, id
   * create add-post form     * page schema has title, content, date, tags, id
  • navigation to previous and next posts * response area * show threaded responses with "reply" button on each one * response form with "post comment button
 * navigation to previous and next posts   * response area     * show threaded responses with "reply" button on each one     * response form with "post comment button
  • show date, tags, response count
 * show date, tags, response count
  • ability to drag and drop images to upload to wiki
 * ability to drag and drop images to upload to wiki

Features that are not done yet [edit section]

== Features that are not done yet ==

Ideas and references [edit section]

https://www.jeffgeerling.com/blog/2025/how-much-radiation-can-pi-handle-space * https://borretti.me/article/unbundling-tools-for-thought * https://caseyhandmer.wordpress.com/ * obviously, this is a wordpress blog * https://idlewords.com/ * https://daniel.haxx.se/blog/2025/10/10/ * https://pebblebed.com/blog/kernel-bugs - simple and effective * and https://pebblebed.com/blog
= Ideas and references === Blogs that I like the look of == * https://www.jeffgeerling.com/blog/2025/how-much-radiation-can-pi-handle-space * https://borretti.me/article/unbundling-tools-for-thought * https://caseyhandmer.wordpress.com/   * obviously, this is a wordpress blog * https://idlewords.com/ * https://daniel.haxx.se/blog/2025/10/10/ * https://pebblebed.com/blog/kernel-bugs - simple and effective   * and https://pebblebed.com/blog

Blog idea resources [edit section]

https://borretti.me/article/unbundling-tools-for-thought * https://jekyllrb.com/docs/posts/ * See https://bird.org/tbwiki/Blog_Layouts_and_Features
== Blog idea resources == * (read this first) https://borretti.me/article/unbundling-tools-for-thought * https://jekyllrb.com/docs/posts/ * See https://bird.org/tbwiki/Blog_Layouts_and_Features

design details for ProcessorMultipageBlog [edit section]

= design details for ProcessorMultipageBlog =
Here are some details about ProcessorMultipageBlog.
Here are some details about ProcessorMultipageBlog.

page names [edit section]

== page names ==blog pages consist of a prefix, and a date and time stamp.
Here are some example page names: * Test_blog_2023-03-31_11:12:34 * Space_blog_2023-04-03_15:21:56
Here are some example page names: * Test_blog_2023-03-31_11:12:34 * Space_blog_2023-04-03_15:21:56
Note that '_blog_' is not required. It is a convention to use'_blog_' in the prefix of the blog page name, though.
Note that '_blog_' is not required.  It is a convention to use'_blog_' in the prefix of the blog page name, though.

discussion page names [edit section]

== discussion page names ==Comments are saved on the talk page for a blog page, and willthus have names like:  * Talk:Test_blog_2023-03-31_11:12:34  * Talk:Space_blog_2023-04-03_15:21:56

meta data format [edit section]

== meta data format ==Here is a sample page from a blog, showing the meta-data format.
Note that a page can be edited as a wiki page.{{{#!YellowBox----; Subject: Blog entry title; Date: 2023-03-31_11:12:34; Tags: test, blog, first; Author: tbird----Blog entry content * in tbwiki Markdown!!Hurray!}}}
Note that a page can be edited as a wiki page.{{{#!YellowBox----; Subject: Blog entry title; Date: 2023-03-31_11:12:34; Tags: test, blog, first; Author: tbird----Blog entry content * in ''tbwiki'' Markdown!!Hurray!}}}

meta data format for discussion pages [edit section]

== meta data format for discussion pages ==Here is a sample page from a blog, showing the discussion meta-data format.
Note that a page can be edited as a wiki page.{{{#!YellowBlockTBD}}}
Note that a page can be edited as a wiki page.{{{#!YellowBlock'''TBD'''}}}

processor arguments [edit section]

== processor arguments == * prefix=<page_prefix> - a string indicating the prefix for the set of pages that make up the blog * title - blog title * sidebar=<sidebar_page_name> - the name of the wiki page which has the sidebar definition * entries_to_show=x - number of entries to show (default is 5) * show_standalone=1 - show page without wiki decorations * show_edit_link=1 - show a link to edit the entry * background_image - filename of background image * show_entry_list=1 - show a list of entries, rather than the blog itself

processor actions [edit section]

== processor actions == * show_entry_form - used to show the edit form for creating a new blog entry * add_entry - used to save a new blog entry * main - show the blog
{{Category(Features|Blog)}}
Categories: Features|Blog
TBWiki engine 2.0.1 by Tim Bird