panda: Simple Static Blog Engine

[ deprecated, library, web ] [ Propose Tags ]
Deprecated. in favor of bamboo

Simple Static Blog Engine


[Skip to Readme]
Versions [faq] 0.0, 0.0.0.1, 0.0.0.2, 0.0.0.3, 0.0.0.4, 0.0.0.4.1, 0.0.0.4.2, 0.0.0.5, 0.0.0.5.1, 2008.9.19, 2008.9.19.1, 2008.9.19.2, 2008.9.20, 2008.9.28, 2008.9.29, 2008.10.11, 2008.10.12, 2008.10.13, 2008.10.14, 2008.10.15, 2008.10.16, 2008.10.17, 2008.10.18, 2008.10.19, 2008.10.21, 2008.10.24, 2008.10.25, 2008.10.26, 2008.10.27, 2008.11.6, 2008.11.7, 2008.12.14, 2008.12.15, 2008.12.16, 2009.1.20, 2009.4.1
Change log changelog.markdown
Dependencies base, cgi, containers (>=0.1.0.0), directory, filepath, haskell98, kibro (>=0.0), MissingH, mps (>=2008.9.19), network, old-locale, old-time, pandoc (>=0.46), parsec (>=2.1.0), parsedate (>=3000.0.0), rss (>=3000.0.1), utf8-string (>=0.3.1), xhtml (>=3000.2.0.0) [details]
License BSD-3-Clause
Author Wang, Jinjing
Maintainer Wang, Jinjing <nfjinjing@gmail.com>
Category Web
Home page http://github.com/nfjinjing/panda/
Uploaded by JinjingWang at Fri Sep 19 07:44:50 UTC 2008
Distributions NixOS:2009.4.1
Downloads 12794 total (287 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs not available [build log]
All reported builds failed as of 2017-01-03 [all 7 reports]

Modules

  • Panda
    • Config
      • Panda.Config.Global
    • Controller
      • Panda.Controller.Application
    • Helper
      • Panda.Helper.Env
      • Panda.Helper.Helper
      • Panda.Helper.MPSCandidate
    • Model
      • Panda.Model.Comment
      • Panda.Model.Post
      • Panda.Model.Static
      • Panda.Model.Tag
    • Type
      • Panda.Type.Pager
      • Panda.Type.Reader
      • Panda.Type.Sidebar
      • Panda.Type.State
    • View
      • Panda.View.RSS
      • Theme
        • BluePrint
          • Panda.View.Theme.BluePrint.Comment
          • Panda.View.Theme.BluePrint.Helper
          • Panda.View.Theme.BluePrint.Post
          • Panda.View.Theme.BluePrint.Search
          • Panda.View.Theme.BluePrint.Static
          • Panda.View.Theme.BluePrint.Tag
          • Template
            • Panda.View.Theme.BluePrint.Template.Body
            • Panda.View.Theme.BluePrint.Template.Footer
            • Panda.View.Theme.BluePrint.Template.Header
            • Panda.View.Theme.BluePrint.Template.Sidebar
            • Panda.View.Theme.BluePrint.Template.Template

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for panda-2008.9.19.2

[back to package description]

Panda - simple blogging engine

Sample file db structure

db
|---- blog
|     |---- 08-09-01 first post
|     |---- 09-09-02 learn javascript.html
|
|---- tag
|     |---- programming
|     |---- funny
|
|---- static
      |---- About

Why

  • Blogs are stored locally
  • Write in Markdown, HTML, reStructuredText or even LaTeX format ( Math equations won't render yet )
  • Remote server is a mirror of local repository
  • No server side API for publishing / editing, just use Darcs, Git or any SCM
  • No need to find external hosting of your videos, images or sound. Put them in public folder ( still managed by SCM if you wish )
  • Easy to use, just create a file and the engine takes care of the rest
  • Extensible through embedding any HTML snippets
  • Use custom.css for theming

Quick Demo

It powers my blog ;)

Note: the demo might run on an experimental branch, so differences from the cabal version could occur.

Install

install [lighttpd](http://www.lighttpd.net/ )

install panda

cabal install panda

bootstrap

# panda is a kibro project
kibro new myblog
cd myblog

# get a template to start
rm -r db; rm -r public
git clone git://github.com/nfjinjing/panda-template.git db
sh db/scripts/bootstrap.sh

run

kibro start

It should be running on http://127.0.0.1:3000 now.

Since Panda is based on Kibro, it helps to read how Kibro works.

Goodies

Install Ruby / Rake, then rake -T to see a list of helper commands.

Config

Edit db/config/site.txt

blog_title   = My shiny blog
host_name    = yourhost.com
author_email = your_mail@yourhost.com

Restart required. (hint: rake r)

Future

There are many things could be done. Whatever there will be, the key idea is simplest data / folder structure.

Hacking

Another way to get Panda running with source is:

# clone the source
git clone git://github.com/nfjinjing/panda.git myblog
cd myblog

# get a template to start
git clone git://github.com/nfjinjing/panda-template.git db

# manually adjust path information for lighttpd
# edit first 6 lines of app/lighttpd/lighttpd.conf to match your path

# manual staging
ln -s db/public public

# run
kibro start

I'm heavily using the [MPS](http://github.com/nfjinjing/mps/tree/master ) package which introduces things like

reject, join, belongs_to, match, gsub

and so on.