ANNOUNCE: gitit 0.2 release - wiki using HAppS, git, pandoc

I've uploaded an early version of gitit, a Haskell wiki program, to HackageDB. Gitit uses HAppS as a webserver, git for file storage, pandoc for rendering the (markdown) pages, and highlighting-kate for highlighted source code. Some nice features of gitit: - Pages and uploaded files are stored in a git repository and may be added, deleted, and modified directly using git. - Pages may be organized into subdirectories. - Pandoc's extended version of markdown is used, so you can do tables, footnotes, syntax-highlighted code blocks, and LaTeX math. (And you can you pandoc to convert pages into many other formats.) - Math is rendered using jsMath (which must be installed separately). - Source code files in the repository are automatically rendered with syntax highlighting (plain/text version is also available). You can check it out on my webserver: http://johnmacfarlane.net:5001/ Or try it locally: cabal update cabal install pandoc -fhighlighting cabal install gitit gitit # note: this will create two subdirectories in the working directory # then browse to http://localhost:5001. There's a git repository at http://github.com/jgm/gitit/tree/master. Comments and patches are welcome. John

jgm:
I've uploaded an early version of gitit, a Haskell wiki program, to HackageDB. Gitit uses HAppS as a webserver, git for file storage, pandoc for rendering the (markdown) pages, and highlighting-kate for highlighted source code.
Awesome. Well done, as always, John! -- Don

a new HAppS version 0.9.3.1 has been released, and gitit requires HApps==
0.9.2.1. should ti be ok just to relax the dependency?
On Sat, Nov 8, 2008 at 8:32 PM, John MacFarlane
I've uploaded an early version of gitit, a Haskell wiki program, to HackageDB. Gitit uses HAppS as a webserver, git for file storage, pandoc for rendering the (markdown) pages, and highlighting-kate for highlighted source code.
Some nice features of gitit:
- Pages and uploaded files are stored in a git repository and may be added, deleted, and modified directly using git. - Pages may be organized into subdirectories. - Pandoc's extended version of markdown is used, so you can do tables, footnotes, syntax-highlighted code blocks, and LaTeX math. (And you can you pandoc to convert pages into many other formats.) - Math is rendered using jsMath (which must be installed separately). - Source code files in the repository are automatically rendered with syntax highlighting (plain/text version is also available).
You can check it out on my webserver: http://johnmacfarlane.net:5001/ Or try it locally:
cabal update cabal install pandoc -fhighlighting cabal install gitit gitit # note: this will create two subdirectories in the working directory # then browse to http://localhost:5001.
There's a git repository at http://github.com/jgm/gitit/tree/master. Comments and patches are welcome.
John _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
-- www.di.uminho.pt/~hpacheco

I've just uploaded a new version (0.2.1) that requires HAppS >= 0.9.3 && < 0.9.4. (There are small API changes from 0.9.2 to 0.9.3, so I thought it best not to allow 0.9.2.x, even though it still compiles with a warning.) +++ Hugo Pacheco [Nov 09 08 20:41 ]:
a new HAppS version [1]0.9.3.1 has been released, and gitit requires HApps==[2]0.9.2.1. should ti be ok just to relax the dependency?
On Sat, Nov 8, 2008 at 8:32 PM, John MacFarlane <[3]jgm@berkeley.edu> wrote:
I've uploaded an early version of gitit, a Haskell wiki program, to HackageDB. Gitit uses HAppS as a webserver, git for file storage, pandoc for rendering the (markdown) pages, and highlighting-kate for highlighted source code.
Some nice features of gitit:
- Pages and uploaded files are stored in a git repository and may be added, deleted, and modified directly using git. - Pages may be organized into subdirectories. - Pandoc's extended version of markdown is used, so you can do tables, footnotes, syntax-highlighted code blocks, and LaTeX math. (And you can you pandoc to convert pages into many other formats.) - Math is rendered using jsMath (which must be installed separately). - Source code files in the repository are automatically rendered with syntax highlighting (plain/text version is also available).
You can check it out on my webserver: [4]http://johnmacfarlane.net:5001/ Or try it locally:
cabal update cabal install pandoc -fhighlighting cabal install gitit gitit # note: this will create two subdirectories in the working directory # then browse to [5]http://localhost:5001.
There's a git repository at [6]http://github.com/jgm/gitit/tree/master. Comments and patches are welcome.
John _______________________________________________ Haskell-Cafe mailing list [7]Haskell-Cafe@haskell.org [8]http://www.haskell.org/mailman/listinfo/haskell-cafe
-- [9]www.di.uminho.pt/~hpacheco
References
Visible links 1. http://0.9.3.1/ 2. http://0.9.2.1/ 3. mailto:jgm@berkeley.edu 4. http://johnmacfarlane.net:5001/ 5. http://localhost:5001/ 6. http://github.com/jgm/gitit/tree/master 7. mailto:Haskell-Cafe@haskell.org 8. http://www.haskell.org/mailman/listinfo/haskell-cafe 9. http://www.di.uminho.pt/~hpacheco
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

