<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>ObsidianonDocs</title><link>https://hiraethecho.github.io/docs/tags/obsidian/</link><description>Recent contentinObsidianonDocs</description><generator>Hugo --0.152.2</generator><language>en</language><managingEditor>wyz2016zxc@outlook.com(Hiraeth)</managingEditor><webMaster>wyz2016zxc@outlook.com(Hiraeth)</webMaster><lastBuildDate>Mon, 16 Mar 2026 15:39:39 +0800</lastBuildDate><atom:link href="https://hiraethecho.github.io/docs/tags/obsidian/index.xml" rel="self" type="application/rss+xml"/><item><title>豆瓣记录导入obsidian</title><link>https://hiraethecho.github.io/docs/software/obsidian_douban/</link><pubDate>Wed, 28 May 2025 00:00:00 +0000</pubDate><author>wyz2016zxc@outlook.com(Hiraeth)</author><guid>https://hiraethecho.github.io/docs/software/obsidian_douban/</guid><description>&lt;h1 id="obsidian-和豆瓣"&gt;
&lt;a class="anchor inpage" href="#obsidian-%e5%92%8c%e8%b1%86%e7%93%a3"&gt;#&lt;/a&gt;obsidian 和豆瓣&lt;/h1&gt;
&lt;h2 id="plugins"&gt;
&lt;a class="anchor inpage" href="#plugins"&gt;##&lt;/a&gt;plugins&lt;/h2&gt;
&lt;p&gt;发现一些插件可以把豆瓣的信息导入到obsidian，可以作为阅读管理统计。&lt;/p&gt;
&lt;p&gt;首先是豆瓣的
，可以登陆豆瓣账户，然后可以同步自己的书影音。&lt;/p&gt;</description><content:encoded><![CDATA[<h1 id="obsidian-和豆瓣">
  <a class="anchor inpage" href="#obsidian-%e5%92%8c%e8%b1%86%e7%93%a3">#</a>obsidian 和豆瓣</h1>
<h2 id="plugins">
  <a class="anchor inpage" href="#plugins">##</a>plugins</h2>
<p>发现一些插件可以把豆瓣的信息导入到obsidian，可以作为阅读管理统计。</p>
<p>首先是豆瓣的
，可以登陆豆瓣账户，然后可以同步自己的书影音。</p>
<p>
导出划线，这个和豆瓣的不能是同一个文件，会有同步的问题。可以看完了再把划线移动到其他文档。</p>
<p>用bookshelf来查看，和记录阅读进度。这个似乎可以用base之类的方法代替。</p>
<h2 id="模板配置">
  <a class="anchor inpage" href="#%e6%a8%a1%e6%9d%bf%e9%85%8d%e7%bd%ae">##</a>模板配置</h2>
<h3 id="豆瓣">
  <a class="anchor inpage" href="#%e8%b1%86%e7%93%a3">###</a>豆瓣</h3>
<p>book</p>
<details open>
    <summary>temple</summary><pre
        class="codeblock"
      ><code class="language-temple" data-lang="temple">---
title: {{title}}
lists: {{type}}
score: {{score}}
rating: {{myRating}}
originalTitle: {{originalTitle}}
published: {{datePublished}}
pages: {{totalPage}}
author: {{author}}
tags: {{myTags}}
state: {{myState}}
url: {{url}}
country: {{country}}
language: {{language}}
time: {{time}}
comment: {{desc}}
cover:
---

# {{title}}

![image]({{image}})

comment: {{desc}}

{{myComment}}

doubanId: {{id}}

## log</code><button onclick="copyCode(this)" class="copybtn">copy</button></pre></details>

  <script>
    function copyCode(btn) {
      const code = btn.previousElementSibling.textContent.trim();
      navigator.clipboard.writeText(code).then(() => {
        btn.innerText = "copied";
        setTimeout(() => (btn.innerText = "copy"), 2000);
      });
    }
  </script><p>movie</p>
<details open>
    <summary>template</summary><pre
        class="codeblock"
      ><code class="language-template" data-lang="template">---
doubanId: {{id}}
title: {{title}}
lists: {{type}}
score: {{score}}
rating: {{myRating}}
originalTitle: {{originalTitle}}
published: {{datePublished}}
director: {{director}}
actor: {{actor}}
author: {{author}}
tags: {{myTags}}
url: {{url}}
aliases: {{aliases}}
country: {{country}}
language: {{language}}
time: {{time}}
comment: {{desc}}
cover:
---

# {{title}}
![]({{image}})
IMDb: {{IMDb}}</code><button onclick="copyCode(this)" class="copybtn">copy</button></pre></details>

  <script>
    function copyCode(btn) {
      const code = btn.previousElementSibling.textContent.trim();
      navigator.clipboard.writeText(code).then(() => {
        btn.innerText = "copied";
        setTimeout(() => (btn.innerText = "copy"), 2000);
      });
    }
  </script><h3 id="weread">
  <a class="anchor inpage" href="#weread">###</a>weread</h3>
<p>这个是只导出划线和高亮没有评论，因为我不怎么在微信阅读写评论。</p>
<details open>
    <summary>template</summary><pre
        class="codeblock"
      ><code class="language-template" data-lang="template">---
title: {{ metaData.title }}
lists: book
author: {{ metaData.author }}
time: {{ metaData.publishTime }}
comment: {{ metaData.intro }}
cover: {{ metaDate.cover }}
---

![{{metaData.title}}|200]({{metaData.cover}})

作者： {{metaData.author}}
简介： {{metaData.intro}}
类型： {{metaData.category}}

## highlights

{% for chapter in chapterHighlights %}### {{chapter.chapterTitle}}

{% for highlight in chapter.highlights %}- {{ highlight.markText |trim }}
{% endfor %}
{% endfor %}</code><button onclick="copyCode(this)" class="copybtn">copy</button></pre></details>

  <script>
    function copyCode(btn) {
      const code = btn.previousElementSibling.textContent.trim();
      navigator.clipboard.writeText(code).then(() => {
        btn.innerText = "copied";
        setTimeout(() => (btn.innerText = "copy"), 2000);
      });
    }
  </script><h3 id="bookshelf">
  <a class="anchor inpage" href="#bookshelf">###</a>bookshelf</h3>
<p>这个json可以直接放在<code>obsidian-repo/.obsidian/plugins/bookshelf/data.json</code>中。</p>
<details open>
    <summary>json</summary><pre
        class="chroma codeblock"
      ><code class="language-json" data-lang="json"
          ><span style="display:flex;"><span>{
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">&#34;settingsVersion&#34;</span>: <span style="color:#ae81ff">20250408</span>,
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">&#34;booksFolder&#34;</span>: <span style="color:#e6db74">&#34;gallery&#34;</span>,
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">&#34;bookProperties&#34;</span>: {
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">&#34;cover&#34;</span>: <span style="color:#e6db74">&#34;cover&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">&#34;author&#34;</span>: <span style="color:#e6db74">&#34;author&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">&#34;published&#34;</span>: <span style="color:#e6db74">&#34;published&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">&#34;pages&#34;</span>: <span style="color:#e6db74">&#34;pages&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">&#34;tags&#34;</span>: <span style="color:#e6db74">&#34;tags&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">&#34;rating&#34;</span>: <span style="color:#e6db74">&#34;rating&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">&#34;lists&#34;</span>: <span style="color:#e6db74">&#34;lists&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">&#34;comment&#34;</span>: <span style="color:#e6db74">&#34;comment&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">&#34;links&#34;</span>: <span style="color:#e6db74">&#34;links&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">&#34;series&#34;</span>: <span style="color:#e6db74">&#34;series&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">&#34;positionInSeries&#34;</span>: <span style="color:#e6db74">&#34;position-in-series&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">&#34;duration&#34;</span>: <span style="color:#e6db74">&#34;duration&#34;</span>
</span></span><span style="display:flex;"><span>    },
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">&#34;bookNote&#34;</span>: {
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">&#34;enabled&#34;</span>: <span style="color:#66d9ef">true</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">&#34;heading&#34;</span>: <span style="color:#e6db74">&#34;log&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">&#34;dateFormat&#34;</span>: <span style="color:#e6db74">&#34;yyyy-MM-dd&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">&#34;patterns&#34;</span>: {
</span></span><span style="display:flex;"><span>            <span style="color:#f92672">&#34;started&#34;</span>: <span style="color:#e6db74">&#34;{date}: Started&#34;</span>,
</span></span><span style="display:flex;"><span>            <span style="color:#f92672">&#34;finished&#34;</span>: <span style="color:#e6db74">&#34;{date}: Finished&#34;</span>,
</span></span><span style="display:flex;"><span>            <span style="color:#f92672">&#34;abandoned&#34;</span>: <span style="color:#e6db74">&#34;{date}: Abandoned&#34;</span>,
</span></span><span style="display:flex;"><span>            <span style="color:#f92672">&#34;absoluteProgress&#34;</span>: <span style="color:#e6db74">&#34;{date}: {start}-{end}&#34;</span>,
</span></span><span style="display:flex;"><span>            <span style="color:#f92672">&#34;relativeProgress&#34;</span>: <span style="color:#e6db74">&#34;{date}: {end}&#34;</span>
</span></span><span style="display:flex;"><span>        }
</span></span><span style="display:flex;"><span>    },
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">&#34;dailyNote&#34;</span>: {
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">&#34;enabled&#34;</span>: <span style="color:#66d9ef">true</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">&#34;heading&#34;</span>: <span style="color:#e6db74">&#34;Reading&#34;</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">&#34;patterns&#34;</span>: {
</span></span><span style="display:flex;"><span>            <span style="color:#f92672">&#34;started&#34;</span>: <span style="color:#e6db74">&#34;Started {{book}}&#34;</span>,
</span></span><span style="display:flex;"><span>            <span style="color:#f92672">&#34;finished&#34;</span>: <span style="color:#e6db74">&#34;Finished {book}&#34;</span>,
</span></span><span style="display:flex;"><span>            <span style="color:#f92672">&#34;abandoned&#34;</span>: <span style="color:#e6db74">&#34;Abandoned {book}&#34;</span>,
</span></span><span style="display:flex;"><span>            <span style="color:#f92672">&#34;absoluteProgress&#34;</span>: <span style="color:#e6db74">&#34;Read {book}: {start}-{end}&#34;</span>,
</span></span><span style="display:flex;"><span>            <span style="color:#f92672">&#34;relativeProgress&#34;</span>: <span style="color:#e6db74">&#34;Read {book}: {end}&#34;</span>
</span></span><span style="display:flex;"><span>        }
</span></span><span style="display:flex;"><span>    },
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">&#34;readingProgress&#34;</span>: {
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">&#34;newEntryLocation&#34;</span>: <span style="color:#e6db74">&#34;bookNote&#34;</span>
</span></span><span style="display:flex;"><span>    },
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">&#34;previousVersion&#34;</span>: <span style="color:#e6db74">&#34;0.18.0&#34;</span>,
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">&#34;showReleaseNotes&#34;</span>: <span style="color:#66d9ef">true</span>
</span></span><span style="display:flex;"><span>}</span></span></code
        ><button onclick="copyCode(this)" class="copybtn">copy</button></pre></details>

  <script>
    function copyCode(btn) {
      const code = btn.previousElementSibling.textContent.trim();
      navigator.clipboard.writeText(code).then(() => {
        btn.innerText = "copied";
        setTimeout(() => (btn.innerText = "copy"), 2000);
      });
    }
  </script><h2 id="解释">
  <a class="anchor inpage" href="#%e8%a7%a3%e9%87%8a">##</a>解释</h2>
