1. Introduction
    1. About Outline-processor
      1. GUI for read, but not for write
        1. Offline
          1. About Wiki
            1. Offline wiki + git = best solution!
            2. Design
              1. Purpose
                1. Feature
                  1. toggle to show/hide each content
                    1. header numbering
                      1. bulk-mode update
                        1. juli-repository
                        2. auto link between memo
                        3. Using with git
                        4. Install
                          1. from gem
                            1. from package
                              1. from repository
                              2. See Also
                                1. Sub topics
                                  1. Competitor
                                    1. External Link
                                    2. Misc
                                      1. Feedback
                                        1. Author
                                          1. License

                                          Recent Updates
                                          juli formatting

                                          Juli, an offline wiki & outliner with your favorite editor

                                          This is top document for juli. Introduction, installation and juli formatting are described here.

                                          (If you are reading index.txt in juli package after installing juli(1), please run juli(1) as follows and read html/index.html by browser. To change output directory from html/ to your favarite one, please edit doc/.juli/config file):

                                          $ cd doc      # move to package's doc/ directory.
                                          $ juli init   # initialize doc as juli-repository.
                                          $ juli        # generate html files under html/
                                          # (Now, read html/index.html by any browser)

                                          1. Introduction

                                          Do you want to make a memo anytime anyplace(like offline environment)? Do you want to use your favorite editor for wiki and/or any documentation? Do you want to organize your idea by outline-processor and/or wiki? In wiki, Did you think it's much better to link page automatically?

                                          If you say 'yes!' at least once, juli may be your choice.

                                          I wanted to have such a tool.

                                          1.1. About Outline-processor

                                          Outline-processor is good. I prefer editor + outline-processing command wihch generates some pretty output (like HTML, PDF, etc).

                                          Outline-processor tells me the overview of what I'm thinking. However, many outline-processing tool is not enough for me because usage (keybinding, etc.) is quite different from my favorite editor.

                                          1.2. GUI for read, but not for write

                                          Outlining is necessary only when I want to browse so that it is enough to generate HTML and toggle to show/hide any level of contents. Current browser (Firefox, IE[789], etc.) has enough capability to do that.

                                          I didn't want to have any other fancy GUI since browser+HTML is enough for me.

                                          GUI tool like Word-processor or GUI outline-processor is slow to invoke the app. Key-bindings for such tools don't fit me. Editor (vi, emacs, or wahtever you are now using) is the most suitable for me to input.

                                          1.3. Offline

                                          When I'm getting in a train and working/thinking on my Note-PC, sometimes an idea comes up in my mind so I want to make the memo as quick and easy as possible anyplace anytime. In such a situation, using favorite editor is good for me to write.

                                          1.4. About Wiki

                                          Wiki is good, but it requires online. It is ok for me only to link on browsing time. I would like to make a memo offline as well.

                                          I don't want to think about "link it by WikiName, or, well, What is the notation to link in this wiki tool?" when I'm editing. Tomboy does so in realtime, but I don't need such a realtime feature. It's enough for me to link on browsing time. So, some trigger to generate auto-linked HTML covers this needs.

                                          I looked for such a tool, Tomboy, Evernote, OneNote, but from keybinding point of view, those are not good...

                                          1.5. Offline wiki + git = best solution!

                                          I know why almost all of wiki are online is because collaboration. However, offline editing and collaboration is already realized. One of good tool is git.

                                          I'm thinking offline wiki + git is the best solution.

                                          Isn't it time to create such a tool for me?

                                          2. Design

                                          2.1. Purpose

                                          Purposes of juli are:

                                          2.2. Feature

                                          Current juli has the following features:

                                          Detail explanation for each feature is as follows:

                                          2.2.1. toggle to show/hide each content

                                          Chapter, section, sub-sction, ... can be hidden/shown by clicking headerline or [+]/[-] node. This is for outline viewing.

                                          2.2.2. header numbering

                                          Header is automatically numbered as chapter, section, and sub-section, ... Currently there is no option to disable this numbering:-(

                                          2.2.3. bulk-mode update

                                          When just enter juli(1) command without any option and no file argument, it searches whole juli-repository(explained below) and generates html only for updated text files.


                                          Juli-repository (or juli-repo, in short) is a directory which contains several memos. output HTML directory can be configured at any place at 'init' command (explained at juli(1)).

                                          2.2.4. auto link between memo

                                          Similar to wiki, juli(1) creates links to another page when the source memo contains a filename (without .txt extention) and the filename.txt exists. Unlike usual wiki, juli(1) automatically generates this link.


                                          When source memo contains following paragraph:

                                          Do you know 'hello world'?  It is a basic word in computing world.

                                          and there is computing.txt file in the same directory, the memo will be:

                                          Do you know 'hello world'?  It is a basic word in computing world.

                                          and the 'computing' hyperlink referrs to the target page.


                                          • file in subdirectory of juli-repo is not recognized as a wikiname. I'll support this soon.
                                          • Wikiname in HTML tag is not recognized as wiki link.

                                          2.3. Using with git

                                          Do you know git? It is not only for programmer, but also for any file editting people. Git provides revision control of files, and collaboration with other people. Yes, it is very useful.

                                          Juli is a personal tool, but when files are controlled by git, you can collaborate with other people as online wiki(like Wikipedia) does.

                                          I think juli + git provides both offline and online advantages.

                                          Juli and git have not yet been integrated perfectly. It is necessary to do 'git init' manually. However, after that, text file revision control is handled by je(1).

                                          3. Install

                                          3.1. from gem


                                          3.2. from package


                                          1. download package from
                                          2. run setup.rb as follows:
                                          $ tar zxvf juli-#.##.##.tgz
                                          $ cd juli-#.##.##
                                          $ ruby setup.rb                       # you may need 'sudo'

                                          3.3. from repository


                                          racc tool is required when you download from Sourceforge repository and install it.

                                          $ git clone git://
                                          $ cd jjjuli
                                          $ rake                                # generate ruby source from *.y files
                                          $ ruby setup.rb                       # you may need 'sudo'

                                          4. See Also

                                          4.1. Sub topics

                                          Please read the followings for each topic:

                                          tutorial:Tutorial how to use juli.
                                          je(1):je(1) command document
                                          juli(1):juli(1) command document
                                          juli formatting:juli wiki formatting document
                                          template:juli template document
                                          juli_tb.rb(1):juli_tb.rb(1) command document
                                          slidy:Slideshow generator
                                          takahashi_method:Slideshow generator (Takahashi method version)
                                          doc/app:juli API document (generated by 'rake doc')
                                          i18n:Internationalization in juli
                                          tips:several Howto-s

                                          4.2. Competitor

                                          I had researched several tools before starting juli project. I also see similar tools since juli project started.

                                          See Comparison table for the detail.

                                          I found the following competitors also after the comparison research:

                                          4.3. External Link

                                          5. Misc

                                          5.1. Feedback

                                          Any feedback is welcome. Please check the followings:

                                          5.2. Author

                                          Fuminori Ido,

                                          5.3. License

                                          You can use/re-distribute/change juli under GPL. This distribution include files that are copyrighted by somebody else, and these files can be re-distributed under those own license. These files include the condition of those licenses in themselves.

                                          Get jj_juli at Fast, secure and Free Open Source software downloads | Generated by juli 1.17.01