If anyone else has problems installing gitit, try updating your cabal- install (and cabal). I had "old" versions on my computer, and updating them solved my gitit build-problems. -chris On 9 nov 2008, at 22:41, John MacFarlane wrote:
I've just uploaded a new version (0.2.1) that requires HAppS >= 0.9.3 && < 0.9.4. (There are small API changes from 0.9.2 to 0.9.3, so I thought it best not to allow 0.9.2.x, even though it still compiles with a warning.)
+++ Hugo Pacheco [Nov 09 08 20:41 ]:
a new HAppS version [1]0.9.3.1 has been released, and gitit requires HApps==[2]0.9.2.1. should ti be ok just to relax the dependency?
On Sat, Nov 8, 2008 at 8:32 PM, John MacFarlane <[3]jgm@berkeley.edu
wrote:
I've uploaded an early version of gitit, a Haskell wiki program, to HackageDB. Gitit uses HAppS as a webserver, git for file storage, pandoc for rendering the (markdown) pages, and highlighting- kate for highlighted source code.
Some nice features of gitit:
- Pages and uploaded files are stored in a git repository and may be added, deleted, and modified directly using git. - Pages may be organized into subdirectories. - Pandoc's extended version of markdown is used, so you can do tables, footnotes, syntax-highlighted code blocks, and LaTeX math. (And you can you pandoc to convert pages into many other formats.) - Math is rendered using jsMath (which must be installed separately). - Source code files in the repository are automatically rendered with syntax highlighting (plain/text version is also available).
You can check it out on my webserver: [4]http://johnmacfarlane.net:5001/ Or try it locally:
cabal update cabal install pandoc -fhighlighting cabal install gitit gitit # note: this will create two subdirectories in the working directory # then browse to [5]http://localhost:5001.
There's a git repository at [6]http://github.com/jgm/gitit/tree/master . Comments and patches are welcome.
John _______________________________________________ Haskell-Cafe mailing list [7]Haskell-Cafe@haskell.org [8]http://www.haskell.org/mailman/listinfo/haskell-cafe
-- [9]www.di.uminho.pt/~hpacheco
References
Visible links 1. http://0.9.3.1/ 2. http://0.9.2.1/ 3. mailto:jgm@berkeley.edu 4. http://johnmacfarlane.net:5001/ 5. http://localhost:5001/ 6. http://github.com/jgm/gitit/tree/master 7. mailto:Haskell-Cafe@haskell.org 8. http://www.haskell.org/mailman/listinfo/haskell-cafe 9. http://www.di.uminho.pt/~hpacheco
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

