# OutWiker - the tree notes organizer

## Description

OutWiker is designed to store notes in a tree. Such programs are called "outliner", personal wiki, or tree-like editors. OutWiker's main difference from the other similar programs is keeping the tree of notes in the form of directories on disk, and encouraging changing the base by external sources and programs.

Also any number of files can be attached to the page. OutWiker can contain pages of different types, currently supports three types of pages: plain text, HTML pages and wiki pages, but the number of types of pages will increase in future.

The program uses some sets of free icons taken from sites famfamfam.com, yusukekamiyamane.com and fatcow.com. Many thanks to the authors of those sites.

OutWiker distributed with source code under the GPL 3.

Current version - 1.9

OutWiker for Windows
outwiker_1.9_win.exe (installer, 19 МБ).
outwiker_1.9_win.7z (7z archive, 19 МБ).
outwiker_1.9_win.zip (zip archive, 26 МБ).

OutWiker for Windows with all plug-ins
outwiker_1.9_win_all_plugins.zip (архив 7z, 30 МБ).
outwiker_1.9_win_all_plugins.7z (архив 7z, 21 МБ).

For Linux users created PPA-repository. To install OutWiker from the repository, perform the following commands:

sudo apt-get update
sudo apt-get install outwiker

Binary Linux build (x64): outwiker_1.9_linux_x64.7z (архив 7z, 17 МБ).

For others Linux distributions see Sources

## Key Features

• The base is stored as a directory tree on disk.
• Plugins supporting.
• Any number of files can be attached to each note.
• Pages can be of different types.
• Attached images can be inserted into the HTML-page.
• HTML syntax highlighting.
• Tags support.
• Support for bookmarks.
• Each tree branch can be opened as a separate wiki.
• Icons for notes.
• Cross-platform (Windows and Linux).
• Portability. Program all the settings can be stored in its directory.
• Open-source program.
• The ability to create links between pages.
• Global search on your notes and search by tags.
• Batch job with the tags.

## FAQ

#### May it be better to make the program keep notes in one file?

Keeping notes in a tree - the main feature, for which the program was developed. This does not mean that someday I will not add the option for choosing ways of storing your notes, but this will not happen in the near future.

#### Will there be a visual editor for the pages?

There are some thoughts to make a separate page type format RichTextFormat with the visual editor. Please do not exclude the possibility that there will be a visual editor for HTML-pages. But still I can't talk about dates.

#### How to install plugins

If you use OutWiker in the portable mode then to install the plug-ins need to unzip the downloaded archive to plugins folder close to the executable.

If you use OutWiker in the usual mode then select "Help - Open Plugins Folder" menu item. After that will be open folder for plugins.

Under Windows 7 / 8.x / 10 it would be:

Under Ubuntu Linux:

Take note what each plugin is a folder with the files. This plugin folder need to copy in the folder with plugins. In the preferences dialog (Edit - Preferences - Plugins) can disable plugins without remove their files from plugins folder.

## Run from source code

Source code of OutWiker is free.

To get a stable version of the source code, run:

To get the source code version of the program, which is in development, run:

git clone https://github.com/Jenyay/outwiker.git
cd outwiker
git checkout stable

To run the program from the source to be installed Python 2.7 and wxPython 2.8 (wxPython 3.0 is not supported at given time). For starting under Windows is comtypes required.

To run the command (in the directory src):

python runoutwiker.py

### Depending on Linux

• python (version 2.7)
• python-wxgtk2.8
• python-wxversion
• python-webkit-dev
• python-enchant
• libgnomeprint2.2-0, libgnomeprintui2.2-0
• pillow

## Version History

### 1.9.0.790 (April 09, 2016)

2. Created the groups for the icons.
3. Now users can add custom icons.
4. The choice of colors for the tag cloud.
5. The choise the action when you make left or middle mouse click on the tag.
6. The choise the action when you make double mouse click on the attached file.
7. Added the new wiki commands for the table creation: (:table:), (:row:), (:cell:), (:hcell:).
8. Improved search het keys for the actions.
11. Now in the link inserting dialog you can select an attached file to create link to it.

1. Bug fixes

### 1.8.0.750 (October 11, 2014)

