2014-05-15 157 views
0

我需要使用Sphinx文檔記錄許多CLI命令。我已經到處找,可用於生產類似CLI如何github上的文件命令輸出的擴展:使用Sphinx文檔記錄CLI命令

https://developer.github.com/v3/#parameters

有沒有,我錯過了,可能提供幫助的任何擴展?如果沒有,任何人都可以指出建立一個方向?

我需要能夠記錄例如這樣的:

.. sourcecode:: cli 

    $ curl -i "https://api.github.com/repos/vmg/redcarpet/issues?state=closed" 

,並有輸出。

謝謝!

回答

1

有很多themes可以更改.. code::指令處理方式的默認外觀。例如:

.. code:: 

    $ curl -i "https://api.github.com/repos/vmg/redcarpet/issues?state=closed" 

輸出與默認主題:

default_theme

隨着sphinx_bootstrap_theme

bootstrap_theme

但是,如果你想創建一個到更緊密的感覺github文件,你可以擴展默認的css並使用.. raw:: dir有意稱爲自定義類。我創建了一個_static/cli.css文件在我的文檔目錄中的以下內容:

.cli { 
    border: 1px solid #cacaca; 
    font: 12px/1.4em Consolas, 'Liberation Mono', Courier, monospace; 
    padding: 10px; 
    overflow:auto; 
    border-radius: 3px; 
    margin: 2em 0; 
    background-color: #444; 
    color: #fff; 
    position: relative; 
} 

然後添加以下到conf.py.還有其他方法可以擴展CSS,但這只是我當時選擇的一種。

html_static_path = ['_static'] 
def setup(app): 
    app.add_stylesheet('cli.css') 

最後我在第一次使用.. raw::指令調用新類。

.. raw:: html 

    <div class='cli'> 
    $ curl -i "https://api.github.com/repos/vmg/redcarpet/issues?state=closed" <br> 
    $ curl -i "https://api.github.com/repos/vmg/redcarpet/issues?state=closed" <br> 
    $ curl -i "https://api.github.com/repos/vmg/redcarpet/issues?state=closed" <br> 
    $ curl -i "https://api.github.com/repos/vmg/redcarpet/issues?state=closed" <br> 
    </div> 

custom-css

現在,這可能與自定義指令來改善。

+0

謝謝!這正是我所期待的。 –

1

正如@cole提到,「這可能與自定義指令來提高」 - 居然還有一個已經sphinx-prompt(或檢查github repo

您可以通過pip install sphinx-prompt安裝只需添加'sphinx-prompt',extensions元組conf.py.

之後,你只需要使用指令.. prompt:: bash用命令下像

.. prompt:: bash 

    curl -i "https://api.github.com/repos/vmg/redcarpet/issues?state=closed" 

,它會輸出

$ curl -i "https://api.github.com/repos/vmg/redcarpet/issues?state=closed" 

與精密額外的$不可選。


More examples here

可以看到它在行動on this page that I'm working on(向下滾動,提示在後臺微黃)