Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jgm/gitit2
A reimplementation of gitit in Yesod
https://github.com/jgm/gitit2
Last synced: 13 days ago
JSON representation
A reimplementation of gitit in Yesod
- Host: GitHub
- URL: https://github.com/jgm/gitit2
- Owner: jgm
- License: gpl-2.0
- Created: 2012-05-18T04:26:12.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2018-06-03T21:29:53.000Z (over 6 years ago)
- Last Synced: 2024-10-14T15:57:26.926Z (25 days ago)
- Language: Haskell
- Size: 671 KB
- Stars: 95
- Watchers: 22
- Forks: 11
- Open Issues: 10
-
Metadata Files:
- Readme: README.markdown
- License: LICENSE
Awesome Lists containing this project
README
gitit2
======gitit2 is a rewrite of [gitit] using the [Yesod] web framework.
My intention is that it will eventually replace gitit.[gitit]: http://gitit.net
To install:
cabal install
If you run gitit2 from the source directory, a default
`wikidata` directory will be automatically created, based
on the settings in `settings.yaml`. You will then be able
to view your wiki at .Why a rewrite?
--------------The old code base was ugly, for a variety of reasons, including
the fact that it dates from an early phase in happstack's history
(when many things that are easy now were hard) and an early phase
in the author's Haskell experience. Yesod provides abstractions,
such as type safe routes, that make many of the ugly parts go away.
The new code base should be much smaller, easier to modify, and
easier to be confident in.gitit2 is implemented as a Yesod subsite, making it trivial
to embed a gitit wiki in a Yesod application.What is still missing?
----------------------The basic wiki functions have all been implemented. You can
create, edit, and modify pages. You can search, view
history, and comment. You can export in any format that
pandoc supports.* User login -- currently there is no access control.
* Preview in edit.
* Loading plugins (the plugin API works, but there is not
yet support for specifying plugins in the config file).
* Page locking (no-delete, no-edit).
* Command-line option to specify a config file.
* Site initialization wizard.
* Documentation.
* Multiple options for treatment of math in HTML.
* Configurable session timeout.
* Option to show bird tracks in LHS.
* Log level options.
* Configurabel mime types file.
* 'absolute-urls' option for wikilinks?
* 'feed-refresh-time' option?
* Option to disable PDF export?
* Option for pandoc user data directory
* Option to disable sanitization?
* System for customizing CSS[Yesod]: http://www.yesodweb.com/
Hacking gitit2
--------------Here are some notes for those who want to modify or
add to the code.* The library is in `Network/Gitit2.hs` and `Network/Gitit/*`.
It follows the typical layout of a Yesod application.
* The executable, which uses the library, is in `src/gitit2.hs`.