I'd like to see one of these clones that more closely resembles the static site generators like Jekyll (http://jekyllrb.com/) or 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.
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.
I 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.
I 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 is blogofile, 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.
Then, 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.
Nice work with the Python style, though I believe Simple and Obtvse missed the point as with every clone of something out there that tries to replicate what they could see on the outside. Skipping over Dustin's attitude of the situation, no one really knows how Svbtle.com works on the inside do they?
From the outside look and the screenshots (because that's all Dustin showed you) it's a simple design and that's the point; it was never supposed to be a complex work of design for you to be proud that you could replicate it in 1 day in rails. Yeah, Dustin put some work into thinking what could work for the layout but once the application of the design is done, replication is beyond simple.
Clone all you want I think it's great but Dustin was really telling the story of the "network" the idea of a closely knit community of writers (pseudo-writers whichever you prefer). I look at it as similar to the Deck Ad network or Dribbble (before every desperate Designer begged for an invite). Or when an HN clone comes along, no one ever migrates across, they always come back here.
Point is, the one thing you are never going to have is the network, that human element that sets apart the clone from the real deal.
Whats funny is I agree with just about everything you've stated here, although I do believe we did get a pretty good idea of the backend with the screenshots.
But your point doesn't detract in any way from these projects. The point of Svbtle is the network. The point of Obtvse/Simple is the backend. You say "clone all you want" which is exactly what we did.. the goal was never to "beat" anyone or prove anything, it was to mimic the software, which we've already accomplished.
And IMO, that is more valuable than a network. Because now anyone can use it. And as good as Dustin's network ends up being, if it's never all-inclusive, it will always miss out on a the biggest and best talent-pool around... the internet.
I think these two packages could become a great learning resource for noobies. I'm a Ruby guy, but am definitely going to take a look into this version, should add usually difficult to find "context".
I wrote my own static generator with a command-line and web interface a while ago, add it to your watch list if interested, ill eventually clean it up into a v1.0 and release it, but it works right now and I have been using it for my own blog for a while:
I'm a Django guy. Can someone explain the appeal of Python micro-frameworks like flask? Why would you want to give up all of those open-source Django apps?
[+] [-] jsherer|14 years ago|reply
(NOTE: "Simple" is not my project)
[+] [-] espeed|14 years ago|reply
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) to serve your blog for free.
[+] [-] bravura|14 years ago|reply
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.
[+] [-] X-Istence|14 years ago|reply
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 is blogofile, 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/ [2]: https://bitbucket.org/obensonne/poole/overview
[+] [-] hyperturtle|14 years ago|reply
[+] [-] drewinglis|14 years ago|reply
[+] [-] ericmoritz|14 years ago|reply
[+] [-] anthonyb|14 years ago|reply
[+] [-] siong1987|14 years ago|reply
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.
[+] [-] slig|14 years ago|reply
OP, you should learn about requirements.txt and virtualenv/virtualenvwrapper, it will make your life easier.
[+] [-] chernevik|14 years ago|reply
This post laid it out for me: http://www.saltycrane.com/blog/2009/05/notes-using-pip-and-v...
[+] [-] gecko|14 years ago|reply
[+] [-] phwd|14 years ago|reply
From the outside look and the screenshots (because that's all Dustin showed you) it's a simple design and that's the point; it was never supposed to be a complex work of design for you to be proud that you could replicate it in 1 day in rails. Yeah, Dustin put some work into thinking what could work for the layout but once the application of the design is done, replication is beyond simple.
Clone all you want I think it's great but Dustin was really telling the story of the "network" the idea of a closely knit community of writers (pseudo-writers whichever you prefer). I look at it as similar to the Deck Ad network or Dribbble (before every desperate Designer begged for an invite). Or when an HN clone comes along, no one ever migrates across, they always come back here.
Point is, the one thing you are never going to have is the network, that human element that sets apart the clone from the real deal.
[+] [-] nwienert|14 years ago|reply
But your point doesn't detract in any way from these projects. The point of Svbtle is the network. The point of Obtvse/Simple is the backend. You say "clone all you want" which is exactly what we did.. the goal was never to "beat" anyone or prove anything, it was to mimic the software, which we've already accomplished.
And IMO, that is more valuable than a network. Because now anyone can use it. And as good as Dustin's network ends up being, if it's never all-inclusive, it will always miss out on a the biggest and best talent-pool around... the internet.
[+] [-] victork2|14 years ago|reply
Good luck anyway.
[+] [-] geoffw8|14 years ago|reply
Nice work :)
[+] [-] killnine|14 years ago|reply
I also watch this python static blogging app on github here:https://github.com/fallenhitokiri/Zenbo
[+] [-] nikcub|14 years ago|reply
https://github.com/nikcub/floyd
[+] [-] pfraze|14 years ago|reply
[+] [-] richthegeek|14 years ago|reply
[+] [-] conductor|14 years ago|reply
[+] [-] jodrellblank|14 years ago|reply
[+] [-] unknown|14 years ago|reply
[deleted]
[+] [-] aprescott|14 years ago|reply
[+] [-] astrofinch|14 years ago|reply
http://djangopackages.com/
[+] [-] edwinyzh|14 years ago|reply
[+] [-] jredwards|14 years ago|reply
[+] [-] mdonahoe|14 years ago|reply
[+] [-] tptacek|14 years ago|reply
[+] [-] unalone|14 years ago|reply
[+] [-] mcantelon|14 years ago|reply
[+] [-] kami8845|14 years ago|reply