TODO / Roadmap:

If you have any suggestions or comments, feel free to contact me on the mailing
list or directly per mail. Even if a feature is listed here already it might
speed up the implementation if you tell me that you'd like its addition ;)


=== Roadmap ===


O Place subtags behind hashtags inside the text itself:
  I met #Sarah and we had some coffee talking about old times# then i went to #work.
  Maybe it's better to use #Movies:Oblivion
X Insert Latex formulas (LP:851471)
  X Preview Latex formulas
  X Highlight formulas in edit mode
  X Support formulas in all exports
  X Add menu item for inserting formulas
X Tables
  X Highlight tables in edit mode
X Numbered lists
X Add quotes by indenting them with a tab
X Show warning if last backup dates to more than one month before
O Make default css prettier
O Think about supporting %include, %preprocess, etc.
O Scroll to searched text when a result is clicked in preview mode (seems difficult in webkitgtk)
O Make the right panel an advanced option?
O Auto-merge: When saving a file, check if its changedate is newer than the time
  when we opened the file and merge the contents if it is.
O When clicking on a hashtag in the tag cloud scroll to tag and highlight it (seems difficult with webkitgtk)
O Hierarchical hashtags: #dream/recurring/houses and let user "zoom in" in tag cloud.
  Maybe better: Use multiple tags and allow iteratively filtering them in tag cloud.
O Exports: add option to insert a page break between days. Use hr for HTML exports.
O macro system that takes predefined text like {weather} and turns it
  into other text for the preview, e.g. an HTML snippet that displays that day's weather symbol.
O Remove tag pane. Make sure that inline tags allow subtags first and that these are displayed when searching for the tag.
  Allow formatting subtags (--groceries--).
O Add testimonials to homepage.
O Make font options more uniform (not free-form vs. browse button)
O Live preview of selected font in editor pane
O Export the entries of search results
O When searching for a tag, show text near tag in search results
O Allow searching for hashtags and show subhashtags in the search results
O Make sure that RedNotebook contents are saved under Windows when system is shutdown.
O Make sure there is no race condition between automatic and manual saving that could cause data corruption.
O When searching for a tag, show text around tag, not beginning of day's text.
O Search: Wrap or overlay search results to make more text visible.

Tag pane hiding:
O tag pane width relative to right window edge, if you resize the pane
  to 0 width it effectively disappears. If you resize the overall window
  the pane then stays hidden.
O a button on the tool bar to show/hide it on demand, returns to the
  previous width relative to the right hand window edge
