Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hallison/postview
Postview is a simple blog engine (aka. blogware) written in Ruby using the Sinatra DSL for render files written in Markdown.
https://github.com/hallison/postview
Last synced: about 2 months ago
JSON representation
Postview is a simple blog engine (aka. blogware) written in Ruby using the Sinatra DSL for render files written in Markdown.
- Host: GitHub
- URL: https://github.com/hallison/postview
- Owner: hallison
- License: mit
- Created: 2009-05-29T21:53:04.000Z (over 15 years ago)
- Default Branch: master
- Last Pushed: 2010-11-23T21:07:28.000Z (about 14 years ago)
- Last Synced: 2024-05-14T01:41:51.419Z (7 months ago)
- Language: Ruby
- Homepage: http://postview.rubyforge.org/
- Size: 520 KB
- Stars: 50
- Watchers: 4
- Forks: 5
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG
- License: LICENSE
Awesome Lists containing this project
- awesome-sinatra - Postview - A simple blog-engine that render text files written in Markdown. (Blogging)
README
Postview - A lightweight blog engine
====================================Postview is a simple blog engine (a.k.a. blogware) written in [Ruby][] using
the [Sinatra][] framework and [Kramdown][] parser to renders files written in
[Markdown][].Features
--------* Easy configuration.
* Easy synchronization.
* No database, it's use only text files written in [Markdown][].
* Has suport to themes.Getting started
---------------Install [Ruby][] [Gem package][postview gem] and try.
The Postview depended of the following libraries (Gems):
* [Sinatra][]
* [Sinatra-Mapping][]
* [Postage][]Install stable gem from [RubyForge][] or [GemCutter.org][].
$ sudo gem install postview
Then, run command for create and setup a new Postview directory structure.
$ postview create path/to/blog
Or run using "--prompt-values":
$ postview create path/to/blog --prompt-values
After setup, run server with command:
$ postview server
In your browser, access http://127.0.0.1:9000/.
### How it works
The Postview creates a directory structure like this:
.
|-- config
|-- posts
| |-- archive
| `-- drafts
|-- public
|-- themes
| `-- default
| |-- images
| |-- stylesheets
| `-- templates
| |-- archive
| |-- drafts
| |-- posts
| `-- tags
`-- tmp### Create new post
New post can be created by using the task `post`:
$ cd path/to/postview
$ rake postFollowing all instructions. Please, set environment variable +EDITOR+
or +VISUAL+ for editing your posts. Other else, run:$ cd path/to/postview
$ EDITOR= rake postThe new post will be written in drafts directory. You can pass other
directory.$ cd path/to/postview
$ rake post[path/to/other/post/directory]NOTE: New feature for creates new post from blog manager will be added.
Synchronize your posts
----------------------Postview use by default FTP method for synchronization. But, is possible make
deploy using [Heroku][] and [Git][].### FTP
You can synchronize your files using the . For more information about
this task, runrake -D sync
.It's need creates and edit file placed in `/your/home/directory/.netrc`.
The `directory` attribute most be setted in `settings.yml` file.Example:
# remote host
/remote/path/to/postview
`-- posts
|-- archive
`-- drafts
# local host
posts
|-- 20090702-foo_post_article.ruby.sinatra.git.mkd
|-- archive
| `-- 20080702-foo_post_article.ruby.sinatra.git.mkd
`-- drafts
`-- 20090703-foo_draft_article.ruby.sinatra.git.mkd# To synchronize posts
$ rake sync:posts
$ rake sync:posts[remote/path/to/postview/posts]# To synchronize archive
$ rake sync:archive
$ rake sync:archive[remote/path/to/postview/posts/archive]# To synchronize drafts
$ rake sync:drafts
$ rake sync:drafts[remote/path/to/postview/posts/drafts]# To synchronize all
$ rake sync:allNOTE: Will added new enhancements for this feature.
[ruby]: http://www.ruby-lang.org
"Ruby Programming Language"[sinatra]: http://www.sinatrarb.com/
"Sinatra - Classy web framework"[kramdown]: http://kramdown.rubyforge.org/
"Kramdown - Markdown superset converter"[markdown]: http://daringfireball.net/projects/markdown
"Markdown - The lightweight markup language"[sinatra-mapping]: http://sinatra-mapping.rubyforge.org
"Sinatra::Mapping - Extension to map URL paths in Sinatra"[postage]: http://postage.rubyforge.org/
"Postage - Postview base for parse text files"[rubyforge]: http://rubyforge.org/
"RubyForge.org"[gemcutter]: http://gemcutter.org/
"GemCutter.org"[heroku]: http://heroku.com
"Heroku"[git]: http://git-scm.com
"Git"