Multipage Blog Dev Notes
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 is a sample personal blog (that is multi-page), see:
https://bird.org/tbwiki/TimsBlog
To Do [edit section]
- 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
- **1** create preview page
- Make it look like Jeff Geerling's blog
- 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)
- make a sidebar page for the test blog
- 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_
- page name would be: comment_for_Test_blog_2025-10-11_22:50:27.11_on_2025-10-12_8:45:23.02
- 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
- leaning towards each comment its own page
- have each comment be its own page? or all comments on one talk page?
- 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)
- add 'return to Blog' on page showing 'saved' on a page edit
done [edit section]
- 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]
Storage/Format [edit section]
- 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]
- nicer Blog layout
- sidebar with navigation
- recent posts
- categories
- search bar
- tags
- page with background, layout, blog css
- sidebar with navigation
- use graphics instead of characters for navigation arrows
- customizable background image
Comments [edit section]
- 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
- navigation to previous and next posts
- response area
- show threaded responses with "reply" button on each one
- response form with "post comment button
- response area
- show date, tags, response count
- ability to drag and drop images to upload to wiki
Features that are not done yet [edit section]
Ideas and references [edit section]
Blogs that I like the look of [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
Blog idea resources [edit section]
- (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]
Here are some details about ProcessorMultipageBlog.
page names [edit section]
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
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]
Comments are saved on the talk page for a blog page, and will thus 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]
Here is a sample page from a blog, showing the meta-data format.Note that a page can be edited as a wiki page.
---- ; 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]
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.
TBD
processor arguments [edit section]
- 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]
- 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
Categories: Features|Blog