9 ms·
I'd like to see one of these clones that more closely resembles the static site generators like Jekyll (http://jekyllrb.com/ http://jekyllrb.com/) or Hyde (http
by jsherer 15y ago
I'd like to see one of these clones that more closely resembles the static site generators like Jekyll (http://jekyllrb.com/ http://jekyllrb.com/) or Hyde (http://ringce.com/hyde http://ringce.com/hyde). Basically, the CMS would just be the interface to create new and manage existing content. It would have the standard static publish function that builds out the pages of the blog as HTML.
(NOTE: "Simple" is not my project)
- siong1987 15y agoThen, it is not going to be as static as as static site generators like Jekyll or Hype. One good thing about those sites are that you don't have to serve those static sites from any hosting without any dynamic generation of the web pages. But, with the feature you request, then, it doesn't really work for a static site generator. It is better to use normal caching with a dynamic site like how Simple is doing now.
- corin_ 15y agoI don't think you follow what he is asking for. Jekyll uses CLI-based software to output raw HTML files that can be served to website visitors. Why not create a database (or flat-file) driven CMS, with nice features (e.g. wysiwyg) that then outputs raw HTML files? So basically just a UI for writing and managing the posts that sits on top of Jekyll.
- fusiongyro 15y agoIt's funny, because this is what Movable Type did, back in the day. James Hague echoed your sentiments in "Solving the Wrong Problem": http://prog21.dadgum.com/130.html http://prog21.dadgum.com/130.html
- jsherer 15y agoExactly. Give me lean and lightweight MovableType with a sprinkling of Simple/Obtvse/Svbtle. Easy (or no?) install. Nice UI. Simple export to HTML.
- alabut 15y agoBlogger was like that too and I loved it. It's why I've had super basic shared hosting at Dreamhost for so long - it could handle pretty much any traffic by serving up plain HTML. I'd be curious to see how a "Blogger of today" would fare if it also had Dropbox integration, so you could use specialized local apps like IA Writer if you wanted to but also still write or edit on the go without your main machine.
- siong1987 15y agoYes. That is what most caching feature does. Take Ruby on Rails as example, if you have a static page, you can just cache it as just raw HTML file(after the first rendering).
- jamesgeck0 15y agoThat's what caching does, but it's not exactly the same use case. Jekyll just generates a folder full of static HTML files that I shoot out to a dumb server that doesn't run Ruby. I'd like continue to do this, and just run a shiny interface locally. To do the same thing with the cache in a Rails app, I'd probably have to make a script to visit every page to get it to render to the cache, then copy the cache out. At that point, it'd probably be easier to ignore Rails' built-in caching and just to make a rake task that renders everything.
- SpiderX 15y agoIf you want a raw HTML file, what's stopping you from using CURL to get your raw HTML file and uploading it?
- espeed 15y agoLightbulb (https://github.com/espeed/lightbulb https://github.com/espeed/lightbulb) is a Git-powered, Neo4j-backed blog engine written in Python. It allows you to create entries in ReStruturedText using a text editor. I designed it with Heroku in mind, but can be easily adapted for any Web environment that uses Git. When you push to Heroku, the entry metadata will be automatically saved to Neo4j, and the HTML fragment generated from the ReStructuredText source file will be served off disk. You can use the free Heroku dyno and Neo4j Add-on (https://addons.heroku.com/neo4j https://addons.heroku.com/neo4j) to serve your blog for free.
- kisielk 15y agoWhat's the advantage of storing a blog in a graph database? Or is it just one of those "just because I could" things?
- espeed 15y agoHi Kamil - A database-backed blog enables you to easily integrate the content into your existing website -- for example, dynamically displaying the latest entry on the home page, and it makes it easy to style the blog with the site's existing templating system rather than maintaining a separate system. I wanted the benefits of a dynamic app, but I wasn't willing to exchange Emacs for a Web-based editor so I created a hybrid engine. I chose Neo4j because graphs are an elegant way of storing relational data. There are no tables to mess with and no joins (everything is explicitly joined). And if your blog's auth/commenting system uses data from the social graph, such as Facebook or Twitter, a graph database provides a clean way of storing the data. Also, I am the author of Bulbs (https://github.com/espeed/bulbs https://github.com/espeed/bulbs), a graph-database framework written in Python, so using it was a natural choice.
- rglullis 15y ago> I chose Neo4j because graphs are an elegant way of storing relational data. As opposed to, say, a Relational DBMS? What you've done might be very interesting and rewarding to you, but it feels like you wasted three paragraphs in your response with something that falls right into the "just because I could" camp.
- hyperturtle 15y agoI'm making something like that at http://wr173.com/ http://wr173.com/
- X-Istence 15y agoI use one called Blogofile[1], but it is entirely local. You basically give it the posts as markdown/restructured text and it generates the entire site as static HTML. I'm sure you could use it as a starting point to start the service you just mentioned, instead of having it read the posts from disk have it read them from a database. The thing I like about static generators is that I don't have to worry about a programming language being present on my hosting site (http://funcptr.net http://funcptr.net is blogofile, http://bertjwregeer.com/ http://bertjwregeer.com/ is Poole.py[2]) and the overhead is a lot smaller, since all I have is static files there is a lot less worry about accidentally causing CPU spikes, or a database being overloaded, and using sendfile() one can very quickly and efficiently serve up HTML files to clients. [1]: http://www.blogofile.com/ http://www.blogofile.com/ [2]: https://bitbucket.org/obensonne/poole/overview https://bitbucket.org/obensonne/poole/overview
- marban 15y agoi've ported poole to python 3 just recently https://github.com/marban/Poole https://github.com/marban/Poole
- drewinglis 15y agoI did a quick and dirty port of obtvse to jekyll last weekend. It still needs some work, though. It's here: https://github.com/drewinglis/obtvse-jekyll https://github.com/drewinglis/obtvse-jekyll
- ericmoritz 15y agoI use Pelican for my blog. It's pretty straight forward. http://readthedocs.org/docs/pelican/en/2.8/ http://readthedocs.org/docs/pelican/en/2.8/
- bravura 15y agoI want to bake NLP into an existing CMS, so let me speak to your point. To extend your idea, these tools should be much more modular: Simple/Obtvse should be an interface for adding posts and editing existing posts. Similarly, a command-line-interface can also be used for adding posts. (`newidea "I want a castle made of marshmellows"`) The site is stored in a database when live, but the database can be transformed one-to-one into a directory of human-readable Markdown or ReStructuredText files. Rendering is handled by a separate component, e.g. nanoc or jekyll. The important thing is that the site database can easily be mapped to a human readable format. The advantage of this approach is that it is easy to write a modular rendering engine without mucking with the specifics of the CMS. For example, I want to automagically categorize posts in a taxonomy, find related posts, group posts that are lists, etc. using some NLP wizardry. I would much rather write this application for a directory of human-readable files, adding metadata fields to text files, than paint myself into a corner with a particular CMS. Please email me if you are interested.
- anthonyb 15y agoWhat's wrong with just wget -m -k -nH <your URL here> combined with some sort of rsync?