網頁內嵌 Python Snippet
code-prettify
當我們想要在網頁下嵌入程式碼範例時, 我們期待它呈現的是跟程式開發工具, 或者簡稱 IDE, 是很接近的. 例如要有顏色區隔變數或是指令; 要有縮排.
預期理想的效果大約如下:
可以參考 code-prettify, 方法極為簡單, 我們只要在 網頁HTML碼 加上幾行即可. 例如: 我現在用的 Google Site, 於 [插入] 中選擇 <>內嵌 元素, 出現
<script src="https://cdn.jsdelivr.net/gh/google/code-prettify@master/loader/run_prettify.js?skin=sunburst"></script>
<style>li.L0, li.L1, li.L2, li.L3, li.L5, li.L6, li.L7, li.L8 {list-style-type: decimal !important;}</style>
<?prettify?>
<pre class="prettyprint lang-py linenums">
[你的程式碼 Copy-Paste 到此]
</pre>
然後將程式碼貼上即可, 記得要將[你的程式碼 Copy-Paste 到此] 替換成程式碼.
<script src="https://cdn.jsdelivr.net/gh/google/code-prettify@master/loader/run_prettify.js?skin=sunburst"></script>
<style>li.L0, li.L1, li.L2, li.L3, li.L5, li.L6, li.L7, li.L8 {list-style-type: decimal !important;}</style>
<?prettify?>
<pre class="prettyprint lang-py linenums">
class WorkFolder(Path):
_flavour = _windows_flavour if os.name == 'nt' else _posix_flavour
def __new__(cls, *args):
tmp=super(WorkFolder, cls).__new__(cls, *args)
return tmp if tmp.is_dir() else None
def __init__(self, *args):
self.classIds = list(classes.keys())
self.remains = [child for child in self.iterdir() if \
(child.is_file() and child.suffix.lower() in ['.png','.jpeg','.jpg'])]
if len(self.remains) > 0:
for c in self.classIds:
os.makedirs(self.joinpath(c), exist_ok=True)
</pre>
例如, 我們用上面的碼, 結果將得到如下的樣式. 與預期有點距離, 還可接受.