1. Added the ability to customize keyboard shortcuts.
2. Added the ability to refer to a page using unique identifiers.
3. Added the ability to navigate through the links to pages with the anchors (page://bla-bla-bla/#anchor).
4. Added the ability to use relative paths in the links on the pages (../../page 1/page 2).
5. Added the ability to change the page style for branch of the pages at the same time.
6. Added the ability of search and replace on the page.
8. Added the ability to change the editor colors.
9. Added the ability to change the behaviour of the Home / End keys id the editor (go to begin / end of the string or the paragraph).
10. Added a new tag of the wiki syntax for quoting: [>...<].
11. Added the button and menu item insertion the current date and time
12. Added the commands (:crdate:) and (:eddate:) for insertion the creation and edition dates of the page respectively.
13. Added the dialogs for the comands (:attachlist:), (:childlist:) and (:include:).
14. Added the ability to sort child pages for the creation and edition date in the command (:childlist:).
15. On the global search page added the ability to sort child pages for the creation date.
17. Added the popup tooltips for icons in the property dialog for page.
18. Added a new styles for page design.
19. Added the button and menu item for opening a folder with a attached files in a system file manager.
20. Added the saving recent used page style.
21. Added the saving cursor position for page before closing.
23. Now in the attachments panel showed the files icons.
24. Changed the hyphenation algorithm (br tags instead of p).
25. Now opening the notes tree and global search cunduct in a separate thread.
26. Now for every page saved the creation date.
27. Now all HTML tags, which the wiki parser create, in a lowercase.
28. Now help will be open in a separate window.
29. Settings moved from ~/.outwiker more ideologically correct place (depending on the operating system).
30. Added new icons for pages.
31. Many accelerations.
32. Bug fixes and improvments.

Немного рекламы

Axel Bjelke 06.12.2012 - 00:43

Character set

Hey, thanks for a great program!
Just wonder if there's possible to change default char set in HTML-mode from 'CHARSET=UTF-8' to 'CHARSET=iso-8859-1'. I'm writing in Norwegian, meaning I use special characters (æøå). These don't show in UTF-8.

Jenyay 06.12.2012 - 15:08

Easy to change the encoding to iso-8859-1 does not succeed, but I think that can be done. Unicode is not really in these characters?

Axel Bjelke 07.12.2012 - 01:31

Checked it out a bit more and it seem to depend on how i open the file:
1. If I manually copy the text from HTML-view, save it as .html-file and open it in my browser (Opera) it does NOT show Norwegian characters. But,
2. If i just open the .html-file from Outwiki's filesystem the browser gets it right!
- Well, I guess theres no big problem here!
Thanks again.

abc163 10.12.2012 - 01:46

I am currently using WikidPad, tiddlywiki and Emacs. I tested outwiker, and it is a very nice personal wiki. I believe it would be more powerful if it adds more features like:

2) link to an anchor on another page
3) open a page and link on a split frame or a separate window.

I like the spoiler plugin. If those lines and borders of the spoiler can be removed, the page would look cleaner.

It says version 1.7 can open notes in separate tabs. I found that only note links can be opened on separate tabs by right-clck context menu. Can those notes on the tree do the same way?

My OS is windows xp sp3. Thanks!

Jenyay 10.12.2012 - 15:04

Thanks for the suggestions, I'll add them to the ToDo list.

In spoiler plugin I'm going to make the ability to customize style elements.

To open the page in a separate tab, you can first create a new tab with Ctrl + T, and then select the desired page. Or when you click on the page in the tree to keep pressing Ctrl.

abc163 10.12.2012 - 19:21

Your method on opening pages on new tabs works very well. Thanks! Hope outwiker grow successfully!

kabatza 11.01.2013 - 01:14

2 suggestions.

1. on create new page have as default a title "New page" with auto increase(or even without) just to speed up the page creation a little.

here is a good one you could use http://gtkspell.sourceforge.net/

Anyway even without these....this is one GREAT Application!!!

Jenyay 11.01.2013 - 08:54

1. Added to Todo, maybe someday I will do :)

2. This is already in the plans.

nnsense 29.04.2013 - 19:30

G-R-E-A-T-E

Really, really awesome. I really don't feel any missing, after your program i begun moving all my notes into it! Great work, keep it up! :)

