The panda package

[Tags:deprecated, gpl, library]
Deprecated. in favor of bamboo

A simple static blog engine


[Skip to Readme]

Properties

Versions 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, directory, filepath, haskell98, kibro (==0.3), MissingH, mps (>=2008.9.19), network, old-locale, old-time, pandoc (<=0.46), parsec (>=2), parsedate (>=3000.0.0), rss (>=3000.0.1), utf8-string (>=0.3.1), xhtml [details]
License GPL
Author Wang, Jinjing
Maintainer Wang, Jinjing <nfjinjing@gmail.com>
Stability Unknown
Category Web
Home page http://github.com/nfjinjing/panda/
Uploaded Tue Oct 14 07:01:42 UTC 2008 by JinjingWang
Distributions NixOS:2009.4.1
Downloads 5660 total (88 in the last 30 days)
Votes
0 []
Status Docs not available [build log]
All reported builds failed as of 2015-11-23 [all 5 reports]

Modules

  • Panda
    • Config
      • Panda.Config.Global
    • Controller
      • Panda.Controller.Application
    • Extension
      • Analytics
        • Panda.Extension.Analytics.T
    • Helper
      • Panda.Helper.Env
      • Panda.Helper.Helper
      • Panda.Helper.StateHelper
    • 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
      • Panda.Type.Theme
    • View
      • Atom
        • Panda.View.Atom.Comment
        • Panda.View.Atom.Post
        • Panda.View.Atom.Static
        • Panda.View.Atom.Tag
      • Control
        • Panda.View.Control.Comment
        • Panda.View.Control.Helper
        • Panda.View.Control.Post
        • Panda.View.Control.Search
        • Panda.View.Control.Static
        • Panda.View.Control.Tag
      • Widget
        • Panda.View.Widget.Body
        • Panda.View.Widget.Footer
        • Panda.View.Widget.Head
        • Panda.View.Widget.Header
        • Panda.View.Widget.Helper
        • Panda.View.Widget.Navigation
        • Panda.View.Widget.RSS
        • Panda.View.Widget.SearchBar
        • Panda.View.Widget.Sidebar
        • Panda.View.Widget.Template

Downloads

Maintainer's Corner

For package maintainers and hackage trustees

Readme for panda

Readme for panda-2008.10.17

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 (version 1.4.19)](http://www.lighttpd.net/ )

Note: 1.4.20 is bugged for reason still unknown yet.

install panda

cabal install panda

bootstrap

# panda is a kibro project
kibro new myblog
cd myblog

# get a template to start
git clone git://github.com/nfjinjing/panda-template.git db
sh db/extra/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)

Theme

Example blueprint theme in db/config/theme/blueprint.txt

container  = container
header     = column span-12 first
navigation = column span-12 first large
main       = column span-9 first
sidebar    = column span-3 last
footer     = footer

css        = screen, blueprint-wp, custom
js         = jquery-1.2.6.min, jquery.getUrlParam, jquery.highlight-2, custom

These are custom class names for each element block.

note: css and js are required to be placed under db/public/theme/your_theme_name/css and db/public/theme/your_theme_name/js, leave out the file extensions in site.txt.

You can create new themes by adding theme files in db/config/theme, and place

theme = your_new_theme

inside site.txt.

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.