diff --git a/README.md b/README.md index ea83d66..bc83215 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,16 @@ # Welcome to Smeagol! - Smeagol is a simple Wiki engine inspired by [Gollum](https://github.com/gollum/gollum/wiki). Gollum is a Wiki engine written in Ruby, which uses a number of simple text formats including [Markdown](http://daringfireball.net/projects/markdown/), and which uses [Git](http://git-scm.com/) to provide versioning and backup. I needed a new Wiki for a project and thought Gollum would be ideal - but unfortunately it doesn't provide user authentication, which I needed, and it was simpler for me to reimplement the bits I did need in Clojure than to modify Gollum. So at this stage Smeagol is a Wiki engine written in Clojure which uses Markdown as its text format, which does have user authentication, and which uses Git as its versioning and backup system. ## Status - Smeagol is now a fully working small Wiki engine, and meets my own immediate needs. There are some obvious things which could be improved - see **TODO** list below - but it works now and doesn't seem to have any major problems. ## Markup syntax - Smeagol uses the Markdown format as provided by [markdown-clj](https://github.com/yogthos/markdown-clj), with the addition that anything enclosed in double square brackets, \[\[like this\]\], will be treated as a link into the wiki itself. ## Security and authentication - Security is now greatly improved. There is a file called *passwd* in the *resources* directory, which contains a clojure map which maps usernames to maps with plain-text passwords and emails thus: {:admin {:password "admin" :email "admin@localhost"} @@ -24,27 +20,27 @@ that is to say, the username is a keyword and the corresponding password is a st There's still no mechanism to add a new user to the system through the user interface; you do sill have to do that by editing the password file in an editor. -## Todo +## Images +Smeagol does not currently have any mechanism to upload images. You can, however, link to images already available on the web, like this: +![](http://vignette3.wikia.nocookie.net/lotr/images/e/e1/Gollum_Render.png/revision/latest?cb=20141218075509) + +## Todo * Image (and other media) upload; -* Improved editor. The editor is at present very primitive - right back from the beginnings of the Web. It would be nice to have a rich embedded editor like [Hallo](https://github.com/bergie/hallo) or [Aloha](http://aloha-editor.org/Content.Node/index.html) but I haven't (yet) had time to integrate them! * Mechanism to add users through the user interface; ## License - Copyright © 2014-2015 Simon Brooke. Licensed under the GNU General Public License, version 2.0 or (at your option) any later version. If you wish to incorporate parts of Smeagol into another open source project which uses a less restrictive license, please contact me; I'm open to dual licensing it. ## Prerequisites - You will need [Leiningen][1] 2.0 or above installed. [1]: https://github.com/technomancy/leiningen ## Running - To start a web server for the application, run: lein ring server @@ -59,3 +55,6 @@ Alternatively, if you want to deploy to a servlet container (which I would stron (a command which I'm sure Smeagol would entirely appreciate) and deploy the resulting war file. + +## Editing the framing content +You can edit the [[\_left-bar]], the [[\_edit-left-bar]], and the [[\_header]]. diff --git a/project.clj b/project.clj index 79b1b8f..790df63 100644 --- a/project.clj +++ b/project.clj @@ -22,7 +22,9 @@ :plugins [[lein-ring "0.8.13" :exclusions [org.clojure/clojure]] [lein-environ "1.0.0"] [lein-ancient "0.5.5" :exclusions [org.clojure/clojure org.clojure/data.xml]] - [lein-marginalia "0.7.1" :exclusions [org.clojure/clojure]]] + [lein-marginalia "0.7.1" :exclusions [org.clojure/clojure]] + [lein-npm "0.6.2"]] + :npm {:dependencies [[simplemde "1.11.2"]]} :ring {:handler smeagol.handler/app :init smeagol.handler/init :destroy smeagol.handler/destroy} diff --git a/resources/public/content/Introduction.md b/resources/public/content/Introduction.md index 4baacb9..c781c5d 100644 --- a/resources/public/content/Introduction.md +++ b/resources/public/content/Introduction.md @@ -1,20 +1,16 @@ # Welcome to Smeagol! - Smeagol is a simple Wiki engine inspired by [Gollum](https://github.com/gollum/gollum/wiki). Gollum is a Wiki engine written in Ruby, which uses a number of simple text formats including [Markdown](http://daringfireball.net/projects/markdown/), and which uses [Git](http://git-scm.com/) to provide versioning and backup. I needed a new Wiki for a project and thought Gollum would be ideal - but unfortunately it doesn't provide user authentication, which I needed, and it was simpler for me to reimplement the bits I did need in Clojure than to modify Gollum. So at this stage Smeagol is a Wiki engine written in Clojure which uses Markdown as its text format, which does have user authentication, and which uses Git as its versioning and backup system. ## Status - Smeagol is now a fully working small Wiki engine, and meets my own immediate needs. There are some obvious things which could be improved - see **TODO** list below - but it works now and doesn't seem to have any major problems. ## Markup syntax - Smeagol uses the Markdown format as provided by [markdown-clj](https://github.com/yogthos/markdown-clj), with the addition that anything enclosed in double square brackets, \[\[like this\]\], will be treated as a link into the wiki itself. ## Security and authentication - Security is now greatly improved. There is a file called *passwd* in the *resources* directory, which contains a clojure map which maps usernames to maps with plain-text passwords and emails thus: {:admin {:password "admin" :email "admin@localhost"} @@ -24,27 +20,27 @@ that is to say, the username is a keyword and the corresponding password is a st There's still no mechanism to add a new user to the system through the user interface; you do sill have to do that by editing the password file in an editor. -## Todo +## Images +Smeagol does not currently have any mechanism to upload images. You can, however, link to images already available on the web, like this: +![](http://vignette3.wikia.nocookie.net/lotr/images/e/e1/Gollum_Render.png/revision/latest?cb=20141218075509) + +## Todo * Image (and other media) upload; -* Improved editor. The editor is at present very primitive - right back from the beginnings of the Web. It would be nice to have a rich embedded editor like [Hallo](https://github.com/bergie/hallo) or [Aloha](http://aloha-editor.org/Content.Node/index.html) but I haven't (yet) had time to integrate them! * Mechanism to add users through the user interface; ## License - Copyright © 2014-2015 Simon Brooke. Licensed under the GNU General Public License, version 2.0 or (at your option) any later version. If you wish to incorporate parts of Smeagol into another open source project which uses a less restrictive license, please contact me; I'm open to dual licensing it. ## Prerequisites - You will need [Leiningen][1] 2.0 or above installed. [1]: https://github.com/technomancy/leiningen ## Running - To start a web server for the application, run: lein ring server @@ -61,5 +57,4 @@ Alternatively, if you want to deploy to a servlet container (which I would stron ## Editing the framing content - You can edit the [[\_left-bar]], the [[\_edit-left-bar]], and the [[\_header]]. diff --git a/resources/templates/base.html b/resources/templates/base.html index 4ee78f2..4ac0855 100644 --- a/resources/templates/base.html +++ b/resources/templates/base.html @@ -8,6 +8,8 @@ + {% block extra-headers %} + {% endblock %} @@ -49,8 +51,8 @@ {% endif %} - {% block content %} - {% endblock %} + {% block content %} + {% endblock %}
diff --git a/resources/templates/edit.html b/resources/templates/edit.html index f9d832d..275a11e 100644 --- a/resources/templates/edit.html +++ b/resources/templates/edit.html @@ -1,4 +1,9 @@ {% extends "templates/base.html" %} +{% block extra-headers %} + + +{% endblock %} + {% block content %}
@@ -15,4 +20,7 @@

+ {% endblock %}