vladris / tinkerer

Python blogging engine
https://vladris.com/tinkerer
Other
305 stars 81 forks source link

Use tinkerer for a site (not a blog) #21

Closed rgaiacs closed 10 years ago

rgaiacs commented 11 years ago

IMHO, will be nice if can use tinkerer for write a site and not a blog. Do it must be "easy" since:

For the above part I can write a patch. But I can't figure it out how to stop tinkerer stop try to generate the blog home page, any help?

vladris commented 11 years ago

Tinkerer is a blogging engine, if you just want site generation, why not use Sphinx directly? That's pretty much what Sphinx does - it converts a bunch of RST files to a static website. The only addition Tinkerer brings is all the blogging logic (aggregating pages, tags and categories, comments, dates etc.). If you don't need these, you could just use Sphinx.

rgaiacs commented 11 years ago

Tinkerer is a blogging engine, if you just want site generation, why not use Sphinx directly?

You have a good point. But I like the blogging logic from Tinkerer (even for a website) and the themes.

vladris commented 11 years ago

I see. Well, I don't think I would pull a patch for this, but you can always fork Tinkerer and tweak it for your scenario. The index.html is generated by the aggregator.py extension. This aggregates posts by 10 and puts them in index.html, page2.html and so on. You can try unhooking the extension altogether from blog.py and reference a custom index.rst in master.rst.

shon commented 10 years ago

I think there is valid point in index as page (optionally). I agree on Tinkerer is and should remain primarily blogging engine. It does it well however often bloggers want landing page to be different that blog post. Many a blogging engines do support that.

+1 from me and thanks for Tinkerer. It just works!

gdementen commented 10 years ago

I would also like to see a more customizable index page. More specifically: 1) be able to change the "Home" string (to something like "News" for example) 2) be able to set its position in the pages list. For the website I am currently doing using Tinkerer, I had to change the code to have it as the second page, whereas the "landing" page is "About".

bmcorser commented 10 years ago

:+1: For optional "splash" page.

For now, I am using this elegant shell workaround:

tinker --build && mv blog/html/index.html blog/html/blog.html && \
cp blog/html/pages/projects.html blog/html/index.html && \
find blog/html -name '*.html' | xargs sed -i 's/index.html/blog.html/g'
vladris commented 10 years ago

FYI, I'm looking into this. See ebbe133f71f1e27173d39c0ee3fb614066cc1b46.

Current thinking: add landing_page setting in conf.py, eg. landing_page = "about" (you should also have an about page under /pages). As long as landing_page is set, the first page of aggregated posts will move from index.html to page1.html and index.html will instead become a redirect to the specified landing page.

vladris commented 10 years ago

Also added first_page_title setting to change the title of "Home" if needed. This should be enough to cover the landing page scenario. I will roll these out with the next release of Tinkerer.

vladris commented 10 years ago

Resolving this since new release has ability to override both landing page and "Home" string.