> [!warning] > #2021/10/03 現在メンテナンスされていないことを確認 ## 概要 - [[Obsidian]]のvalutをHTMLに変換するPythonスクリプト - [[python-markdown2]]に依存しているがObsidianの記法を考慮してパースする ## インストール ``` pip3 install git+https://github.com/kmaasrud/obsidian-html.git ``` 管理者権限が必要と書かれているが、一旦なしでやってみる。 ## 実行 - デフォルトでは実行したディレクトリ配下のMarkdownをすべて含める - **サブディレクトリは含まれない** - サブディレクトリを含めたい場合は `-d` フラグを指定する - 結果は`html`ディレクトリに放り込まれる - 上記は標準入力や`-o`引数を使えば変更できる ``` obsidian-html . -d URI Togowl ``` ## テンプレート HTMLは作成されるが見た目がplainなのでテンプレートを使う。 ```html:template.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <!-- IBM Plex Mono --> <link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono&display=swap" rel="stylesheet"> <!-- IBM Plex Sans --> <link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:ital,wght@0,300;0,400;0,600;0,700;1,300;1,400;1,600;1,700&display=swap" rel="stylesheet"> <!-- CSS (uses absolute weblinks to work around relative path issues) --> <link rel="stylesheet" type="text/css" href="https://www.kmaasrud.com/main.css"> <link rel="stylesheet" type="text/css" href="https://www.kmaasrud.com/brain/main.css"> <title>{title}</title> <link rel="icon" href="https://raw.githubusercontent.com/kmaasrud/brain/master/favicon.svg" type="image/svg+xml"> <link rel="alternate icon" href="https://raw.githubusercontent.com/kmaasrud/brain/master/favicon.ico" type="image/x-icon"> </head> <body> <div class="grid"> <nav> <ul> <a href="https://www.kmaasrud.com/brain"><img id="logo" src="https://raw.githubusercontent.com/kmaasrud/brain/master/brain.svg"></img></a> <br> <li><a href="https://www.kmaasrud.com/projects">Projects</a></li> <li><a href="https://github.com/kmaasrud">GitHub</a></li> <br> </ul> <div class="footer"> <p>Get in touch with me:</p> <a href="mailto:[email protected]">[email protected]</a> </div> </nav> <article> <header>{title}</header> {content} {backlinks} </article> </div> <!-- KaTeX --> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.css" integrity="sha384-zB1R0rpPzHqg7Kpt0Aljp8JPLqbXI3bhnPWROx27a9N0Ll6ZP/+DiW/UqRcLbRjq" crossorigin="anonymous"> <!-- The loading of KaTeX is deferred to speed up page rendering --> <script defer src="https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.js" integrity="sha384-y23I5Q6l+B6vatafAwxRu/0oK/79VlbSz7Q9aiSZUvyWYIYsd+qj+o24G5ZU2zJz" crossorigin="anonymous"></script> <!-- To automatically render math in text elements, include the auto-render extension: --> <script defer src="https://cdn.jsdelivr.net/npm/[email protected]/dist/contrib/auto-render.min.js" integrity="sha384-kWPLUVMOks5AQFrykwIup5lo0m3iMkkHrD0uJ4H5cjeGihAutqP0yW0J6dpFiVkI" crossorigin="anonymous"></script> <!-- Parsing single dollar signs --> <script> document.addEventListener("DOMContentLoaded", function () {{ renderMathInElement(document.body, {{ delimiters: [ {{left: "$", right: "$", display: true}}, {{left: "\\[", right: "\\]", display: true}}, {{left: "quot;, right: "quot;, display: false}}, {{left: "\\(", right: "\\)", display: false}} ] }}); }}); </script> <!-- Syntax highlighting through highlight.js --> <link rel="stylesheet" href="https://unpkg.com/@highlightjs/[email protected]/styles/default.min.css"> <script src="https://unpkg.com/@highlightjs/[email protected]/highlight.min.js"></script> <script> // Ignore highlighting of mermaid hljs.configure({{noHighlightRe: /^mermaid$/}}); hljs.initHighlightingOnLoad(); </script> </body> </html> ``` 実行。 ``` obsidian-html . -d URI Togowl -t template.html ``` ## Localで実行する Localで実行する場合は[[URL]]の最後に`.html`が必要。 `obsidian-html`に`-e`フラグを付けてあげればOK。 ## 所感 公開したい場合の選択肢としてありかもしれない。 こんなのもある。 https://github.com/Jackiexiao/mkdocs-roamlinks-plugin