Skip to content

Commit

Permalink
docs: add motivation to README
Browse files Browse the repository at this point in the history
  • Loading branch information
dalanicolai committed Mar 8, 2021
1 parent 4392b73 commit a2f87b8
Showing 1 changed file with 44 additions and 6 deletions.
50 changes: 44 additions & 6 deletions README.org
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,50 @@
#+HTML_HEAD: <link href="theme/org-nav-theme.css" rel="stylesheet">
#+HTML_HEAD: <script src="theme/org-nav-theme.js"></script>

*This repo is a fork of the original [[https://github.com/caiorss/org-wiki][org-wiki]]* The plan for this fork is to
extend the original org-wiki to make it the Emacs(-lisp) equivalent of the great
[[https://zim-wiki.org/][zim-wiki]].

** Changelog (changes/additions from original)
- automatically create/sync index from existing wiki pages files
*This repo is a fork of the original [[https://github.com/caiorss/org-wiki][org-wiki]] by caiorss.* The plan for this
fork is to extend the original org-wiki to make it the Emacs(-lisp) equivalent
of the great [[https://zim-wiki.org/][zim]] desktop wiki software (but even nicer).

[[https://github.com/caiorss/org-wiki][org-wiki]] offers a nice starter "template" for the project. However, this package
is a little outdated and it requires an update to make it use more modern tools
like [[https://orgmode.org/worg/org-tutorials/org-publish-html-tutorial.html][org-publish]], [[https://github.com/alphapapa/org-ql][org-ql]]/[[https://github.com/alphapapa/org-rifle][org-rifle]], [[https://github.com/alphapapa/org-sidebar][org-sidebar]]/[[https://github.com/toshism/org-super-links][org-super-links]] etc. Also I
would prefer it uses Emacs lisp tools, like [[https://github.com/skeeto/skewer-mode][skewer-modee]] or [[https://github.com/skeeto/impatient-mode][impatient-mode]], to
serve website previews.

** Motivation
Org-mode is an amazing personal management and note taking system. However,
its flexibility makes it a little overwhelming to decide on a good way to
structure the system.

After researching different options, like [[https://www.orgroam.com/][org-roam]], [[org-brain]] etc., I concluded
that actually I would prefer a simple and straightforward design like that of
the [[https://zim-wiki.org/][zim]] desktop wiki software. Org actually provides a very similar design when
using single org files as equivalent to [[https://zim-wiki.org/manual/Help/Notebooks.html][zim notebooks]]. However using a single
org file per notebook has some drawbacks.

*** Slow
Unfortunately org quickly becomes really slow (I have a single note file with
only 72 main headings and 413 total headings and it already takes more than 10
seconds to just open it). This is one reason to break up the single file in
multiple files.

*** Publishing with org-publish
I would love to share many of my notes and articles. However, to publish the
single note file with a nice website structure, it is again a good strategy to
break up the single note file in multiple files. In this way it can be made
compatible with [[https://orgmode.org/worg/org-tutorials/org-publish-html-tutorial.html][org-publish]] and [[https://juanjose.garciaripoll.com/blog/org-mode-html-templates/index.html][org-thtml]] (which makes it possible to create org
exporters for css-frameworks, like in my experiment [[https://gitlab.com/flonic/org-blog][here]] where I extended
[[https://juanjose.garciaripoll.com/blog/org-mode-html-templates/index.html][ox-thtml]] into the [[https://gitlab.com/flonic/org-blog/-/blob/master/ox-bulma.el][ox-bulma]] exporter, an (unfinished) example page can be found
[[https://flonic.gitlab.io/org-blog/blog/emacs-transient-tutorial/index.html][here]]. I guess in the end the =org-wiki= could replace the [[https://gitlab.com/dalanicolai/easy-thtml][easy-thtml]] package
(which is a very basic start to "port" the [[https://github.com/masasam/emacs-easy-hugo][easy-hugo]] package to =org-thtmtl=).


** Changelog (changes/additions w.r.t. original org-wiki)
- automatically create/sync index from existing wiki pages files (to leave the
structure of the index intact, the "index updater" which produces a
structure as found in the file system, will be replaced by an "index
checker" which uses =cl-set-difference= to find differences with files on
disk, but leaves the index structure intact)
- add deletion command
- add find page command using completion-read (compatible with most completion
frameworks like ivy, selectrum etc.)
Expand Down

0 comments on commit a2f87b8

Please sign in to comment.