PanWriter is a distraction-free markdown editor with two unique features:
- Tight integration with pandoc for import/export to/from plenty of file formats (including HTML, docx, LaTeX and EPUB).
- Preview pane that can show pages โ including page breaks etc. Layout adjustments are immediately reflected in the preview.
Read the MANUAL for more info.
You also have to install pandoc to export to most formats.
Feedback, suggestions and contributions very much welcome! Please open an issue to start a conversation.
Install git and yarn, then:
git clone [email protected]:mb21/panwriter.git
cd panwriter
yarn install
## To run the app in development mode:
yarn run electron:dev
## To build distributable app package (goes to ./dist):
yarn dist
Check out the package.json
for more scripts to run.
- Preview:
- respect
css
,toc
metadata fields
- respect
- Editor:
- expand
Format
menu - spell check
- improve find/replace
- expand
- add a Settings/Preferences window (or should this just be a
settings.yaml
file?) where you can:- set a CodeMirror editor theme css
- edit the default CSS and YAML files
- choose
pandoc
executable (probably with file-open dialog, which we can use for app sandboxing with security-scoped bookmarks)
- Write pandoc lua filter that does some PanWriter-specific transformations:
- add page-break syntax
- Variable substitution in body
- read out
type
metadata and if it references a css file, put the path into thecss
metadata variable
- GUI popup on file import: at least allow to set
-f
,-t
,--track-changes
and--extract-media
pandoc options. - Unify PanWriter custom document type and pandoc template concepts?
- Rename
type
metadata key todoctype
?
PanWriter is powered by (amongst other open source libraries):
- pandoc (import/export)
- Electron (app framework)
- CodeMirror (editor)
- For the preview pane: