星期三, 1月 18, 2012

YiViewer - pandoc HTML Viewer

Download



What is YiViewer ?

YiViewer is a html previwer for restructed text by pandoc. It can previrew markdown, reStructuredText, latex, … etc as a html page.

It is written by Python and QtWebKit (by PySide). The program is very small. It can run smoothly in Mac OSX and Linux.

Feature

  1. Stay in the same location when you regenerate the preview for file.
  2. Regenerate the preview automatically when the file saved.
  3. Support the all file formats for pandoc, it can decide the file formt automatically by subfilename.
  4. A simple and beauty look preview CSS is designed by C.E.W.

Connect Author

If you have any problem with YiViewer

  1. Leave message in my blog
  2. Mail to me (yen3rc AT GMAIL).

Install

There are two steps for installization.

  1. Install Dependence Librays/ Tools — PySide and pandoc
  2. Install YiViewer

Install Dependence Librarys/ Tools

  • Install in Mac OSX
  • Install in Fedora 14+
  • Install in Ubuntu (unfinished)

Install for Mac OSX

  • Install from homebrew. Type the following command.

     brew install pyside 
     brew instal haskell-platform
     cabal install pandoc --flags=highlighting
    
  • Install from package

    1. Download Qt, PySide, haskell-platform package and install it.

    2. Type the following command

       cabal install pandoc --flags=highlighting
      

Install for Fedora 14+

  • Type the following command

    sudo yum install python-pyside* pandoc -y
    

Install for Ubuntu

I don’t have any computer running with Ubuntu OS. If you test it successd in Ubuntu, please mail to me. Thank you.

Install YiViewer

  • untar yiviewer.tar.gz and copy to a run path.

    tar zxvf yiviewer.tar.gz
    cd yiviewer
    chmod +x yiviewer.py
    sudo cp yiviewer.py /usr/local/bin
    

How to use ?

You have two ways to use YiViewer

  1. from command line

    yiviewer.py README.md
    
  2. from GUI

    yiviewer.py
    

    File -> Open -> Select Restructed Text File

  3. The previwer has the following shortcuts
    1. Ctrl + r: Regenerate the page
    2. Ctrl + o: Open file
    3. Ctrl + s: Save as a html file.
    4. Ctrl + +: Zoom in
    5. Ctrl + -: Zoom out
    6. Ctrl + 0: Set default zoom size.

To Do List

  1. 上傳到 Github

    這件事我沒做過,我連開 Issue 都不會 XD,看來我真的得好好學一學。(ps: 因為之前都是在學校的 Server 直接走 git with ssh XD。)

  2. 打包程式以順利支持各種平台。

    還蠻重要的,但是我沒有相關經驗,希望二月底前可以做完。(因為我蠻希望可以直接把檔案拖到 dock 的程式執行圖示上就開啟的 XD。)

  3. 在 VIM 上支援即打即顯示。

    目前構想是去讀取 swp file,不知道可不可行,有稍微 parse swp file一下,感覺上是可行的,但是得要知道檔案結束在那個地方。

  4. 支援 pandoc 的自訂格式與 command

    這沒很難,只是很麻煩,目前已經可以從檔名判斷格式,如果真的有需要可以自行從程式碼中修改。而想做的事如下。

    1. 使用者自行定義 input formt,可從 arguments or option 或 GUI (這得要好好想想怎麼設計會比較好)
    2. 可支援使用者自行定義 executing pandoc command

Question

  1. 這隻程式會持續的維護嗎 ?

    會,因為我平常都是用這樣子的模式在寫文件,所以有什麼問題我會自己試著去修改。如果有一天沒有維護了,原因不外乎是我不用這隻程式或懶了 XD。

  2. 為什麼使用 PySide & pandoc ?

    用 pandoc 的原因支援檔案格式的多樣性,我覺得這也是 Mou 的一個可惜之處。另外一個原因是: 兩個都有裝 XD 其實 PySide (QtWebKit) 和 haskell-platform 都不小,但是目前沒有改用別的套件的計畫。

  3. 為什麼不支援 Windows ?

    因為非常懶,而且我身邊也沒有可以測的 Windows 電腦 XD。如果上述的套件在 Windows 底下裝的起來,這隻程式應該能執行 (吧?)。相依的套件在 Windows 上都可以直接安裝就是了,有人要幫我測試我會很感激的 (笑)。

  4. 為什麼不能按兩下執行 ?

    因為我不知道怎麼打包一個 Python Program 在各種平台上 XD (尤其是 Mac OSX XD),有需要的話會加到 To Do List 裡面 XD。

  5. 為什麼不支援多檔開啟 ?

    因為懶 XD 如果真的有需要可以加到 To Do List

Version

  • [01.18.2012] - v0.1 - Written by Yen3