AWRog 09.11.2013 - 17:51

Great program and nice alternative to TheGuide and even TreePad

Really usefull program, easy to understand.
Nice features (storing attachments, thumbail and childlist-command are great).

Nice alternatives for TheGuide and even Treepad!!

Netsaver 19.11.2013 - 22:59

Personalize HTML meta tags

I personally find really awesome this application. I don't use wiki, but I can insert simple html content in the application and if I want add more sophisticated tags, it's immediate to open the page in external apps.
Anyway I feel the missing of the head section.
- the html title could be taken from the page name
- the html content could be taken from the page tags (so allowing the exported sites being browsed by tags)
- other useful info as date, author, could be added to meta tags
- it could be referred dedicated css file (per-page)
All these functions could be applied simply allowing a template for the head section added in the content.html.
Of course I could change it, but if I change page.text, the modification is reflected into the final content, while head section is hard-coded.

Jenyay 20.11.2013 - 09:03

Ok. I will add this reauest in the ToDo list.

Netsaver [netsaver@libero.it] 14.03.2014 - 19:02

Hi, I think that internal links to other tree elements should work also opening html with browser.
That is, the root of the relative path is known by the application, but should be written into the _content.html, otherwise it will start from disk root file:///C:/...
e.g. see your help - link node - open it with browser...
Suggest to:
- count node level(e.g. link node in your help is level 3)
- repeat string '../' up to node level (relative root path)
- insert rel.root path + node path + /_content.html in the link url field
Obviously the link should work at the same time from inside and outside outwiker...
Thanks and regards,
Netsaver Paul
Rome, Italy

Netsaver [netsaver@libero.it] 17.03.2014 - 15:02

Just to be clear,in the previous comment I referred to preview with browser, before (and not after) exportation...
Maybe the preview was designed per-page, not per-project.
By the way, is there any possibility to modify the head tags (per project, not per page, which was another issue) to add some javascript? I'ld like to use MathJax for displaying math formulas in html (this release offers math support for wiki only).
Thanks and regards,
Netsaver, Rome

bacca400 25.07.2014 - 19:49

Do you have an English version?

Your web pages does not mention if the version of the program is in English. I could really use this to organize my Linux notes, but I only read English.

Is an English version possible? Thank you.

Jenyay 26.07.2014 - 10:08

Yes, English language is supported.

Pawel 14.09.2014 - 23:54

BibTex and html export

Hi,

could you add support for BibTex bibliography and exporting whole wiki to HTML easy browsable via webbrowser (without outwiker)?

Jenyay 15.09.2014 - 09:31

You can use plugin Export2HTML - http://jenyay.net/Outwiker/Export2HtmlPlugin for export to HTML.

As for BibTex, I add task in ToDo but I can not promise that I will do soon.

Pawel 16.09.2014 - 20:46

Is it possible to do bigger block of monospaced-texts?

I would like to do some code listings, the
@@
many lines
@@

removes indentation.

Jenyay 16.09.2014 - 22:42

Yes, use

[@ many lines @]

And for code can to use plugin Source.

Pawel 16.09.2014 - 23:03

Works very good, even ocaml is supported (exacly what I need).

I had to tell that Outwiker seems to be very very good software. Big thanks.

Pawel 16.09.2014 - 23:17

Ok, one more suggestion.

What do you think about removing root from wiki outline? I can have only one wiki open in window. In my humble opinion hiding root could improve readability.

Pawel 16.09.2014 - 23:33

Another suggestion.

Could you add shortcuts for navigation? Standard keys works on outline until I open page which is in Wiki mode. Then focus is captured by editor and I cannot continue navigation.

Jenyay 17.09.2014 - 09:01

> What do you think about removing root from wiki outline? I can have only one wiki open in window. In my humble opinion hiding root could improve readability.

Root shows to be seen what the wiki is open now.

> Could you add shortcuts for navigation? Standard keys works on outline until I open page which is in Wiki mode. Then focus is captured by editor and I cannot continue navigation.

Buttons back / forward?

Pawel 18.09.2014 - 23:05

> Root shows to be seen what the wiki is open now.

I think that it would be more clear to have current wiki name inside some label above wiki's outline tree.