Good morning,
I wonder if it is possible to embed regular HTML code inside gitit (on
0.3.2) pages, such as java applets like the following.
<APPLET CODE = "GHood.class" ARCHIVE = "GHood.jar" WIDTH = 1100 HEIGHT = 400
ALT = "you should see an instance of GHood here, as an applet"> <PARAM NAME
= "eventSource" VALUE ="factHylo.log"> <PARAM NAME = "delay" VALUE ="150">
<PARAM NAME = "scale" VALUE ="75"> </APPLET>
I am assuming that as a wiki, it is only possible to point to external
pages.
Thanks,
hugo
On Sun, Nov 9, 2008 at 10:01 PM, Chris Eidhof
If anyone else has problems installing gitit, try updating your cabal-install (and cabal). I had "old" versions on my computer, and updating them solved my gitit build-problems.
-chris
On 9 nov 2008, at 22:41, John MacFarlane wrote:
I've just uploaded a new version (0.2.1) that requires HAppS >= 0.9.3 &&
< 0.9.4. (There are small API changes from 0.9.2 to 0.9.3, so I thought it best not to allow 0.9.2.x, even though it still compiles with a warning.)
+++ Hugo Pacheco [Nov 09 08 20:41 ]:
a new HAppS version [1]0.9.3.1 has been released, and gitit requires HApps==[2]0.9.2.1. should ti be ok just to relax the dependency?
On Sat, Nov 8, 2008 at 8:32 PM, John MacFarlane <[3]jgm@berkeley.edu> wrote:
I've uploaded an early version of gitit, a Haskell wiki program, to HackageDB. Gitit uses HAppS as a webserver, git for file storage, pandoc for rendering the (markdown) pages, and highlighting-kate for highlighted source code.
Some nice features of gitit:
- Pages and uploaded files are stored in a git repository and may be added, deleted, and modified directly using git. - Pages may be organized into subdirectories. - Pandoc's extended version of markdown is used, so you can do tables, footnotes, syntax-highlighted code blocks, and LaTeX math. (And you can you pandoc to convert pages into many other formats.) - Math is rendered using jsMath (which must be installed separately). - Source code files in the repository are automatically rendered with syntax highlighting (plain/text version is also available).
You can check it out on my webserver: [4] http://johnmacfarlane.net:5001/ Or try it locally:
cabal update cabal install pandoc -fhighlighting cabal install gitit gitit # note: this will create two subdirectories in the working directory # then browse to [5]http://localhost:5001.
There's a git repository at [6] http://github.com/jgm/gitit/tree/master. Comments and patches are welcome.
John _______________________________________________ Haskell-Cafe mailing list [7]Haskell-Cafe@haskell.org [8]http://www.haskell.org/mailman/listinfo/haskell-cafe
-- [9]www.di.uminho.pt/~hpacheco
References
Visible links 1. http://0.9.3.1/ 2. http://0.9.2.1/ 3. mailto:jgm@berkeley.edu 4. http://johnmacfarlane.net:5001/ 5. http://localhost:5001/ 6. http://github.com/jgm/gitit/tree/master 7. mailto:Haskell-Cafe@haskell.org 8. http://www.haskell.org/mailman/listinfo/haskell-cafe 9. http://www.di.uminho.pt/~hpacheco
_______________________________________________
Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
-- www.di.uminho.pt/~hpacheco

+++ Hugo Pacheco [Dec 03 08 09:36 ]:
Good morning, I wonder if it is possible to embed regular HTML code inside gitit (on 0.3.2) pages, such as java applets like the following. <APPLET CODE = "GHood.class" ARCHIVE = "GHood.jar" WIDTH = 1100 HEIGHT = 400 ALT = "you should see an instance of GHood here, as an applet"> <PARAM NAME = "eventSource" VALUE ="factHylo.log"> <PARAM NAME = "delay" VALUE ="150"> <PARAM NAME = "scale" VALUE ="75"> </APPLET> I am assuming that as a wiki, it is only possible to point to external pages. Thanks, hugo
Of course you can put any HTML you like in the page template (template.html). But I assume you are asking about HTML inside the wiki pages themselves. Although markdown allows embedded HTML, gitit uses pandoc's HTML sanitization feature, so things that might be dangerous (like applets) will be filtered out and replaced by comments. You could easily modify the code to remove the santitization feature. Just change the textToPandoc function so that stateSanitizeHtml is set to False. John

yes, I am talking about inserting HTML inside the wiki.Thanks, I will check
on that and report back,
hugo
On Wed, Dec 3, 2008 at 3:44 PM, John MacFarlane
+++ Hugo Pacheco [Dec 03 08 09:36 ]:
Good morning, I wonder if it is possible to embed regular HTML code inside gitit (on 0.3.2) pages, such as java applets like the following. <APPLET CODE = "GHood.class" ARCHIVE = "GHood.jar" WIDTH = 1100 HEIGHT = 400 ALT = "you should see an instance of GHood here, as an applet"> <PARAM NAME = "eventSource" VALUE ="factHylo.log"> <PARAM NAME = "delay" VALUE ="150"> <PARAM NAME = "scale" VALUE ="75"> </APPLET> I am assuming that as a wiki, it is only possible to point to external pages. Thanks, hugo
Of course you can put any HTML you like in the page template (template.html). But I assume you are asking about HTML inside the wiki pages themselves. Although markdown allows embedded HTML, gitit uses pandoc's HTML sanitization feature, so things that might be dangerous (like applets) will be filtered out and replaced by comments.
You could easily modify the code to remove the santitization feature. Just change the textToPandoc function so that stateSanitizeHtml is set to False.
John
-- www.di.uminho.pt/~hpacheco

