← Back to team overview

zim-wiki team mailing list archive

Re: Creating and editing pages using zim module and custom tools

 

>
> Disclaimer: I recently checked in all kinds of code refactoring patches in
> the "pyzim-refactor" branch. These will be merged to trunk before the next
> release. So you might want to pull this dev branch and make sure your tool
> still works with that branch.
>
>
>>
​Will do​




>  One of my practices when creating new pages is creating on the top of
>> the page links do other namespaces that might relate to each other. A bit
>> like some people use tags but I prefer clickable links that can be listed
>> as backlinks to when I am visiting a page.
>>
>> My first idea for a custom tool was to list inside the current page (the
>> page I am visiting) some selected pages that have a particular link at the
>> top (that I am calling headers for myself).
>>
>
> I don't think I understand the goal / use case for this tool. If you want
> to list related pages, wouldn't it be easier to put them in a side pane
> next to the page instead of embed them in the page source? (See the
> "backlinkpane" plugin for an example.)
>

​Yes, I use the backlinkpane. It's one of my favorite feature. I guess this
is a personal need. But let me explain how I intend to use this.

I ​am an IT guy coordination projects, deploying and managing servers on
different clients. I use namespaces like this:

:client:cA
:client:cB
:project:pA
:project:pB
:project:pC
:server:sA
:server:sB
:server:sC
:server:sD


In the first lines of a :project:something page, I add a link to the client
it corresponds to. For :server I add a link to the client and project it
corresponds too.

Now if I go to :client:cA I can check the backpanelinks to see whatever it
is back linking to this client. I see the projects and servers (and
everything else that has a link back to the client page). This is fine for
quickly jumping around the notebook. But sometimes I need a textual list so
I can add to a calc sheet or paste into an email.

With my custom tool I am able to list only the servers that belong to a
client or servers that belong to a client AND a specific project into a
page where I can add notes and copy paste into an email or whatever.

I actually also have a :client:cA:servers page where I can run my script
and it, from the page path, interprets I want it to list :server:* that
backlinks to :client:cA





> For a custom tool it is OK, but for core functions in zim it is not. The
> reason is that I still target to support multiple source formats (e.g.
> markdown) so functions dealing with formatting should be agnostic of the
> source parsing. But if it is a custom tool for your own use you can take
> the easier route of course.
>
> If you want to do the complete thing, be aware that the tree interface was
> overhauled in the pyzim-refactor branch. Have a look at the tasklist plugin
> for a complex parsing example using the new interface.
>
>
​Nice!​

​Thanks for the help! Hoping to be solving some bugs in a few days. Taking
longer ​that I expected... :(

References