<p>我的文件放在<code>obsidian-repo/gallery/</code>目录下，用bookshelf的lists来区分书、电影和音乐</p>
]]></content:encoded></item><item><title>用obsidian管理多个博客</title><link>https://hiraethecho.github.io/docs/dev/blogs/</link><pubDate>Sat, 05 Apr 2025 00:00:00 +0000</pubDate><author>wyz2016zxc@outlook.com(Hiraeth)</author><guid>https://hiraethecho.github.io/docs/dev/blogs/</guid><description>之前在一个obsidian仓库管理hexo hugo mkdocs三个网站的方法</description><content:encoded><![CDATA[<h1 id="用obsidian管理多个博客">
  <a class="anchor inpage" href="#%e7%94%a8obsidian%e7%ae%a1%e7%90%86%e5%a4%9a%e4%b8%aa%e5%8d%9a%e5%ae%a2">#</a>用obsidian管理多个博客</h1>
<p>一些花里胡哨的技巧。</p>
<h2 id="目标">
  <a class="anchor inpage" href="#%e7%9b%ae%e6%a0%87">##</a>目标</h2>
<p>多个博客网站，都用github pages功能发布。多个博客的post文件放在一个obsidian仓库中管理，并且本身作为一个github repository。push 这个obsidian/github仓库后将博客内容同步到其他博客repo。各个repo自己发布。</p>
<h2 id="思路">
  <a class="anchor inpage" href="#%e6%80%9d%e8%b7%af">##</a>思路</h2>