On a different level, I was trying the wiki on my laptop, but have now
installed it in a remote server.
However, with the same configurations, I can create users but not log in, it
simply returns to the front page. It is hosted at
http://haskell.di.uminho.pt:8080
It does not seem to be a permissions problem, I gave full permissions to all
gitit files and nothing changed.
Any idea why?
Also being an headache is configuring apache reverse proxy for it:
http://haskell.di.uminho.pt/wiki/
hugo
On Wed, Dec 3, 2008 at 6:03 PM, Hugo Pacheco
yes, I am talking about inserting HTML inside the wiki.Thanks, I will check on that and report back,
hugo
On Wed, Dec 3, 2008 at 3:44 PM, John MacFarlane
wrote: +++ Hugo Pacheco [Dec 03 08 09:36 ]:
Good morning, I wonder if it is possible to embed regular HTML code inside gitit (on 0.3.2) pages, such as java applets like the following. <APPLET CODE = "GHood.class" ARCHIVE = "GHood.jar" WIDTH = 1100 HEIGHT = 400 ALT = "you should see an instance of GHood here, as an applet"> <PARAM NAME = "eventSource" VALUE ="factHylo.log"> <PARAM NAME = "delay" VALUE ="150"> <PARAM NAME = "scale" VALUE ="75"> </APPLET> I am assuming that as a wiki, it is only possible to point to external pages. Thanks, hugo
Of course you can put any HTML you like in the page template (template.html). But I assume you are asking about HTML inside the wiki pages themselves. Although markdown allows embedded HTML, gitit uses pandoc's HTML sanitization feature, so things that might be dangerous (like applets) will be filtered out and replaced by comments.
You could easily modify the code to remove the santitization feature. Just change the textToPandoc function so that stateSanitizeHtml is set to False.
John
-- www.di.uminho.pt/~hpacheco
-- www.di.uminho.pt/~hpacheco

Solved, just something with my Safari cookies, sorry.
On Wed, Dec 3, 2008 at 8:40 PM, Hugo Pacheco
On a different level, I was trying the wiki on my laptop, but have now installed it in a remote server. However, with the same configurations, I can create users but not log in, it simply returns to the front page. It is hosted at http://haskell.di.uminho.pt:8080
It does not seem to be a permissions problem, I gave full permissions to all gitit files and nothing changed. Any idea why?
Also being an headache is configuring apache reverse proxy for it: http://haskell.di.uminho.pt/wiki/
hugo
On Wed, Dec 3, 2008 at 6:03 PM, Hugo Pacheco
wrote: yes, I am talking about inserting HTML inside the wiki.Thanks, I will check on that and report back,
hugo
On Wed, Dec 3, 2008 at 3:44 PM, John MacFarlane
wrote: +++ Hugo Pacheco [Dec 03 08 09:36 ]:
Good morning, I wonder if it is possible to embed regular HTML code inside gitit (on 0.3.2) pages, such as java applets like the following. <APPLET CODE = "GHood.class" ARCHIVE = "GHood.jar" WIDTH = 1100 HEIGHT = 400 ALT = "you should see an instance of GHood here, as an applet"> <PARAM NAME = "eventSource" VALUE ="factHylo.log"> <PARAM NAME = "delay" VALUE ="150"> <PARAM NAME = "scale" VALUE ="75"> </APPLET> I am assuming that as a wiki, it is only possible to point to external pages. Thanks, hugo
Of course you can put any HTML you like in the page template (template.html). But I assume you are asking about HTML inside the wiki pages themselves. Although markdown allows embedded HTML, gitit uses pandoc's HTML sanitization feature, so things that might be dangerous (like applets) will be filtered out and replaced by comments.
You could easily modify the code to remove the santitization feature. Just change the textToPandoc function so that stateSanitizeHtml is set to False.
John
-- www.di.uminho.pt/~hpacheco
-- www.di.uminho.pt/~hpacheco
-- www.di.uminho.pt/~hpacheco

