Giter VIP home page Giter VIP logo

instant-rst.py's Introduction

InstantRst Server

version

0.9.2.2

WHAT'S NEW

  1. static files are served, the file in the same dir can be get with _static/file
  2. The index file will always show from remote's main file
  3. Improved Style: Using mars.css
  4. add debug to stop open browser
  5. add error log and error page

This is a local server for preview rst document instantly.

You can use it with instantRst.vim

riv.vim (vim) + InstantRst (web server) + mars.css (theme)

riv.vim (vim) + InstantRst (web server) + mars.css (theme)

Install

# Got some issue on pypi
# sudo pip install instant-rst
sudo pip install https://github.com/Rykka/instant-rst.py/archive/master.zip

Usage

usage: instantRst [-h] [-f FILENAME] [-b BROWSER] [-p PORT] [-s STATIC_DIR] [-t TEMPLATE_DIR]

optional arguments:

-h, --help

show this help message and exit

-f FILENAME, --file FILENAME

The local filename for Converting

-b BROWSER, --browser BROWSER

The browser command for viewing Default is '' for using system default

-p PORT, --port PORT The port for server to use

Default is '5676'

-t TEMPLATE_DIR, --template-dir TEMPLATE_DIR

Directory containing a template to be used when rendering the output. Defaults to a bundled rhythm.css

-s STATIC_DIR, --static-dir STATIC_DIR

The directory containing static files used by the template. Defaults to a bundled rhythm.css

-l, --localhost-only

Only use localhost, disable lan ip default: False

-d, --additional-dir

Additional directories to serve. One time per directory.

--debug-dir

Debug mode, Do not open browser

To convert a rst document

You can start with instantRst -f file.rst

Then the brower will opened the converted file at http://localhost:<port>

API

Action Http Method Request Body or Param Curl Command
Show Converted file

GET

?file=/pat/to/file.rst

When file is omitted, Then a default index page will be opened.

curl http://localhost:5676?file=/tmp/test.rst

Refresh window with

a file and scroll to a position(a float)

POST

or PUT

{file:file.rst, p:pos, dir:dir}

file: the file to show

dir: the static dir

p: the cursor position

When file/dir is omitted, Then will only scroll to that pos

curl -d file='file.name' -d p='0.3' -p dir='test' http://localhost:5676
Close Server DELETE curl -X DELETE http://localhost:5676

Issues

for debian user, you may need to install gevent manually

sudo apt-get install libevent-dev
sudo apt-get install python-all-dev
sudo pip install greenlet
sudo pip install gevent

STATIC FILES

  1. Default Static file:

    the static/main.css|js is served there

    The instant rst's default theme is set there.

    You can pass the -s for default static directory.

  2. Additional Static file:

    You can pass the -d for additional static directory.

    The basename of the directory is used as the static file's STATIC URL

    e.g.:

    You have a file named test/test.jpg

    You can start instantRst with instantRst -f test/test.rst -d test

    then the file is served with localhost:5676/test/test.jpg

  3. Dynamic static file:

    When using with dynamic files, you can post with '-dir=DYN_DIR_NAME' to update the DYN_STATIC_DIR

    e.g.:

    You have a file named test/test.jpg

    When you start instantRst instantRst -f test/test.rst

    The file is served with localhost:5676/_static/test.jpg

    When you switch to another file like test1/test.rst Then you can post with dir=test1 or dir=~/rst/test1 to change the static dir.

Develop

Contribution are welcomed.

git clone the project:

git clone 

install local package:

sudo pip install . --upgrade

start test with local package:

# localhost:5676
python scripts/instantRst --debug -f test/test.rst

change to static/template file should change setup.py and manifest.in

publish to pypi:

# register
# python setup.py register -r pypi

python setup.py sdist upload -r pypi

Error

  1. the template_dir option is not working

instant-rst.py's People

Contributors

anandtrex avatar gu-fan avatar inorichi avatar loganchien avatar rstcruzo avatar rykka avatar thingee avatar victal avatar xiehuc avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.