<p>用github action，push之后检测变化的文件，clone对应仓库，同步文件，再分别push。</p>
<p>需要注意的是，GitHub action对各个repo的读写权限，需要配置各种keys。<br>
先生成ssh keys，将pub放入博客repo的deploy key，记得打开写权限；private key放入obsidian repo的secrets中。<br>
每个博客仓库都需要一个密钥对。</p>
<h2 id="示例">
  <a class="anchor inpage" href="#%e7%a4%ba%e4%be%8b">##</a>示例</h2>
<p>例如将<code>obsidian/hexo</code>的内容同步到<code>hexo</code>框架下对应的<code>hexo/source/_posts</code>文件夹下，<code>/.github/workflows/sync_hexo</code>中</p>
<details open>
    <summary>yml</summary><pre
        class="chroma codeblock"
      ><code class="language-yml" data-lang="yml"
          ><span style="display:flex;"><span><span style="color:#f92672">name</span>: <span style="color:#ae81ff">Sync ob/hexo to hexo/source_posts</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">on</span>:
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">push</span>:
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">paths</span>:
</span></span><span style="display:flex;"><span>            - <span style="color:#e6db74">&#34;hexo/**&#34;</span> <span style="color:#75715e"># 监听文件夹内的文件变化，没有变化不会触发action</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">jobs</span>:
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">sync</span>:
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">runs-on</span>: <span style="color:#ae81ff">ubuntu-latest</span>
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">steps</span>:
</span></span><span style="display:flex;"><span>            <span style="color:#75715e"># 检出 obsidian 仓库的代码</span>
</span></span><span style="display:flex;"><span>            - <span style="color:#f92672">name</span>: <span style="color:#ae81ff">Checkout blogs repository</span>
</span></span><span style="display:flex;"><span>              <span style="color:#f92672">uses</span>: <span style="color:#ae81ff">actions/checkout@v3</span>
</span></span><span style="display:flex;"><span>              <span style="color:#f92672">with</span>:
</span></span><span style="display:flex;"><span>                  <span style="color:#f92672">repository</span>: <span style="color:#ae81ff">username/obsidian_repo</span>
</span></span><span style="display:flex;"><span>                  <span style="color:#f92672">path</span>: <span style="color:#ae81ff">obsidian</span>
</span></span><span style="display:flex;"><span>            - <span style="color:#f92672">name</span>: <span style="color:#ae81ff">commit</span>
</span></span><span style="display:flex;"><span>              <span style="color:#f92672">run</span>: |<span style="color:#e6db74">
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">                  cd obsidian
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">                  git log -1 --pretty=%B &gt; ~/commit</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>            <span style="color:#75715e"># 设置 Git 配置（用户名和ssh私钥）</span>
</span></span><span style="display:flex;"><span>            - <span style="color:#f92672">name</span>: <span style="color:#ae81ff">Set up Git</span>
</span></span><span style="display:flex;"><span>              <span style="color:#f92672">env</span>:
</span></span><span style="display:flex;"><span>                  <span style="color:#f92672">ACTIONS_KEY</span>: <span style="color:#ae81ff">${{ secrets.OB_PRI }}</span>
</span></span><span style="display:flex;"><span>              <span style="color:#f92672">run</span>: |<span style="color:#e6db74">
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">                  mkdir -p ~/.ssh/
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">                  echo &#34;$ACTIONS_KEY&#34; &gt; ~/.ssh/id_rsa
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">                  chmod 700 ~/.ssh
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">                  chmod 600 ~/.ssh/id_rsa
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">                  ssh-keyscan github.com &gt;&gt; ~/.ssh/known_hosts
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">                  git config --global user.name &#34;action&#34;
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">                  git config --global user.email &#34;email&#34;
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">                  git config --global core.quotepath false
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">                  git config --global i18n.commitEncoding utf-8
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">                  git config --global i18n.logOutputEncoding utf-8</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>            - <span style="color:#f92672">name</span>: <span style="color:#ae81ff">clone</span>
</span></span><span style="display:flex;"><span>              <span style="color:#f92672">run</span>: |<span style="color:#e6db74">
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">                  git clone git@github.com:username/hexo_repo ~/hexo</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>            - <span style="color:#f92672">name</span>: <span style="color:#ae81ff">Sync files from obsidian/hexo to hexo/source/_posts</span>
</span></span><span style="display:flex;"><span>              <span style="color:#f92672">run</span>: |<span style="color:#e6db74">
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">                  rsync -av obsidian/hexo/ ~/hexo/source/_posts/</span>
</span></span><span style="display:flex;"><span>            - <span style="color:#f92672">name</span>: <span style="color:#ae81ff">Commit and push changes to HexoBlog repository</span>
</span></span><span style="display:flex;"><span>              <span style="color:#f92672">run</span>: |<span style="color:#e6db74">
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">                  cd ~/hexo
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">                  git add .
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">                  git commit -m &#34;Sync obsidian to hexo $(cat ~/commit)&#34;
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">                  git push origin main</span></span></span></code
        ><button onclick="copyCode(this)" class="copybtn">copy</button></pre></details>

  <script>
    function copyCode(btn) {
      const code = btn.previousElementSibling.textContent.trim();
      navigator.clipboard.writeText(code).then(() => {
        btn.innerText = "copied";
        setTimeout(() => (btn.innerText = "copy"), 2000);
      });
    }
  </script><p>注意其中 <code>username</code> <code>hexo_repo</code> <code>obsidian_repo</code> <code>secrets.OB_PRI</code>等根据情况改写。</p>
]]></content:encoded></item><item><title>用mkdocs、obsidian、zotero搭建在线文献学习笔记</title><link>https://hiraethecho.github.io/docs/dev/3in1wiki/</link><pubDate>Tue, 15 Oct 2024 00:00:00 +0000</pubDate><author>wyz2016zxc@outlook.com(Hiraeth)</author><guid>https://hiraethecho.github.io/docs/dev/3in1wiki/</guid><description>&lt;h1 id="使用mkdocsobsidianzotero搭建在线文献学习笔记"&gt;
&lt;a class="anchor inpage" href="#%e4%bd%bf%e7%94%a8mkdocsobsidianzotero%e6%90%ad%e5%bb%ba%e5%9c%a8%e7%ba%bf%e6%96%87%e7%8c%ae%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0"&gt;#&lt;/a&gt;使用mkdocs、obsidian、zotero搭建在线文献学习笔记&lt;/h1&gt;
&lt;p&gt;工作流是，在zotero中阅读和标记。用zotero-better-notes插件把标记变成文本格式，并且导出到obsidian的库文件中，进一步编辑（或者用nvim编辑）。在obsidian中更方便笔记链接跳转，zotero只是文献管理和阅读。然后把笔记同步到mkdocs的git仓库（实际上是把mkdocs的文件夹软链接到obsidian库），用github pages搭建在线wiki。&lt;/p&gt;</description><content:encoded><![CDATA[<h1 id="使用mkdocsobsidianzotero搭建在线文献学习笔记">
  <a class="anchor inpage" href="#%e4%bd%bf%e7%94%a8mkdocsobsidianzotero%e6%90%ad%e5%bb%ba%e5%9c%a8%e7%ba%bf%e6%96%87%e7%8c%ae%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0">#</a>使用mkdocs、obsidian、zotero搭建在线文献学习笔记</h1>
<p>工作流是，在zotero中阅读和标记。用zotero-better-notes插件把标记变成文本格式，并且导出到obsidian的库文件中，进一步编辑（或者用nvim编辑）。在obsidian中更方便笔记链接跳转，zotero只是文献管理和阅读。然后把笔记同步到mkdocs的git仓库（实际上是把mkdocs的文件夹软链接到obsidian库），用github pages搭建在线wiki。</p>
<h2 id="设置">
  <a class="anchor inpage" href="#%e8%ae%be%e7%bd%ae">##</a>设置</h2>
<h3 id="zotero">
  <a class="anchor inpage" href="#zotero">###</a>Zotero</h3>
<p>关键是<code>zotero-better-note</code>插件的
：从注释创建笔记；将笔记插入到其他笔记；将笔记导出为markdown。</p>
<blockquote class="alert alert-important">
      <p class="alert-heading">IMPORTANT</p><p>导出路径和模板中链接路径有硬编码部分，需要根据具体情况手动修改。</p></blockquote><h3 id="obsidian">
  <a class="anchor inpage" href="#obsidian">###</a>obsidian</h3>
<p>需要在设置中选择使用<code>markdown</code>风格链接而不是<code>wiki</code>风格。根目录<code>/</code>是obsidian的库文件夹。</p>
<h3 id="mkdocs">
  <a class="anchor inpage" href="#mkdocs">###</a>mkdocs</h3>
<p>基本上就是直接使用模板。</p>
<h2 id="路径匹配">
  <a class="anchor inpage" href="#%e8%b7%af%e5%be%84%e5%8c%b9%e9%85%8d">##</a>路径匹配</h2>
<p>主要需要注意的，是文件名和链接格式，即<code>[markdown格式的链接](这里应该写什么路径)</code>，使得zotero、obsidian、在线网页的跳转都正常。实际上有两个跳转，一个是到md文件的跳转，另一个是到pdf的跳转。前者是obsidian或网页内的跳转，相对简单；后者是跳转到zotero中的pdf，这个实际上只有我能用，因为涉及到zotero的数据库。有多种选择：</p>
<h3 id="docs文件夹作为obsidian仓库">
  <a class="anchor inpage" href="#docs%e6%96%87%e4%bb%b6%e5%a4%b9%e4%bd%9c%e4%b8%baobsidian%e4%bb%93%e5%ba%93">###</a><code>docs</code>文件夹作为obsidian仓库</h3>
<p>创建仓库<code>username.github.io</code>（必须是这个格式），在线网页会是<code>https://&lt;username&gt;.github.io</code>，那么链接应该写成<code>[title](/filename)</code>，在网页端是<code>https://&lt;username&gt;.github.io/filename</code>。把<code>docs/</code>文件夹作为obsidian repo，用<code>.gitignore</code>忽略掉<code>docs/.obsidian</code>。</p>
<p>优点是简单，缺点文件直接在obsidian的根目录，不好管理其他内容了。</p>
<h3 id="docs文件夹作为obsidian仓库子文件夹">
  <a class="anchor inpage" href="#docs%e6%96%87%e4%bb%b6%e5%a4%b9%e4%bd%9c%e4%b8%baobsidian%e4%bb%93%e5%ba%93%e5%ad%90%e6%96%87%e4%bb%b6%e5%a4%b9">###</a><code>docs</code>文件夹作为obsidian仓库子文件夹</h3>
<p>使用二级域名的github pages，即创建仓库（例如<code>wiki</code>），在线网页会是<code>https://&lt;username&gt;.github.io/wiki</code>，那么链接应该写成<code>[title](/wiki/filename)</code>，在网页端是<code>https://&lt;username&gt;.github.io/wiki/filename</code></p>
<p>把<code>docs</code>变成obsidian的子文件夹，可以用软链接：</p>
<details open>
    <summary>sh</summary><pre
        class="chroma codeblock"
      ><code class="language-sh" data-lang="sh"
          ><span style="display:flex;"><span>ln -s /path/to/git/repo/docs /path/to/obsidian/repo/wiki</span></span></code
        ><button onclick="copyCode(this)" class="copybtn">copy</button></pre></details>

  <script>
    function copyCode(btn) {
      const code = btn.previousElementSibling.textContent.trim();
      navigator.clipboard.writeText(code).then(() => {
        btn.innerText = "copied";
        setTimeout(() => (btn.innerText = "copy"), 2000);
      });
    }
  </script><p>或者用
</p>
<h2 id="总结">
  <a class="anchor inpage" href="#%e6%80%bb%e7%bb%93">##</a>总结</h2>
<blockquote class="alert alert-note">
      <p class="alert-heading">NOTE</p><p>似乎需要一个markdown和latex转换的脚本。其中markdown应该混写html比较好。似乎lua就可以，那么就可以做nvim插件。<br>
2025-05-21: 似乎latex转markdown+html比较好，用<code>&lt;ul&gt;</code> <code>&lt;ol&gt;</code> <code>&lt;detail&gt;</code>标签来处理latex环境<code>itemize</code> <code>enumerate</code> <code>Theorem</code></p></blockquote>]]></content:encoded></item><item><title>obsidian使用与插件</title><link>https://hiraethecho.github.io/docs/software/obsidian/</link><pubDate>Sat, 11 Nov 2023 00:00:00 +0000</pubDate><author>wyz2016zxc@outlook.com(Hiraeth)</author><guid>https://hiraethecho.github.io/docs/software/obsidian/</guid><description>&lt;h1 id="obsidian"&gt;
&lt;a class="anchor inpage" href="#obsidian"&gt;#&lt;/a&gt;obsidian&lt;/h1&gt;
&lt;h2 id="plugins"&gt;
&lt;a class="anchor inpage" href="#plugins"&gt;##&lt;/a&gt;plugins&lt;/h2&gt;
&lt;p&gt;常用：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;remotely save (using webdav to synchronize files)&lt;/li&gt;
&lt;li&gt;obsidian web clipper 浏览器插件&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;好用：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;git&lt;/li&gt;
&lt;li&gt;digital garden&lt;/li&gt;
&lt;li&gt;share as gist&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;没必要：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;gistr: 和&lt;code&gt;share as gist&lt;/code&gt;比不能添加description&lt;/li&gt;
&lt;li&gt;find orphaned files and broken links&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;about vim:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;vim toggle&lt;/li&gt;
&lt;li&gt;vim input method switch&lt;/li&gt;
&lt;li&gt;vimrc&lt;/li&gt;
&lt;li&gt;edit in neovim&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;展示：&lt;/p&gt;</description><content:encoded><![CDATA[<h1 id="obsidian">
  <a class="anchor inpage" href="#obsidian">#</a>obsidian</h1>
<h2 id="plugins">
  <a class="anchor inpage" href="#plugins">##</a>plugins</h2>
<p>常用：</p>
<ul>
<li>remotely save (using webdav to synchronize files)</li>
<li>obsidian web clipper 浏览器插件</li>
</ul>
<p>好用：</p>
<ul>
<li>git</li>
<li>digital garden</li>
<li>share as gist</li>
</ul>
<p>没必要：</p>
<ul>
<li>gistr: 和<code>share as gist</code>比不能添加description</li>
<li>find orphaned files and broken links</li>
</ul>
<p>about vim:</p>
<ul>
<li>vim toggle</li>
<li>vim input method switch</li>
<li>vimrc</li>
<li>edit in neovim</li>
</ul>
<p>展示：</p>
<ul>
<li>
</li>
<li>dataview (display files by metadata)</li>
<li>kanban (plan things, especially something with many stages)不习惯</li>
</ul>
<h2 id="theme">
  <a class="anchor inpage" href="#theme">##</a>theme</h2>
<ul>
<li>nord</li>
<li>minimal</li>
</ul>
<h2 id="sync">
  <a class="anchor inpage" href="#sync">##</a>sync</h2>
<p>因为
，所以重点是同步obsidian仓库。云端是github和webdav（koofr），在两台电脑（都是win/linux双系统）和手机、ipad，总计6个仓库同步。要注意的是</p>
<ul>
<li>手机和ipad很难用git</li>
<li>设置需要忽略的文件</li>
<li>考虑用插件还是外部命令</li>
<li>各种方式下的冲突文件处理</li>
</ul>
<h2 id="editor">
  <a class="anchor inpage" href="#editor">##</a>editor</h2>
<p>虽然用obsidian管理markdown文件，但编辑器可以用其他的。比如
.</p>
]]></content:encoded></item></channel></rss>