O a preferences option to disable the pane, but I think the two points
  above in combination are a better solution to the brute force method
  of just killing the feature (but I'd take that too!)

O Enable right-click menu for copying in preview
  We don't want the menu with "Reload", so we can either
  - Create our own menu
    - Complicated
  - Only show the menu if there's a selection
    - WebView.has_selection() seems to be broken

O Imports
  X RedNotebook Backup zipfile
  X RedNotebook data directory
  X Plain text files
  O ics (used by Google Calendar)
  O Almanah
  O Lifeograph
  O Evernote
  O Wordpress?
  O Treepad?
  X Tomboy

  O Suggest input encoding, but let user set it afterwards

O Custom-style Journals? (Allow custom css files for preview rendering, e.g. Mono-space, white text on black bg)
O Translate help (Restructure first using Sphinx?)
O Possibility to show all entries (Search for "*" or show all entries if no text has been entered)
O Make txt2tags faster and fix bugs
O Search and replace (useful for renaming categories and other names)
  (Add replace functionality after search has been entered)
O Add per-journal configuration?
  O Per-journal fonts and size


2.0
O Copy files and pictures into data subdirectory
O Encryption
O Internal links to other days
O Filter exports by tags
O RTF export


Windows:
O Make windows installer truly portable (leave no traces in registry)
  Probably it's better to distribute a zip archive for this.

New format:
O Use json instead of yaml (wait till after port to Python3)
O Use standard paths? (Win: C:\Docs & Settings\username\My Documents,
  Linux: ~/.local/share, ~/.config (http://live.gnome.org/Tomboy/Directories))

Development:
O Use dwolla once it's available in Germany
O Have a look at SimpleNotes
O Try using dogtail for UI tests (https://fedorahosted.org/dogtail/)
O Release nightly windows versions (maybe only zips?)





=== Maybe even some of those features will make it into RedNotebook ===

O Automatic insertion of photo links for current day (use zeitgeist or tracker to search hard-disk for photos)
O Picture slide show in one entry with many images (in preview show nice
  javascript slide show of pics in linked picture directory) (Think about new format first)
O Ability to make certain entries, eg. birthdays, with frequencies
O Plugin system?
O Entries without dates (bookmarks, contact lists)?
O Add more shortcuts for insertions (e.g. horizontal lines)
O Improve startup time by showing the window and doing the rest of the initialization
  in an idle loader.

O Support %!include macro?

O Separate page and textarea instead of textbox for black- and white list?
O Color submenu in format menu with additional color picker and color highlighting in edit mode



=== Features that will **not** be implemented ===

- ``monospaced`` (we only want one font)
- verbatim / raw ( """/"" - supported, undocumented) (too confusing / poorly behaving)
- remote pictures (pictures would have to be downloaded and saved in a folder for exports)
- dataDir Lock (for multiple TRN instances) (unneeded)
- Tags in text entries (e.g. @film:Batman) (KISS)
- Copy/Paste category entries (Too complicated)
- Add --portable command line parameter (The default config file is better)
- word wrapping while editing category entries (too complicated, would involve writing C code)
- Language selection for spell checking (is already implemented in new versions of gtkspell)
- Todo tab next to clouds (KISS)
- Automatic Backups (KISS, intruding, gentle messages are better)
- Rethink linebreaks? (Changing paragraphs in txt2tags will probably crash
  everything, Current behaviour should be fine)
- allow opening config file from within RedNotebook
  (Probably no good idea as some options might be unavailable or confusing)
- Make the Format button remember its last action -> No, current behaviour good enough.
- Tabs for different notebooks (KISS)
- Add option for time interval between automatic savings? (KISS)
- Let user select the language for RedNotebook in Windows installer (User wants his win language)
- Get proper file layout with one script not part of module (Everything works without name clashes)
- Use threads for file loading and link opening (Probably a bad idea since threads are a source of errors)
- List recently opened journals under "Journal" -> "Recently Used" (KISS, config option needed)
- Drag and Drop for Windows (gtk inter application dnd isn't implemented on win32)
- Use configobj for config files (KISS, Never change A running system ;)
- Search for multiple words at the same time (KISS)
- For each journal to have its own templates (KISS)
- Let the Search type selection remember the selection between sessions (KISS)
- Let the Annotate and Tag window box remember their positions between sessions (KISS)
- Select template file when clicking the button instead of adding weekday's file
- Use categories for number data and present it graphically (KMs, Cash, Calories) (KISS)
- Check for duplicates in cloud blacklists (Does not make much sense since each word
  can only be right-clicked once in the cloud)
- Right-click on word in main text area to add it to cloud whitelist
  (Functionality will be difficult to find, would have to be implemented for
  preview as well)
- Image resizing with PIL (The width parameter is more useful)
- Use attributes for formatting glade strings for easier translation
  (requires gtk+-2.16 and does not make much sense now that all strings have been translated)
- Move the "update application" command into the help menu (central place for the checking is better)
- Use a custom config.t2t per diary (https://sourceforge.net/apps/phpbb/rednotebook/viewtopic.php?f=3&t=126)
  (This will be overkill for most users and having a data subdirectory for images etc. will suffice)
- Open the exported file after the export? (No other program does that)
- Monitor clipboard and add all copied stuff into RedNotebook in "clip mode" (unintuitive, KISS)
- Generalize tags to "hierarchical tags" (This is the job of outliners)
- Add additional one-click menu (like the one with Search and Tags Cloud) that
  contains quick links to other journals
  (https://sourceforge.net/apps/phpbb/rednotebook/viewtopic.php?f=4&t=23) (KISS)
- Syntaxhighlighting support (pygments) (KISS, can probably be done with javascript)
- Support for 'inline files': read content from file upon preview of page and
  add the contents of the file inline (which allows for 'dynamic' content) (KISS)
- Field or shortcut to enter a date and takes you there (One navigation suffices)
- Disable cache for preview to support previewing externally changed files (Rarely used, might slowdown app)
- Use new markup for images: {/home/user/pic.png?50} (Too disruptive)