> Buttons back / forward?

I think that you could add those buttons:
- go to next/prev page [next in outline]
- go to next/prev sibling page
- go to parent
- expand/collapse children of current page

But I am not sure if would use them all when you will add them :-).

Most of required functionality can be achieved by keyboard when focus is on the wiki's outline tree. Maybe some key to give focus on this outline would be enough? Then you could just add some shortcuts for collapsing and expanding [space does something else] on outline.

Jenyay 19.09.2014 - 09:20

Ok.

Pawel 09.10.2014 - 13:45

Undo remove

I accidentally removed Wiki page. Can it be restored? If not, could you extend UNDO to support this?

Jenyay 09.10.2014 - 14:19

Currently this is not possible. In the future I am going to make a recycle bin.

tpr 12.10.2014 - 15:56

attachments

Do you plan to add an option to keep the attached files in their original folders, instead of copying them? That would be a great functionality.

Jenyay 12.10.2014 - 16:31

Thanks for the idea. Have not yet thought about it.

Pawel 19.10.2014 - 01:57

Slow

The stable version is slow. I am doing notes from an on-line course, and after 487 lines typing new text is slow.

My wiki page uses only bullet lists and many headers (I can send you for testing)

When typing I can see that typed character is formatted with delay.

Jenyay 19.10.2014 - 09:32

Yes, send please example on jenyay.ilin@gmail.com

Axel Bjelke 12.11.2014 - 21:54

Windows 8.1

Does version 1.8.1 work with Windows 8.1?

lliseil 10.02.2015 - 14:37

Hi Jenyay
Outwiker has great features to organize ideas. I use 1.7 on Linux. I luv how the tags are easily added, edited and displayed to find relevant stuff :)

Now what about folding, to easily display the main structure of any document? I miss that so much.
Wrap/Nowrap lines would be another small nifty feature, I believe.

Harold  17.05.2015 - 01:41

How to set global style?

Hi Jenyay,
How do I change default style to AVC?
Thank you

Jenyay 17.05.2015 - 20:25

RE: How to set global style?

At present time OutWiker can't change default style but after creation of the page with any style, this style will be selected default.

Harold Hoffmann 27.07.2015 - 19:28

Directory Tree

Hi Jenyay,
I have been using the program and think it is great! Thanks.

Is there an easy way to import an existing directory tree?

The page titles are the names of the existing directories.
Each folder contains files to be attached to the Wiki page. There also are pdf files which would be linked to the wiki page.

Thank you,
Harold

Jenyay 28.07.2015 - 13:12

Hi Harold.

I want to make plugin for some import in future. I have also many directories, which I wish to convert to wiki. :)

Arno 07.10.2015 - 11:09

Include note

It would be great if I could re-use the content of a note in another note.
The include-command could be expanded with the option to include another note

Mark 28.10.2015 - 21:33

Outwiker has some great potential but still somewhat limited. Any idea if we will ever see any of the features listed below:

1) Indexed file content search with keyword highlighting
I know developing a powerful search indexer is a full project on its own, but there are already numerous interesting titles out there that could be used as a plugin or addon. A few that come to mind is DTSearch and Apache Lucene. In addition, to make a full use of the search engine, a powerful internal file viewer like Oracle Outside In would come handy in order to display search hit results inside of documents (PDF, DOCX, XLSX, RTF, HTML, etc.).

2) Convenient tagging - something similar to Evernote or TagSpaces. This would allow to quickly group notes/files/folder by urgency/subject/time etc.

Jenyay 29.10.2015 - 08:48

Hello, Mark. Thank you for feedback, the ideas are interested. I agree that the search page need to develop. As for the tag, I'll see how it is made into Evernote

cds2 04.01.2016 - 18:03

Hi, is there any chance to get specific nodes password-protected in the future?

Jenyay 04.01.2016 - 22:59

It is possible. Now You can use VeraCrypt or encfs for encryption whole notes tree.

js 11.01.2016 - 10:45

wxPython 3.0

Is there any plan for support wxPython 3.0 ?
And is there a Donation page on english? :)

js 11.01.2016 - 11:28

Sortable Tables

I tested http://www.kryogenix.org/code/browser/sorttable/ and works good :).

Jenyay 12.01.2016 - 10:13

> Is there any plan for support wxPython 3.0 ?

Yes, I plan go to wxPython 3.0 after release Outwiker 1.9.

Donation page - https://www.paypal.me/jenyay :)

> Sortable Tables

Ok. I added this to ToDo list.

Jenyay 16.01.2016 - 20:04

Thanks for the donation :)

WS 15.03.2016 - 21:46

difficulty reading .html pages in browser

I like OutWiker, and am trying to use the html on my iPhone, using an app called Html Reader.
Some .html pages show great, others show only Attachment and Child Pages (and this is true even in a browser on the computer).
Can tell me why, and how to predict what kind of webpage copied in to OutWiker is going to be unreadable this way?
Thanks much!

coco 09.07.2016 - 17:07

Is there a collapse all shortcut key? I think it would be good if we can collapse all expanded branches in one click or using shortcut.
Thank you

Joseph 18.07.2016 - 13:26

Issue while installing on fresh Ubuntu 16.04 LTS

Reproducing steps:

Install fresh Ubuntu 16.04 LTS

$sudo apt-add-repository ppa:outwiker-team/ppa ...$ sudo apt-get update
...
$sudo apt-get install outwiker Reading package lists... Done Building dependency tree Reading state information... Done Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation: The following packages have unmet dependencies:  outwiker : Depends: python-wxgtk2.8 but it is not installable  E: Unable to correct problems, you have held broken packages. Jenyay 18.07.2016 - 14:34 Yes, I know about this problem. wxPython 2.8 was removed from Ubuntu 16.04. The current unstable OutWiker version uses wxPython 3.0 and work well - http://jenyay.net/Outwiker/UnstableEn Mike 30.08.2016 - 16:14 Too many duplicate files I have tried this application, and I quite like it. There is however a tiny issue preventing me from using this to keep track of my notes as my own personal mini wiki. Looking at the saved file structure it appears that the icon is saved in the nodes folder (__icon.png), and when I create blank pages (for structure purposes) they seem to create some content files that are identical to other blank pages. This for most will not be an issue, but I frequently run duplicate checks on my computer as I have in the past been known to accumulate too many files. As the __icon.png files seem to be the same, and blank files seem to be the same, they will flag as duplicate files and cause some problems. Usually I zip files together to avoid this, however for a constantly changing, constantly accessed program, this is not really an option. Maybe if I get a chance to improve my python skills I can implement some changes to fix these small issues. Overall it is a nice program, and for most users the tiny issue I mentioned will not be of any concern. So many thanks for the time and effort that has gone in to creating it. On a side note to WS, I also have seen the "Attachment and Child Pages" issue. But for me it only appears on blank pages. Joseph 18.10.2016 - 11:09 Outwiker doesn't starts on latest Ubuntu 16.10 Outwiker Unstable worked perfectly on Ubuntu 16.04 http://jenyay.net/Outwiker/UnstableEn Recently Ubuntu 16.10 was released and after upgrade, the Outwiker fails to start. Is there a quick and easy way to fix it? Here is the error message from the CLI:$ outwiker
11:06:02 AM: Debug: Failed to connect to session manager: SESSION_MANAGER environment variable not defined
Traceback (most recent call last):

  File "runoutwiker.py", line 113, in <module>
