All Projects → ShiraNai7 → rstpad

ShiraNai7 / rstpad

Licence: MIT license
Standalone reStructuredText editor with live preview (native app)

Programming Languages

C++
36643 projects - #6 most used programming language
javascript
184084 projects - #8 most used programming language
QMake
1090 projects

Projects that are alternatives of or similar to rstpad

Marky
A markdown editor built with Electron and React
Stars: ✭ 355 (+914.29%)
Mutual labels:  application, osx
Elm Doc Preview
Elm offline documentation previewer
Stars: ✭ 113 (+222.86%)
Mutual labels:  application, preview
Osx Mac Menubar App
Menubar application for Mac
Stars: ✭ 11 (-68.57%)
Mutual labels:  application, osx
Massren
massren - easily rename multiple files using your text editor
Stars: ✭ 1,133 (+3137.14%)
Mutual labels:  osx, text-editor
ToTheTop
🔝To the top - A small macOS application to help you scroll to the top.
Stars: ✭ 33 (-5.71%)
Mutual labels:  application, osx
Subethaedit
General purpose plain text editor for macOS. Widely known for its live collaboration feature.
Stars: ✭ 1,183 (+3280%)
Mutual labels:  osx, text-editor
Beagle Im
XMPP client for macOS based on TigaseSwift XMPP library
Stars: ✭ 86 (+145.71%)
Mutual labels:  application, osx
Gitee
Gitee, OS X status bar application for Github
Stars: ✭ 1,095 (+3028.57%)
Mutual labels:  application, osx
sphinx-jekyll-builder
sphinx builder that outputs jekyll compatible markdown files with frontmatter
Stars: ✭ 18 (-48.57%)
Mutual labels:  restructuredtext, rst
Laravel Zero
A PHP framework for console artisans
Stars: ✭ 2,821 (+7960%)
Mutual labels:  application, standalone
Vim Anywhere
Use Vim everywhere you've always wanted to
Stars: ✭ 3,295 (+9314.29%)
Mutual labels:  osx, text-editor
Dropbox-Paper-Desktop
Unofficial Dropbox Paper app for OS X
Stars: ✭ 22 (-37.14%)
Mutual labels:  application, osx
Vscode Restructuredtext
reStructuredText Language Support in Visual Studio Code
Stars: ✭ 243 (+594.29%)
Mutual labels:  restructuredtext, preview
Criollo
A powerful Cocoa web framework and HTTP server for macOS, iOS and tvOS.
Stars: ✭ 229 (+554.29%)
Mutual labels:  osx, standalone
Platypus
Create native Mac applications from command line scripts.
Stars: ✭ 1,893 (+5308.57%)
Mutual labels:  application, osx
mup
A markup previewer
Stars: ✭ 38 (+8.57%)
Mutual labels:  preview, rst
ManDrake
Native Mac man page editor with syntax coloring, mandoc syntax checking & live preview.
Stars: ✭ 130 (+271.43%)
Mutual labels:  osx, live-preview
hentai-downloader
ExHentai exhentai.org, e-hentai.org images gallery download to folder.
Stars: ✭ 37 (+5.71%)
Mutual labels:  application
100-Days-Of-Flutter-Widgets
This is the place where you can get all knowledge about the flutter in 100 Days.
Stars: ✭ 30 (-14.29%)
Mutual labels:  application
WordIDE
A tool that helps you write code in your favorite IDE: your word processor!
Stars: ✭ 37 (+5.71%)
Mutual labels:  text-editor

RSTPad

reStructuredText editor with live preview.

screenshot.png

Features

  • live preview with autoscroll
  • configurable orientation (horizontal / vertical)
  • search & replace
  • toolbar with common elements:
    • headings
    • bold, italic
    • inline code
    • code blocks
    • horizontal rule
    • lists
    • link
    • image
  • inserting highlighted code blocks (Pygments)
    • autocomplete for known lexer names
  • built-in help pages
    • syntax cheat sheet
    • directives
  • export to PDF

Known limitations

  • UTF-8 documents only

Implementation details

  • the application contains an embedded Python interpreter
    • Python libraries are located in the application's directory / bundle
  • the Docutils library is used to convert RST to HTML on the fly
    • the converstion is done in a separate thread
    • resources/preview/docutils_extensions.py overrides some of the HTML writer's methods to insert additional tags and attributes
  • HTML output is displayed using Qt WebEngine
    • external links are delegated to QDesktopServices
    • autoscroll is implemented in JavaScript
    • the preview is "frozen" during loading and autoscrolling to allow for smooth transitions (a previously rendered frame is used for the duration)

Compilation

Prerequisites

  • QT 5.8 & Qt Creator
  • Python 2.7 (32bit or 64bit depending on the used compiler)
  • Pygments (tested with 2.1.3)
  • Docutils (tested with 0.13, revision 7975)

Build configuration

Note

  • The paths used below (such as C:/python) are just examples. Use actual paths :)
  • Use forward slashes in all paths. Omit trailing slashes.
  • OS X notes and examples assume that Python 2.7 has been installed using Homebrew. Your paths may vary.

Copy rstpad.local.pro.dist, name it rstpad.local.pro and set the following variables:

  • PYTHON_LINK
    • Python linker flags
    • Windows: -LC:/python/libs -lpython27
    • OS X: use the python-config utility to determine linker flags:
      • python2.7-config --ldflags
  • PYTHON_INCLUDE_PATH
    • path to a directory containing Python's header files
      • Windows: C:/python/include
      • OS X: /usr/include/python2.7
  • PYTHON_SYS_PATH
    • path to a directory containing:
      • libs.zip - the Python standard library as a ZIP archive
      • pygments, docutils - library directories (these cannot be inside libs.zip)
      • any .pyd, .dll and .so modules that should be available in a standard Python installation
    • .pyc files should be excluded

Windows deployment

  1. Use the Windows Deployment Tool with the release binary to fetch required DLLs.

    Example: windeployqt.exe --release --no-translations rstpad.exe

  2. Locate and copy the correct python27.dll file or the application won't work on machines without Python 2.7 installed.

    • possible locations depend on how you've installed Python and on its version:
      • C:\Windows\System\python27.dll
      • C:\Windows\SysWoW64\python27.dll
    • make sure you're ussing the correct version (32 vs 64bit)

OS X deployment

Use the Mac Deployment Tool to convert the resulting application into a .dmg file:

macdeployqt RSTPad.app -dmg

Other platforms

Not tested yet. You're on your own :)

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].