Hmm, I think I finally see the real problem.
At some point when logged in, the session expires and the wiki prompts again
for the login information. However, the cookies still assume we are logged
in and do not allow me to log in again.
The solution is to remove the cookies for the wiki server.
I think this is some kind of bug with the session state.
Regards,
hugo
On Wed, Dec 3, 2008 at 9:29 PM, Hugo Pacheco
Solved, just something with my Safari cookies, sorry.
On Wed, Dec 3, 2008 at 8:40 PM, Hugo Pacheco
wrote: On a different level, I was trying the wiki on my laptop, but have now installed it in a remote server. However, with the same configurations, I can create users but not log in, it simply returns to the front page. It is hosted at http://haskell.di.uminho.pt:8080
It does not seem to be a permissions problem, I gave full permissions to all gitit files and nothing changed. Any idea why?
Also being an headache is configuring apache reverse proxy for it: http://haskell.di.uminho.pt/wiki/
hugo
On Wed, Dec 3, 2008 at 6:03 PM, Hugo Pacheco
wrote: yes, I am talking about inserting HTML inside the wiki.Thanks, I will check on that and report back,
hugo
On Wed, Dec 3, 2008 at 3:44 PM, John MacFarlane
wrote: +++ Hugo Pacheco [Dec 03 08 09:36 ]:
Good morning, I wonder if it is possible to embed regular HTML code inside gitit (on 0.3.2) pages, such as java applets like the following. <APPLET CODE = "GHood.class" ARCHIVE = "GHood.jar" WIDTH = 1100 HEIGHT = 400 ALT = "you should see an instance of GHood here, as an applet"> <PARAM NAME = "eventSource" VALUE ="factHylo.log"> <PARAM NAME = "delay" VALUE ="150"> <PARAM NAME = "scale" VALUE ="75"> </APPLET> I am assuming that as a wiki, it is only possible to point to external pages. Thanks, hugo
Of course you can put any HTML you like in the page template (template.html). But I assume you are asking about HTML inside the wiki pages themselves. Although markdown allows embedded HTML, gitit uses pandoc's HTML sanitization feature, so things that might be dangerous (like applets) will be filtered out and replaced by comments.
You could easily modify the code to remove the santitization feature. Just change the textToPandoc function so that stateSanitizeHtml is set to False.
John
-- www.di.uminho.pt/~hpacheco
-- www.di.uminho.pt/~hpacheco
-- www.di.uminho.pt/~hpacheco
-- www.di.uminho.pt/~hpacheco

This is pretty cool. I was wondering how much work would it be for
gitit to be able to use markdown from the comment sections in source
files? It would be a really good way to manage documentation.
Basically I would like to be able to point gitit at an existing git
repo, and have it provide a wiki interface to all the documentation so
developers can view and modify it.
Thanks,
Anatoly
2008/12/3 Hugo Pacheco
Hmm, I think I finally see the real problem. At some point when logged in, the session expires and the wiki prompts again for the login information. However, the cookies still assume we are logged in and do not allow me to log in again. The solution is to remove the cookies for the wiki server. I think this is some kind of bug with the session state. Regards, hugo On Wed, Dec 3, 2008 at 9:29 PM, Hugo Pacheco
wrote: Solved, just something with my Safari cookies, sorry.
On Wed, Dec 3, 2008 at 8:40 PM, Hugo Pacheco
wrote: On a different level, I was trying the wiki on my laptop, but have now installed it in a remote server. However, with the same configurations, I can create users but not log in, it simply returns to the front page. It is hosted at http://haskell.di.uminho.pt:8080 It does not seem to be a permissions problem, I gave full permissions to all gitit files and nothing changed. Any idea why? Also being an headache is configuring apache reverse proxy for it: http://haskell.di.uminho.pt/wiki/ hugo
On Wed, Dec 3, 2008 at 6:03 PM, Hugo Pacheco
wrote: yes, I am talking about inserting HTML inside the wiki. Thanks, I will check on that and report back, hugo
On Wed, Dec 3, 2008 at 3:44 PM, John MacFarlane
wrote: +++ Hugo Pacheco [Dec 03 08 09:36 ]:
Good morning, I wonder if it is possible to embed regular HTML code inside gitit (on 0.3.2) pages, such as java applets like the following. <APPLET CODE = "GHood.class" ARCHIVE = "GHood.jar" WIDTH = 1100 HEIGHT = 400 ALT = "you should see an instance of GHood here, as an applet"> <PARAM NAME = "eventSource" VALUE ="factHylo.log"> <PARAM NAME = "delay" VALUE ="150"> <PARAM NAME = "scale" VALUE ="75"> </APPLET> I am assuming that as a wiki, it is only possible to point to external pages. Thanks, hugo
Of course you can put any HTML you like in the page template (template.html). But I assume you are asking about HTML inside the wiki pages themselves. Although markdown allows embedded HTML, gitit uses pandoc's HTML sanitization feature, so things that might be dangerous (like applets) will be filtered out and replaced by comments.
You could easily modify the code to remove the santitization feature. Just change the textToPandoc function so that stateSanitizeHtml is set to False.
John
-- www.di.uminho.pt/~hpacheco
-- www.di.uminho.pt/~hpacheco
-- www.di.uminho.pt/~hpacheco
-- www.di.uminho.pt/~hpacheco
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

+++ Anatoly Yakovenko [Dec 03 08 17:03 ]:
This is pretty cool. I was wondering how much work would it be for gitit to be able to use markdown from the comment sections in source files? It would be a really good way to manage documentation.
Basically I would like to be able to point gitit at an existing git repo, and have it provide a wiki interface to all the documentation so developers can view and modify it.
You can do something like that now. You can specify the repository directory in a configuration file. Anything in the repository (even in subdirectories) with a ".page" extension will be served up as a wiki page. So you'd have to use a ".page" extension for your markdown documentation. Everything else in the repository will appear in the index. Source code files will be automatically syntax-highlighted, and you can even view history and diffs through the wiki interface. But I guess what you want is for the documentation to be in comments in the source files themselves, not in separate files. I'm not sure how to do that -- would the idea be to show just the documentation, perhaps marked off with some special notation, and not the source? But then we lose a nice feature, the ability to view source files. I'm open to ideas. Soon, gitit will contain support for pages in markdownish literate Haskell, which might be the best of both worlds for Haskell projects. (They'd still need the .page extension, since some .lhs files are LaTeX lhs, but one could use hard links, or there could be a configuration option to treat .lhs files as wiki pages.) John

On Wed, Dec 3, 2008 at 5:54 PM, John MacFarlane
+++ Anatoly Yakovenko [Dec 03 08 17:03 ]:
This is pretty cool. I was wondering how much work would it be for gitit to be able to use markdown from the comment sections in source files? It would be a really good way to manage documentation.
Basically I would like to be able to point gitit at an existing git repo, and have it provide a wiki interface to all the documentation so developers can view and modify it.
You can do something like that now. You can specify the repository directory in a configuration file. Anything in the repository (even in subdirectories) with a ".page" extension will be served up as a wiki page. So you'd have to use a ".page" extension for your markdown documentation. Everything else in the repository will appear in the index. Source code files will be automatically syntax-highlighted, and you can even view history and diffs through the wiki interface.
cool. Does it add any other files to the reposoitory? Could you use it over a read only one?
But I guess what you want is for the documentation to be in comments in the source files themselves, not in separate files. I'm not sure how to do that -- would the idea be to show just the documentation, perhaps marked off with some special notation, and not the source? But then we lose a nice feature, the ability to view source files. I'm open to ideas.
I was thinking it would show both the documentation and the source, but have the documentation as the editable part of the page. Do you think that's possible? Or it could parse out the documentation and show 2 dynamically generated pages, one for just the docs and one for the source. But i think it would be useful to be able to see the documentation in the context of the source that its referring to. Unfortunately I am not a web guy, so i have no idea how hard any of this would be :).

