olivierkes / manuskript

A open-source tool for writers
http://www.theologeek.ch/manuskript
GNU General Public License v3.0
1.71k stars 226 forks source link

Compiling summaries/metadata into an outline #1139

Open paulaberry opened 1 year ago

paulaberry commented 1 year ago

I'm not sure if this is already implemented and I'm just having a hard time figuring out options, but if not, I'd love the ability to compile and export the summaries and metadata for a story into one outline or synopsis document.

TheJackiMonster commented 1 year ago

I don't think this is implemented or requested yet.

TheJackiMonster commented 1 year ago

The summaries are part of the outline markdown files though. So it's technically possible to get them from there and compile them into a document with a custom script in the mean time. Maybe this helps.

TheShadowOfHassen commented 1 year ago

I've wanted for more of the information to be able to be compiled like characters for a story bible and so on. When we get to this part in the gtk port I'll be sure that's it added. In the mean time it'd be a great feature to add to the qt version.

peter88213 commented 6 months ago

For the time being, my Python script provides a solution. Originally, it was only intended to write the contents of "world.opml" to a markdown file, but in the meantime I have expanded it to such an extent that it also converts the characters and the entire manuscript, as well as the long and short summaries separated by level.

With the help of pandoc, "story bibles" and synopses can be compiled in all kinds of document formats. Basically, you can use it to extract most of your writing project without even starting Manuskript.

See: https://github.com/peter88213/manuskript_md

TheShadowOfHassen commented 6 months ago

@peter88213 that's a good feature. Once you get the pandoc bit added, would you be willing to add it into manuskript?

peter88213 commented 6 months ago

Actually, my Python program mskmd.py is intended for scripting, whereby pandoc can be launched afterwards. It does not require any non-standard modules, and accesses the Manuskript project from outside.

However, you can also import mskmd as a module with a neat API into any Python application. That could also work with Manuskript. You would only have to implement the corresponding menu commands, as well as callback methods that integrate the mskmd functions into Manuskript's messaging system. However, I'm not sure if that would be a good idea. In any case, it would be more elegant to generate the documents directly from Manuskript's data model using the application's own exporter classes.

First of all, it would be necessary to extensively test and improve mskmd.py until we can speak of a "proven design". I'm not at all sure whether there is a broad need for these features in the Manuskript user community, so that enough feedback or contribution is received. Besides, I don't really have time to spend on it. But it is free software after all, so anyone who wants to can fork my repository and develop the software as desired.

peter88213 commented 6 months ago

For your convenience, I wrote a simple Python application with a GUI that uses the mskmd module.

Screenshot

See: https://github.com/peter88213/manuskript-exporter

The application is based on tkinter, and requires a pandoc installation as well as the pypandoc module.