Main repository of the zim desktop wiki project

Overview

Zim - A Desktop Wiki Editor

zim banner

Zim is a graphical text editor used to maintain a collection of wiki pages. Each page can contain links to other pages, simple formatting and images. Pages are stored in a folder structure, like in an outliner, and can have attachments. Creating a new page is as easy as linking to a nonexistent page. All data is stored in plain text files with wiki formatting. Various plugins provide additional functionality, like a task list manager, an equation editor, a tray icon, and support for version control.

Screenshot

Zim can be used to:

  • Keep an archive of notes
  • Keep a daily or weekly journal
  • Take notes during meetings or lectures
  • Organize task lists
  • Draft blog entries and emails
  • Do brainstorming

Installing from a Package

Most linux distributions include zim in their package repository. On debian and ubuntu to package is simply called "zim".

Debian/Ubuntu packages and a windows installer can be found via https://zim-wiki.org/downloads.html

On Mac OS X, zim can be installed from Homebrew using,

brew install zim

Optionally, you can create a .app wrapper for convenience.

Installing from Source

NOTE: To test zim it is not needed to install. You should be able to run it directly from the source directory by calling ./zim.py. (To run a translated version from the source first call ./setup.py build_trans.)

First you should verify you have the dependencies zim needs. To list all dependencies check ./setup.py --requires.

You will at least need the following:

  • Gtk+ >= 3.18
  • python3 >= 3.2
  • python3-gi (also known as pygobject, but make sure to have the "gi" based version)
  • python3-xdg (optional, but recommended)
  • xdg-utils (optional, but recommended)

To verify zim is working properly on your system you can call the test suite using ./test.py. Failures do not have to be critical, but in principle all tests should pass.

Zim can be installed from source using:

./setup.py install

Most plugins have additional requirements. These are listed in the plugin descriptions.

Ubuntu

On Ubuntu or other debian derived systems, the following packages should be installed:

  • python3
  • gir1.2-gtk-3.0
  • python3-gi
  • python3-xdg

Windows

On windows the "msys" environment can be used to install python3 with Gtk and run zim from source. See https://www.gtk.org/docs/installations/windows/ for detailed instructions.

Make sure to include the python bindings as well.

Note: after installation the "msys" environment offers a "32" and a "64" bit shell. When you installed the "64" packages for Gtk, they will only run from the "64" shell.

Mac OS X

You can run zim on mac if you have the proper dependencies installed.

If you are using Mac Ports packages installing the following ports should work:

TODO: new instructions for Gtk3 / Python3

If you are using Homebrew package manager, the proper dependencies can be installed using

brew install python gtk+3 pygobject3

Once done, install

brew install zim

Then run from terminal

zim

Or make a wrapper app for Zim so that you can keep it in the launcher and open it as a native Mac OSX app.

Install Paths

If you install in a non-default location you may need to set the PYTHONPATH environment variable in order for zim to find it's python modules. For example, if you installed the modules below "/home/user/lib/zim" you need to set:

PYTHONPATH=/home/user/lib

Also zim uses the XDG paths to locate data and config files. If you get an error that zim can not find it's data files For example, if you installed the zim data files to "/home/user/share/zim" you need to set the data path like this:

XDG_DATA_DIRS=/home/user/share:/usr/local/share:/usr/share

Contributing

See CONTRIBUTING and PLUGIN_WRITING for information on contributing to the zim source code, translations and documentation.

Copyright and License

Zim is an open source program. This means it can be used and distributed freely under the conditions of the license.

All files in this package, with the exception of those mentioned below are copyrighted by Jaap Karssenberg [email protected]

Translations are copyrighted by their respective translators. All translations that are entered through the launchpad website are distributed under the BSD license. See the translation files for detailed translator credits.

The following files were included from other sources:

  • zim/inc/xdot.py - Copyright 2008 Jose Fonseca
  • zim/inc/arithmetic.py - Copyright 2010, 2011 Patricio Paez
  • From the default Gnome icon theme:
    • pixmaps/task-list.png (was: stock_todo.png)
    • pixmaps/attachment.png (was: mail-attachment.png)
  • From Gtk+ 2.8
    • pixmaps/link.png (was: stock_connect_24.png)
  • pixmaps/calendar.png (was: stock_calendar-view-month.png) Copyright 2007 by Jakub Steiner, released under GPL modifications copyright 2009 by Gabriel Hurley