I think that Anatoly was suggestion a bridge between markdown and haddock
syntax.
Of course gitit would read haddock-documented sources and generate different
results than haddock itself (showing highlighted source code is the most
significant).
Being practical, this is very close to the markdownish literate haskell you
are suggesting.
hugo
On Thu, Dec 4, 2008 at 1:54 AM, John MacFarlane
+++ Anatoly Yakovenko [Dec 03 08 17:03 ]:
This is pretty cool. I was wondering how much work would it be for gitit to be able to use markdown from the comment sections in source files? It would be a really good way to manage documentation.
Basically I would like to be able to point gitit at an existing git repo, and have it provide a wiki interface to all the documentation so developers can view and modify it.
You can do something like that now. You can specify the repository directory in a configuration file. Anything in the repository (even in subdirectories) with a ".page" extension will be served up as a wiki page. So you'd have to use a ".page" extension for your markdown documentation. Everything else in the repository will appear in the index. Source code files will be automatically syntax-highlighted, and you can even view history and diffs through the wiki interface.
But I guess what you want is for the documentation to be in comments in the source files themselves, not in separate files. I'm not sure how to do that -- would the idea be to show just the documentation, perhaps marked off with some special notation, and not the source? But then we lose a nice feature, the ability to view source files. I'm open to ideas.
Soon, gitit will contain support for pages in markdownish literate Haskell, which might be the best of both worlds for Haskell projects. (They'd still need the .page extension, since some .lhs files are LaTeX lhs, but one could use hard links, or there could be a configuration option to treat .lhs files as wiki pages.)
John
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
-- www.di.uminho.pt/~hpacheco

Conal suggested to allow markdown/pandoc as the highlighting format
for Haddock, I liked the idea, but many didn't. I guess the only
workable solution would be to extend haddock to allow using an
external plugin to parse the actual formatting, stripping out leading
markers and somehow dealing with Haddock link markup.
2008/12/4 Anatoly Yakovenko
Being practical, this is very close to the markdownish literate haskell you are suggesting. hugo
yea, i agree. But is there any way to generalize this to non haskell projects? _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
-- Push the envelope. Watch it bend.

[Re-sending to the list, sorry for the doubled mail, John] Hi John, Am Samstag, den 08.11.2008, 12:32 -0800 schrieb John MacFarlane:
I've uploaded an early version of gitit, a Haskell wiki program, to HackageDB. Gitit uses HAppS as a webserver, git for file storage, pandoc for rendering the (markdown) pages, and highlighting-kate for highlighted source code.
looking through your code, I see this: newSession :: (MonadState AppState (Ev (t GHC.Conc.STM)), MonadTrans t, Monad (t GHC.Conc.STM)) => SessionData -> Ev (t GHC.Conc.STM) SessionKey newSession u = do key <- getRandom setSession key u return key for a project of mine, I had so solve a similar problem, and first I used this way, but I’m wondering: The event is serialized without the random seed (I think), so when your app crashes and the event log is re-done, you might get a different key? Or does is getRandom function somehow deterministical? My solution was to pass a RNG into my function:
addNewIssue :: MonadState State m => StdGen -> m Issue and then use gen <- liftIO $ newStdGen i <- update $ AddNewIssue gen
But maybe I’m worring too much... what do you think? Greetings, Joachim -- Joachim "nomeata" Breitner mail: mail@joachim-breitner.de | ICQ# 74513189 | GPG-Key: 4743206C JID: nomeata@joachim-breitner.de | http://www.joachim-breitner.de/ Debian Developer: nomeata@debian.org

Hey, since doing a recent upgrade of gitit, I'm getting: $ gitit ******************************************************************************** Warning: jsMath not found. If you want support for math, copy the jsMath directory into static/js/ jsMath can be obtained from http://www.math.union.edu/~dpvc/jsMath/ ******************************************************************************** gitit: Version tag too large: (VersionId {unVersion = 0},VersionId {unVersion = 128}) (Gitit.State.Password) How do I work around this, and get back my content? :) -- Don jgm:
I've uploaded an early version of gitit, a Haskell wiki program, to HackageDB. Gitit uses HAppS as a webserver, git for file storage, pandoc for rendering the (markdown) pages, and highlighting-kate for highlighted source code.
Some nice features of gitit:
- Pages and uploaded files are stored in a git repository and may be added, deleted, and modified directly using git. - Pages may be organized into subdirectories. - Pandoc's extended version of markdown is used, so you can do tables, footnotes, syntax-highlighted code blocks, and LaTeX math. (And you can you pandoc to convert pages into many other formats.) - Math is rendered using jsMath (which must be installed separately). - Source code files in the repository are automatically rendered with syntax highlighting (plain/text version is also available).
You can check it out on my webserver: http://johnmacfarlane.net:5001/ Or try it locally:
cabal update cabal install pandoc -fhighlighting cabal install gitit gitit # note: this will create two subdirectories in the working directory # then browse to http://localhost:5001.
There's a git repository at http://github.com/jgm/gitit/tree/master. Comments and patches are welcome.
John _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

I think you need to remove your users database (and rebuild it). Compatibility was broken in version 0.3.4 (not sure of number). HTH -- Arnaud Bailly, PhD OQube - Software Engineering http://www.oqube.com
participants (8)
-
Anatoly Yakovenko
-
Arnaud Bailly
-
Chris Eidhof
-
Don Stewart
-
Hugo Pacheco
-
Joachim Breitner
-
John MacFarlane
-
Thomas Schilling