outwiker = OutWiker(False)
File "runoutwiker.py", line 40, in __init__
wx.App.__init__(self, *args, **kwds)
File "/usr/lib/python2.7/dist-packages/wx-3.0-gtk2/wx/_core.py", line 8628, in __init__
self._BootstrapApp()
File "/usr/lib/python2.7/dist-packages/wx-3.0-gtk2/wx/_core.py", line 8196, in _BootstrapApp
return _core_.PyApp__BootstrapApp(*args, **kwargs)
File "runoutwiker.py", line 86, in OnInit
starter.processGUI()
File "/usr/share/outwiker/outwiker/core/starter.py", line 34, in processGUI
self.__openRecentWiki ()
File "/usr/share/outwiker/outwiker/core/starter.py", line 84, in __openRecentWiki
openWiki (Application.recentWiki[0])
File "/usr/share/outwiker/outwiker/core/commands.py", line 198, in openWiki
Application.wikiroot = result
File "/usr/share/outwiker/outwiker/core/application.py", line 315, in wikiroot
self.onWikiOpen(self.__wikiroot)
File "/usr/share/outwiker/outwiker/core/event.py", line 54, in __call__
handler[0](*args, **kwargs)
File "/usr/share/outwiker/outwiker/gui/tabscontroller.py", line 260, in __onWikiOpen
File "/usr/share/outwiker/outwiker/gui/tabscontroller.py", line 232, in __loadTabs
self._application.selectedPage = self._tabsCtrl.GetPage (selectedTab)
File "/usr/share/outwiker/outwiker/core/application.py", line 379, in selectedPage
self.__wikiroot.selectedPage = page
File "/usr/share/outwiker/outwiker/core/tree.py", line 393, in selectedPage
self.root.onPageSelect(self._selectedPage)
File "/usr/share/outwiker/outwiker/core/event.py", line 54, in __call__
handler[0](*args, **kwargs)
File "/usr/share/outwiker/outwiker/core/event.py", line 54, in __call__
handler[0](*args, **kwargs)
File "/usr/share/outwiker/outwiker/gui/currentpagepanel.py", line 92, in __onPageSelect
self.__updatePageView (page)
File "/usr/share/outwiker/outwiker/gui/currentpagepanel.py", line 125, in __updatePageView
self.__createPageView(page)
File "/usr/share/outwiker/outwiker/gui/currentpagepanel.py", line 143, in __createPageView
pageView = factory.getPageView (self, Application)
File "/usr/share/outwiker/outwiker/pages/wiki/wikipage.py", line 77, in getPageView
return WikiPageView(parent, application)
File "/usr/share/outwiker/outwiker/pages/wiki/wikipageview.py", line 32, in __init__
super(WikiPageView, self).__init__(parent, application)
File "/usr/share/outwiker/outwiker/pages/wiki/basewikipageview.py", line 24, in __init__
super (BaseWikiPageView, self).__init__ (parent, application)
File "/usr/share/outwiker/outwiker/pages/html/basehtmlpanel.py", line 56, in __init__
self.htmlWindow = getOS().getHtmlRender (self.notebook)
File "/usr/share/outwiker/outwiker/core/system.py", line 213, in getHtmlRender
return HtmlRenderWebKit (parent)
File "/usr/share/outwiker/outwiker/gui/htmlrenderwebkit.py", line 45, in __init__
import wx.html2 as webview


ImportError: No module named html2
Error in atexit._run_exitfuncs:
Traceback (most recent call last):

  File "/usr/lib/python2.7/atexit.py", line 24, in _run_exitfuncs
func(*targs, **kargs)


PyAssertionError: C++ assertion "GetEventHandler() == this" failed at ../src/common/wincmn.cpp(478) in ~wxWindowBase(): any pushed event handlers must have been removed
Error in sys.exitfunc:
Traceback (most recent call last):

  File "/usr/lib/python2.7/atexit.py", line 24, in _run_exitfuncs
func(*targs, **kargs)


wx._core.PyAssertionError: C++ assertion "GetEventHandler() == this" failed at ../src/common/wincmn.cpp(478) in ~wxWindowBase(): any pushed event handlers must have been removed

Jenyay 18.10.2016 - 11:50

Thanks for the report. Is the python-webkit-dev package installed?

I will update Ubuntu in the coming days.I will try to fix everything quickly.

Joseph 19.10.2016 - 19:52

Outwiker doesn't starts on latest Ubuntu 16.10

Yes, the "python-webkit-dev" (1.1.8-3.1) package is installed.

Jenyay 19.10.2016 - 21:08

To fix this problem install python-wxgtk-webview3.0 package.

Jenyay 20.10.2016 - 10:21

Today I uploaded a new build to PPA with fixed problem with Ubuntu 16.10.

peti  23.02.2017 - 20:01

outline tree properties

Hello, is it possible to change th font size (color) on the outline tree panel?
Great program, thanks!

Jenyay 24.02.2017 - 11:21

Re: outline tree properties

Hello, Peti!

I want to add ability to change the color and font in the notes tree in a future version 2.1.

 Subscribe Name: Title: Comment Enter code 884