Comments
  • Copy to clipboard fails on Win10, 64bit.

    Copy to clipboard fails on Win10, 64bit.

    On version 0.66, Zim doesn't copy text to clipboard. You can copy/paste text inside Zim, but when you try to paste on notepad, notepad++, or any program other than Zim, Paste option is disabled.

    needs investigation 
    opened by ranaguir 51
  • native macOS application bundle

    native macOS application bundle

    Hello,

    I am working on packaging Zim as native macOS application bundle. The goal is to produce

    • a completely self-contained and relocatable app,
    • supporting OS X Yosemite 10.10 to macOS Catalina 10.15
    • without external dependencies (Homebrew, Python, ...),
    • without the need for 3rd party launchers or wrappers and to
    • distribute it as notarized disk image.

    If this is of interest to you, I can offer to contribute macOS releases for the Zim project instead of doing this in a fork on the side. Let me know what you think.

    opened by dehesselle 45
  • Performance issues - 30s time lag on opening pages

    Performance issues - 30s time lag on opening pages

    First of all, thanks for a wonderful utility. I have been using Zim wiki since 2012 and absolutely love this utility. I am into education and have influenced several students to use it during their studies. We also use it in our company to check in information about company processes.

    I started noticing performance issues around 2016 when the number of pages would have crossed 6000. I upgraded my laptop around this time (i7/16 GB RAM/SSD storage) and made a few hacks by disabling the index and only updating when I do an "Update Index". This served another 2 years.

    Now, after 6 years and 12000 pages of heavily cross linked content, I am finding Zim almost unusable. It takes over 30 seconds to load and every page click freezes Zim for 10s of seconds before allowing me to view/edit. I would have happily moved on to some other solution, but unfortunately (and fortunately for Zim) there is no solution that serves my needs. I really love Backlinks and the automatic update of Backlinks when pages are moved around. This feature along with several other minute but well chosen features has made Zim the winner for me.

    I am not sure if users like me would be supported in future, so I am thinking about alternatives. I find the lack of a web/mobile app sometimes crippling but I am prepared to let go of them for lack of a better solution. Google Keep/Evernote/One Note are not good enough when it comes to navigation at scale.

    Is there anyway we can think of improving the performance of indexing so that users like me can continue using Zim? Is there some setting that can be added to prevent frequent index scans/updates and use them from a cache?

    Related issues: https://github.com/jaap-karssenberg/zim-desktop-wiki/issues/182

    I have tried deleting and re-creating the index - doesn't help. I believe the issue to be with the SQL queries on index and index updates.

    Thanks again!

    Gautham

    needs testing 
    opened by buzypi 34
  • Please make CSD optional!

    Please make CSD optional!

    First of all, thank you for a great program. I use it very often, to structure my notes and thoughts. But please, make the client side decorations optional! It looks horrendous on my Xfce4-desktop! Regards /M

    enhancement fix available 
    opened by MitraMai 29
  • Code block are misplaced and overlap text

    Code block are misplaced and overlap text

    When I create a code block on a page , switch to another page and switch back to the original page, the code block is misplaced in the display and overlap the surrounding text.

    screenshot_20190130_103454

    This does not happen with the first code block on the page, but with every subsequent block.

    When clicking on the page, the click seems to happen on the expected position of the items, and not on the rendered display.

    This happens on 0.7rc2 (rc1 as well) on linux with kde.

    bug wontfix Upstream issue 
    opened by PierreRust 29
  • Support for having anchors in wiki pages

    Support for having anchors in wiki pages

    This is meant to be a starting point supporting links inside pages as requested in #978 . The changes allow creating links to headings as anchor point. Clicking onto a section heading offers 'Copy link to section" to ease the link creation process.

    enhancement fix available 
    opened by roland-ruedenauer 24
  • page navigation very slow / laggy on macOS

    page navigation very slow / laggy on macOS

    Hi,

    I just switched from a ubuntu 18.04 machine to a MacBook Pro and noticed that Zim is very slow in comparison to running it on ubuntu.

    I simply used brew install zim and created the launcher zim.app wrapper as described in the Zim Wiki page. Note that the zim version on brew is still 0.72.1, so I tried to just set up a custom python-environment and run sim from source. The problem is pretty much the same, so I don't think there is any difference from the zim version side.

    I am wondering if someone else noticed these performance differences, or if someone can help me debug my problem.

    Cheers

    opened by theRealSuperMario 23
  • Distraction free plugin does not work on OSX

    Distraction free plugin does not work on OSX

    I have just installed Zim 0.74.3 using homebrew on OSX 10.15. I have tried to use the distraction free plugin with no success. When I press F11 I have no effect. Even from the menu-bar -->Fullscreen.

    question needs investigation needs triage macOS 
    opened by Enrico68 22
  • Feature: Bujo backarrow

    Feature: Bujo backarrow

    this adds a bullet journal back arrow to complements the already existing arrow for documenting the normal migration

    the bullet journal method has 2 types of migration

    • > migration which documents the move of a task not completed in the current day/log to a new day/log
    • < migration, which documents the move of a task to a future collection for further refinement

    as it affects both text syntax and integrated actions i saw no way of implementing this in a plugin

    its possible to go on with just documenting everything as "normal migration" but that takes away information useful for reflection

    TODO:

    • [x] check wiki format version bump
    • [x] mini intro for bujo
    • [x] squash
    enhancement fix available 
    opened by RonnyPfannschmidt 22
  • MacOS Monterey 12.0.1 : Zim window not appearing on launch

    MacOS Monterey 12.0.1 : Zim window not appearing on launch

    Describe the bug When launching Zim in the current version of MacOS (Monterey 12.0.1), Python launches but there is no Zim window anywhere. I have tried adjusting the display resolution and that does not solve the problem. Zim had been working fine on the same machine previously. Terminal shows the error message 'WARNING: XDG_RUNTIME_DIR is not set...' I don't know if the problem was caused by the OS upgrade, or by some dependency being updated.

    To Reproduce Steps to reproduce the behavior:

    1. Type 'zim' + ENTER from terminal command line.
    2. notice an error message in the terminal: in my case, 'WARNING: XDG_RUNTIME_DIR is not set, using /var/folders/8_/jggm7f2950s9zf6qbjv0m_l00000gn/T/zim-user1 as a fallback'
    3. notice that Python launches and the Zim menu appears at the top of the screen, but the actual Zim window never appears.
    4. Select menu items that launch a new window, like 'View Debug Log' or 'Preferences'. Notice that the top bar of the window appears, but not the window itself.

    Environment (please complete the following information):

    • Version: 0.74.2
    • OS: MacOS
    • Language: English (US)
    bug 
    opened by rasisin 21
  • Sidepanes have no horizontal scroll bar (0.73.x)

    Sidepanes have no horizontal scroll bar (0.73.x)

    The side panes have no horizontal scroll bars. For example if there are many levels of documents within a Wiki the Index sidepane can not be scrolled sideways to show the lower levels. Instead the names of the lower levels are truncated with three dots at the end.

    I think for large wikis (and I have quite a large one with more than 3000 partly nested pages) there should be the possibility to scroll the sidepanes not just vertically but also horizontally.

    The only current option is to pull out the sidepanes and make them larger, which takes away from the usable space in the middle.

    The attachment demonstrates that. The vertical scrollbar is visible. There is no horizontal scrollbar.

    Bildschirmfoto von 2020-07-10 18-32-59

    It affects Linux and Windows versions.

    opened by fdt-dev 21
  • Zim can't find dependencies for plugin in PATH in Windows OS

    Zim can't find dependencies for plugin in PATH in Windows OS

    Describe the bug In Windows OS, any plugin has dependencies is failed to enable even the dependencies already in PATH.

    To Reproduce

    1. Windows OS
    2. Install dependencies and make sure it is set in PATH
    3. In Zim > Go to Preference to enable any plugins that require dependencies (for example "Insert diagram" which requires GraphViz)
    4. Can't enable plugin as the dependencies is failed to load

    Expected behavior Should allow to enable plugin as dependencies is available in PATH

    Screenshots image

    Environment (please complete the following information):

    • Version 0.75.1 (install as portable mode - not sure if that trigger the bug?)
    • OS: Windows 10

    Additional context Below is the code in Zim for lookup the dependences in PATH and it should see all the exe, bat... in PATH https://github.com/zim-desktop-wiki/zim-desktop-wiki/blob/2d2970fc136eb6baf00d62e8d7ad1e024e54dcab/zim/applications.py#L217-L224

    Workaround: add a execution Windows Batch file (example dot.bat) to same folder of Zim will passed the dependencies requirement, however, there is another bug related to it as well in #2261

    bug needs triage 
    opened by mquan86 0
  • Links to headings and anchors lost upon export

    Links to headings and anchors lost upon export

    Describe the bug Reported by @Mike221223 in https://github.com/zim-desktop-wiki/zim-desktop-wiki/discussions/2264

    To Reproduce Steps to reproduce the behavior:

    1. Create the pages shown below in Additional context
    2. Export the pages as html and inspect the links
    3. The links don't lead where they should; TL;DR: #section-a -> #new:ExportTest; +SubPage#anchor -> ./ExportTest_files/SubPage.html

    Expected behavior Links in exports should behave as do in Zim

    Environment (please complete the following information):

    • Version 0.75.1 and latest develop commit (1dfdc48be1929715d2360af247a216df8cf3f3a9)
    • OS: linux
    • Language: en_US

    Additional context

    From a quick look into zim/formats/html.py's git history, it seems like dump_link hasn't been updated after the introduction of anchors, which IIRC was when linking to headings was introduced. This likely means that all export formats need to be reviewed in case of the same issue.

    Related issues: https://github.com/zim-desktop-wiki/zim-desktop-wiki/discussions/1942, https://github.com/zim-desktop-wiki/zim-desktop-wiki/discussions/2256 - our HRef implementation could use a look over.

    https://github.com/zim-desktop-wiki/zim-desktop-wiki/blob/1dfdc48be1929715d2360af247a216df8cf3f3a9/zim/formats/html.py#L211-L222

    Non-exhaustive examples to reproduce

    new:ExportText

    ====== ExportText ======
    
    ==== Section A ====
    
    Add enough text here to require some scrolling
    
    Here's a link: [[#section-a|Section A]]
    
    Another one: [[+SubPage#anchor]]
    

    new:ExportTest:SubPage

    ====== SubPage ======
    
    Hi there {{id: anchor}}
    

    [[#section-a|Section A]] becomes <a href="#new:ExportTest" title="Section A" class="page">Section A</a> (points to page path, not heading!), while [[+SubPage#anchor]] becomes <a href="./ExportTest_files/SubPage.html" title="+SubPage#anchor" class="page">+SubPage#anchor</a> (lacks the anchor).

    opened by introt 0
  • Plugin can't execute bat file command under Windows OS with error

    Plugin can't execute bat file command under Windows OS with error "The system cannot find the file specified"

    Describe the bug When insert UML diagram, it will fail to generate image with error "The system cannot find the file specified" It is because Python has a problem to detect the command file with .bat extension

    I believe it is this part in applications.py: https://github.com/zim-desktop-wiki/zim-desktop-wiki/blob/2d2970fc136eb6baf00d62e8d7ad1e024e54dcab/zim/applications.py#L294-L309

    Should add shell = True to compatible for Windows? Reference of similar issue in another repo: https://github.com/mikitex70/plantuml-markdown/issues/11

    To Reproduce

    1. Windows OS, installed PlantUML, install PlantUML plugin (https://gitlab.com/Voyvode/zim-umldiagrameditor)
    2. Has plantuml.bat in Zim application folder (so the plugin can call plantuml command)
    3. In Zim, Insert an UML
    4. Error "The system cannot find the file specified"

    Logs:

    INFO: Running: ('plantuml', 'C:\\Zim\\tmp\\zim-zizy_qsp\\umldiagram.png', 'C:\\Zim\\tmp\\zim-zizy_qsp\\umldiagram.puml') (cwd: None)
    DEBUG: Running ErrorDialog
    DEBUG: The system cannot find the file specified
    

    Expected behavior Should no error and able to execute command of bat file.

    Screenshots image

    Environment (please complete the following information):

    • Version 0.75.1 with installed PlantUML plugin (https://gitlab.com/Voyvode/zim-umldiagrameditor)
    • OS: Windows 10
    • In Zim application folder has plantuml.bat file to execute plantuml.
    bug needs triage Windows 
    opened by mquan86 2
  • Update docs for Zim spell checker performance hints

    Update docs for Zim spell checker performance hints

    Opened per @introt's request in https://github.com/zim-desktop-wiki/zim-desktop-wiki/issues/2167#issuecomment-1358083722. Details in in https://github.com/zim-desktop-wiki/zim-desktop-wiki/issues/1497#issuecomment-1358082581 or https://github.com/zim-desktop-wiki/zim-desktop-wiki/issues/2167#issuecomment-1358082355 (same details in both).

    Duplicated here for quick reference.

    tl;dr: If Zim is very slow or if the spell checker is misbehaving, try removing gtkspellcheck and using gtkspell instead. For Ubuntu, Mint, etc.:

    • sudo apt purge python3-enchant python3-gtkspellcheck
    • sudo apt install gir1.2-gtkspell3-3.0 libgtkspell3-3-0
    • sudo add-apt-repository ppa:jaap.karssenberg/zim && sudo apt update && sudo apt install zim

    Details:

    I've had various problems with the spell checker (which I require :), e.g. #2167, #1497, and maybe #1596, which I believe all started with the move to Python3. I've the same problems on multiple machines, running Mint-19.x, 20.x and 21.0, with various resources. In particular, they persisted when I built a brand new 16 core Ryzen 7 which should not present any performance problems. Related to performance, note I do keep Zim wiki files on a remote SSH FileSystem mount, but it's a local 1G LAN.

    I had the "ah ha" moment when I build a brand new Mint-21.0 VM for work, installed Zim from PPA, and it Just Worked Great, with none of the problems. When I looked into it, I saw "Edit > Preferences > Plugins > Spell Checker: gtkspell - OK (gtkspellcheck - Failed)". Meanwhile, all the bad ones had "gtkspellcheck - OK" I assume for some historical reason or other. When I switched a bad one from gtkspellcheck to gtkspell all the problems went away!

    I did not specifically install either gtkspellcheck or gtkspell on this new VM, so I assume that gtkspell is (now?) the default somewhere. So I am thinking that the move to Python3 somehow broke gtkspellcheck in a Zim context? And maybe since gtkspell seems to be the default now, that's why most folks don't have this problem?

    This also explains why turning spell checking off (#1497) "fixes" the problem.

    enhancement needs investigation 
    opened by vossenjp 1
  • Suppress automatic creation of Pages

    Suppress automatic creation of Pages

    Zim automatic creation of pages and they cannot be deleted

    The fact that they cannot be deleted just makes the problem more annoying. But I just want to turn off this highly undesirable feature. Everyone I know who uses Zim is annoyed by it, and it's a strange aspect of open source software that I keep seeing, that developers like features but 99% of users don't, but they stay in the software. I would be willing to change a certain line of code after each update or something like that but how can I just stop that please? the problem has existed for about 4 years and on various computers and various versions of zim.
    Why every mail address and every URL does not become a new - unwanted - sub page is not clear to me - so I cannot describe the reproduction exactly but I think the problem is known. i would like to stay with zim and am looking forward to a reply

    needs info candidate for removal 
    opened by joe-pirat 6
  • Click on a faulty link generates some error and tracebacks

    Click on a faulty link generates some error and tracebacks

    Description Somehow it happend that Zim's automatic link-generation produced a faulty link with the resulting source code: [[ #zim-pageview| ''#zim-pageview'']]

    Simplifying the faulty link: [[ #test]]

    Please note the leading space before the hash in the link part of the code.

    Reproduction Copy this to the source code of a Zim page to reproduce the problem.

    Annotation I know this is not a valid link and should not appear. But I managed it somehow that the auto-linking of Zim produced the first link while copy/pasting the verbatim marked text. This shall be an issue for another bug report, as currently I cannot reproduce it.

    The reported and reproducible issue is that the handling of the invalid link generates an error dialog with a traceback.

    Commented Debug Information

    Handling the faulty link resulted in more errors and tracebacks as it has been visible to me at the first glance:

    1. When just hovering over the link, the typical bubble note with the link destination does not appear.

    This is the debug output of the hover action:

    Traceback (most recent call last):
      File "/usr/lib/python3/dist-packages/zim/notebook/page.py", line 153, in makeValidPageName
        Path.assertValidPageName(newname)
      File "/usr/lib/python3/dist-packages/zim/notebook/page.py", line 139, in assertValidPageName
        raise AssertionError('Not a valid page name: %s' % name)
    AssertionError: Not a valid page name: 
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "/usr/lib/python3/dist-packages/zim/gui/pageview/__init__.py", line 6222, in on_link_enter
        href = HRef.new_from_wiki_link(link['href'])
      File "/usr/lib/python3/dist-packages/zim/notebook/page.py", line 375, in new_from_wiki_link
        names = Path.makeValidPageName(href.lstrip('+')) if href else ""
      File "/usr/lib/python3/dist-packages/zim/notebook/page.py", line 155, in makeValidPageName
        raise ValueError('Not a valid page name: %s (was: %s)' % (newname, name))
    ValueError: Not a valid page name:  (was:  )
    Error in sys.excepthook:
    Traceback (most recent call last):
      File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 153, in apport_excepthook
        with os.fdopen(os.open(pr_filename,
    FileNotFoundError: [Errno 2] No such file or directory: '/var/crash/_usr_bin_zim.1000.crash'
    
    Original exception was:
    Traceback (most recent call last):
      File "/usr/lib/python3/dist-packages/zim/notebook/page.py", line 153, in makeValidPageName
        Path.assertValidPageName(newname)
      File "/usr/lib/python3/dist-packages/zim/notebook/page.py", line 139, in assertValidPageName
        raise AssertionError('Not a valid page name: %s' % name)
    AssertionError: Not a valid page name: 
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "/usr/lib/python3/dist-packages/zim/gui/pageview/__init__.py", line 6222, in on_link_enter
        href = HRef.new_from_wiki_link(link['href'])
      File "/usr/lib/python3/dist-packages/zim/notebook/page.py", line 375, in new_from_wiki_link
        names = Path.makeValidPageName(href.lstrip('+')) if href else ""
      File "/usr/lib/python3/dist-packages/zim/notebook/page.py", line 155, in makeValidPageName
        raise ValueError('Not a valid page name: %s (was: %s)' % (newname, name))
    ValueError: Not a valid page name:  (was:  )
    DEBUG: Activate link:  #text
    ERROR: Exception during activate-link((' #text', {'new_window': False}))
    Traceback (most recent call last):
      File "/usr/lib/python3/dist-packages/zim/notebook/page.py", line 153, in makeValidPageName
        Path.assertValidPageName(newname)
      File "/usr/lib/python3/dist-packages/zim/notebook/page.py", line 139, in assertValidPageName
        raise AssertionError('Not a valid page name: %s' % name)
    AssertionError: Not a valid page name: 
    
    1. When doing a click with the left mouse button on the link, an error dialog appears but no change in the page presentation.

    The debug output for the left-click:

    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "/usr/lib/python3/dist-packages/zim/gui/pageview/__init__.py", line 6610, in do_activate_link
        self._do_activate_link(link, hints)
      File "/usr/lib/python3/dist-packages/zim/gui/pageview/__init__.py", line 6619, in _do_activate_link
        href = HRef.new_from_wiki_link(link)
      File "/usr/lib/python3/dist-packages/zim/notebook/page.py", line 375, in new_from_wiki_link
        names = Path.makeValidPageName(href.lstrip('+')) if href else ""
      File "/usr/lib/python3/dist-packages/zim/notebook/page.py", line 155, in makeValidPageName
        raise ValueError('Not a valid page name: %s (was: %s)' % (newname, name))
    ValueError: Not a valid page name:  (was:  )
    DEBUG: Running ErrorDialog
    

    The error dialog contained the identical traceback and additionally these details:

    This is zim 0.75.1
    Platform: posix
    Locale: en_US UTF-8
    FS encoding: utf-8
    Python: (3, 8, 10, 'final', 0)
    PyGObject: (3, 36, 0)
    

    Some more details to the system with the error:

    Zim package: the Debian package of Zim from your website (zim_0.75.1_all.deb).
    The system is an Ubuntu 20.4 LTS based LinuxMint 20.3
    
    1. When doing a click with the right mouse button on that link the object window appears with the choice for actions reduced to a minimum: [Cut|Copy|Paste|Paste As Verbatim|Delete|<Separator>|Select all|Insert Emoji] Missing are all the link-specific entries: [Open|Open in a new Window|<Separator>|Cut Link|Copy Link|Edit Link|Remove Link] Also some entries are missing that are available for regular text and links: [Copy as ...|Copy link to this location|Move selected Text ...]

    This debug output appears when doing the right-click:

    Traceback (most recent call last):
      File "/usr/lib/python3/dist-packages/zim/notebook/page.py", line 153, in makeValidPageName
        Path.assertValidPageName(newname)
      File "/usr/lib/python3/dist-packages/zim/notebook/page.py", line 139, in assertValidPageName
        raise AssertionError('Not a valid page name: %s' % name)
    AssertionError: Not a valid page name: 
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "/usr/lib/python3/dist-packages/zim/gui/pageview/__init__.py", line 6679, in do_populate_popup
        self._default_do_populate_popup(menu)
      File "/usr/lib/python3/dist-packages/zim/gui/pageview/__init__.py", line 6828, in _default_do_populate_popup
        href = HRef.new_from_wiki_link(link['href'])
      File "/usr/lib/python3/dist-packages/zim/notebook/page.py", line 375, in new_from_wiki_link
        names = Path.makeValidPageName(href.lstrip('+')) if href else ""
      File "/usr/lib/python3/dist-packages/zim/notebook/page.py", line 155, in makeValidPageName
        raise ValueError('Not a valid page name: %s (was: %s)' % (newname, name))
    ValueError: Not a valid page name:  (was:  )
    Error in sys.excepthook:
    Traceback (most recent call last):
      File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 153, in apport_excepthook
        with os.fdopen(os.open(pr_filename,
    FileNotFoundError: [Errno 2] No such file or directory: '/var/crash/_usr_bin_zim.1000.crash'
    
    Original exception was:
    Traceback (most recent call last):
      File "/usr/lib/python3/dist-packages/zim/notebook/page.py", line 153, in makeValidPageName
        Path.assertValidPageName(newname)
      File "/usr/lib/python3/dist-packages/zim/notebook/page.py", line 139, in assertValidPageName
        raise AssertionError('Not a valid page name: %s' % name)
    AssertionError: Not a valid page name: 
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "/usr/lib/python3/dist-packages/zim/gui/pageview/__init__.py", line 6679, in do_populate_popup
        self._default_do_populate_popup(menu)
      File "/usr/lib/python3/dist-packages/zim/gui/pageview/__init__.py", line 6828, in _default_do_populate_popup
        href = HRef.new_from_wiki_link(link['href'])
      File "/usr/lib/python3/dist-packages/zim/notebook/page.py", line 375, in new_from_wiki_link
        names = Path.makeValidPageName(href.lstrip('+')) if href else ""
      File "/usr/lib/python3/dist-packages/zim/notebook/page.py", line 155, in makeValidPageName
        raise ValueError('Not a valid page name: %s (was: %s)' % (newname, name))
    ValueError: Not a valid page name:  (was:  )
    

    Comments

    I would not have expected that an invalid link results in an error but Zim will correct the code smoothly as also done in other parts of the software.

    I would see the algorithm that decides to automatically convert a string into a link item in the task to also check the validity of a link item (assuring a consistent handling of links).

    In contrast to the faulty anchor link a http link with the same leading space will not fail: [[ http://test.net/path|http://test.net/path]]

    Instead of opening the web browser this faulty link will create the new Zim pages

    http
          test.netpath
    

    But it will not raise an error. So there the code is correct, even though I'm not happy with the result.

    bug needs triage 
    opened by dodrg 4
Owner
Zim Desktop Wiki
Open source project for the Zim Desktop Wiki application
Zim Desktop Wiki
The official source code repository for the calibre ebook manager

calibre calibre is an e-book manager. It can view, convert, edit and catalog e-books in all of the major e-book formats. It can also talk to e-book re

Kovid Goyal 14.1k Dec 27, 2022
Agile project management platform. Built on top of Django and AngularJS

Taiga Backend Documentation Currently, we have authored three main documentation hubs: API: Our API documentation and reference for developing from Ta

Taiga.io 5.8k Jan 5, 2023
WikidPad is a single user desktop wiki

What is WikidPad? WikidPad is a Wiki-like notebook for storing your thoughts, ideas, todo lists, contacts, or anything else you can think of to write

WikidPad 176 Dec 14, 2022
Statistics and Visualization of acceptance rate, main keyword of CVPR 2021 accepted papers for the main Computer Vision conference (CVPR)

Statistics and Visualization of acceptance rate, main keyword of CVPR 2021 accepted papers for the main Computer Vision conference (CVPR)

Hoseong Lee 78 Aug 23, 2022
Angular & Electron desktop UI framework. Angular components for native looking and behaving macOS desktop UI (Electron/Web)

Angular Desktop UI This is a collection for native desktop like user interface components in Angular, especially useful for Electron apps. It starts w

Marc J. Schmidt 49 Dec 22, 2022
A wiki system with complex functionality for simple integration and a superb interface. Store your knowledge with style: Use django models.

django-wiki Django support The below table explains which Django versions are supported. Release Django Upgrade from 0.7.x 2.2, 3.0, 3.1 0.5 or 0.6 0.

django-wiki 1.6k Dec 28, 2022
MoinMoin Wiki Development (2.0+), unstable, for production please use 1.9.x.

MoinMoin - a wiki engine in Python MoinMoin is an easy to use, full-featured and extensible wiki software package written in Python. It can fulfill a

MoinMoin Wiki Engine 240 Dec 22, 2022
Trac is an enhanced wiki and issue tracking system for software development projects (mirror)

About Trac Trac is a minimalistic web-based software project management and bug/issue tracking system. It provides an interface to the Git and Subvers

Edgewall Software 442 Dec 10, 2022
Unofficial Meteor Client wiki

Welcome to the Unofficial Meteor Client wiki! Meteor FAQs | A rewritten and better FAQ page. Installation Guide | A guide on how to install Meteor Cli

Anti Cope 0 Feb 21, 2022
Discord bot for the IOTA Wiki

IOTA Wiki Bot Discord bot for the IOTA Wiki Report Bug ยท Request Feature About The Project This is a Discord bot for the IOTA Wiki. It's currently use

IOTA Community 2 Nov 14, 2021
Crypt Wiki - VimWiki with added support for encryption/decryption

Crypt Wiki - VimWiki with added support for encryption/decryption This project is meant to solve an issue I have ran into recently. I wanted to have a

Adrian Costin 6 Dec 18, 2022
A bot framework for Reddit to manage threads, wiki pages, widgets, menus and more.

Sub Manager Sub Manager is a bot framework for Reddit to automate a variety of tasks on one or more subreddits, and can be configured and run without

r/SpaceX 3 Aug 26, 2022
Wikidot-forum-dump - Simple Python script that dumps a Wikidot wiki forum into JSON structures.

wikidot-forum-dump Script is partially based on 2stacks by bluesoul: https://github.com/scuttle/2stacks To dump a Wiki's forum, edit config.py and put

ZZYZX 1 Jun 29, 2022
Main repository for Vispy

VisPy: interactive scientific visualization in Python Main website: http://vispy.org VisPy is a high-performance interactive 2D/3D data visualization

vispy 3k Jan 3, 2023
Main repository for the Sphinx documentation builder

Sphinx Sphinx is a tool that makes it easy to create intelligent and beautiful documentation for Python projects (or other documents consisting of mul

null 5.1k Jan 2, 2023
Tesseract Open Source OCR Engine (main repository)

Tesseract OCR About This package contains an OCR engine - libtesseract and a command line program - tesseract. Tesseract 4 adds a new neural net (LSTM

null 48.3k Jan 5, 2023
Main repository for the Sphinx documentation builder

Sphinx Sphinx is a tool that makes it easy to create intelligent and beautiful documentation for Python projects (or other documents consisting of mul

null 5.1k Jan 4, 2023
Main repository for Vispy

VisPy: interactive scientific visualization in Python Main website: http://vispy.org VisPy is a high-performance interactive 2D/3D data visualization

vispy 2.6k Feb 13, 2021
Main repository for Vispy

VisPy: interactive scientific visualization in Python Main website: http://vispy.org VisPy is a high-performance interactive 2D/3D data visualization

vispy 2.6k Feb 17, 2021
Tesseract Open Source OCR Engine (main repository)

Tesseract OCR About This package contains an OCR engine - libtesseract and a command line program - tesseract. Tesseract 4 adds a new neural net (LSTM

null 48.4k Jan 9, 2023