-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlocal-search.xml
More file actions
219 lines (105 loc) · 61.8 KB
/
Copy pathlocal-search.xml
File metadata and controls
219 lines (105 loc) · 61.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
<?xml version="1.0" encoding="utf-8"?>
<search>
<entry>
<title>在obsidian中实现PDF标注并同步建立Mindmap</title>
<link href="/2022/12/28/mindmap-pdfjs/"/>
<url>/2022/12/28/mindmap-pdfjs/</url>
<content type="html"><![CDATA[<h5 id="主要内容">主要内容</h5><p><font color="black" size="2"></font></p><p>使用 <code>obsidian</code> 做笔记的时候,不想再打开文献管理软件 <code>zotero</code> 查看 PDF 文件。</p><p>发现可以利用插件 <code>makemind</code> 和 <code>PDFjs</code> 直接实现在 ob 里面直接标注 PDF 文件,同时还可以直接建立对应的思维导图。</p><p>感觉是非常不错的辅助工作流,记录下主要步骤。</p><p></p><h5 id="参考链接">参考链接</h5><blockquote><p><a href="https://github.com/MarkMindCkm/obsidian-markmind/blob/main/docs/%E7%94%A8%E6%88%B7%E6%89%8B%E5%86%8C.md">obsidian mark mind 用户手册</a></p><p><a href="https://github.com/MarkMindCkm/obsidian-markmind/releases/download/1.5.9/pdfjs.zip">PC 端 PDFjs 下载地址</a></p></blockquote><h6 id="安装插件">(1) 安装插件</h6><p><font color="darkblue" size="2"></font></p><ol type="1"><li><p>安装第三方插件 makemind,直接在 ob 插件库检索安装即可;</p></li><li><p>PDFjs 直接下载,解压后,记录下绝对路径 <code>~/PDFjs/</code>;</p></li></ol><p></p><h6 id="插件设置">(2) 插件设置</h6><p><font color="darkblue" size="2"></font></p><ol type="1"><li>在 makemind 插件设置界面,将 PDFjs 的<b>绝对路径</b>填入;</li><li>打开 makemind 的<b>协议跳转 pdf </b>选项;</li><li>打开 makemind <b>自动生成节点</b>选项;</li><li>其它选项可选择性自定义,比如 PDF image 的默认保存地址;</li></ol><p></p><h6 id="思维导图和-pdf-标注使用">(3) 思维导图和 PDF 标注使用</h6><p><font color="darkblue" size="2"></font></p><ol type="1"><li>新建思维导图文件,yaml 写法如下:</li></ol><p></p><figure class="highlight yaml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><code class="hljs yaml"><span class="hljs-attr">mindmap-plugin:</span> <span class="hljs-string">rich</span><br><span class="hljs-attr">display-mode:</span> <span class="hljs-string">outline</span> <span class="hljs-comment"># 大纲显示</span><br><span class="hljs-attr">mindmap-theme:</span> <span class="hljs-string">whiteboard</span> <span class="hljs-comment"># mindmap 主题</span><br></code></pre></td></tr></table></figure><p><font color="darkblue" size="2"></font></p><ol start="2" type="1"><li>在文件中链接 PDF 文件</li></ol><p> <figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs markdown">[[fielname.pdf]]<br></code></pre></td></tr></table></figure></p><p><font color="darkblue" size="2"></font></p><ol start="3" type="1"><li>点击 PDF 文件链接即可跳转至 PDFjs 标注界面,选择思维导图视图即可查看当前思维导图,界面示例如下:</li></ol><p> <img src="https://codingyyao.github.io/2022/12/28/mindmap-pdfjs/page.png" alt="ob页面布局"></p><p><font color="darkblue" size="2"></font></p><ol start="4" type="1"><li>PDFjs 标注界面可以标注不同颜色,可以在左侧添加 notes,也可以在右上角使用截图。</li></ol><p></p><p><img src="https://codingyyao.github.io/2022/12/28/mindmap-pdfjs/pdfjs.png" alt="PDF标注页面"></p><p><font color="darkblue" size="2"></font></p><ol start="5" type="1"><li>PDF 标注时的任何操作都会在左侧新建一个 mindmap 的节点,唯一需要注意的是在生成节点前选择父节点。</li></ol><p> <img src="https://codingyyao.github.io/2022/12/28/mindmap-pdfjs/mindmap.png" alt="思维导图页面"></p><h6 id="不足">不足</h6><p><font color="blown" size="2"> 可能翻译不如zotero好用,但是借助沙拉取词也可以实现ob界面翻译。 </font></p>]]></content>
<categories>
<category>Tools</category>
</categories>
<tags>
<tag>obsidian工作流</tag>
</tags>
</entry>
<entry>
<title>LaTex笔记001-借助nexus模板</title>
<link href="/2022/12/27/latex-init/"/>
<url>/2022/12/27/latex-init/</url>
<content type="html"><![CDATA[<h5 id="主要内容">主要内容</h5><p><font color="darkblue" size="2"> 最近在看 <code>cs61a</code>,原版的 <code>textbook</code> 中很多地方想做标注,就顺便利用 <code>LaTex</code> 整理了笔记。</font></p><blockquote><p><font color="black" size="2"> 主要借助了 <b>nexus</b> 模板和 <b>xeboiboites</b> 模板,简要记录下主要的 LaTex 语法。</font></p></blockquote><h5 id="nexus">nexus</h5><h6 id="封面">(1) 封面</h6><p><font color="darkblue" size="2">nexus 模板的 cover 主要在 <code>titlepage.tex</code> 文件中,由多个 <code>textblock</code> 组合成,在正文中通过 <code>include{titlepage}</code> 插入; </font></p><figure class="highlight latex"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><code class="hljs latex"><span class="hljs-comment">% textblock example</span><br><span class="hljs-keyword">\begin</span>{textblock}{1}(.1,.09)<br> <span class="hljs-keyword">\noindent</span>{<span class="hljs-keyword">\fontsize</span>{24.88}{2}<span class="hljs-keyword">\selectfont</span><br> <span class="hljs-keyword">\bfseries</span><span class="hljs-keyword">\textcolor</span>{white}{SICP Notes}}<br><span class="hljs-keyword">\end</span>{textblock}<br></code></pre></td></tr></table></figure><figure class="highlight latex"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><code class="hljs latex"><span class="hljs-comment">% insert titlepage into main text</span><br><span class="hljs-keyword">\include</span>{titlepage}<br></code></pre></td></tr></table></figure><h6 id="正文部分">(2) 正文部分</h6><p><font color="darkblue" size="2">主要的 latex 语法和注释如下: </font></p><figure class="highlight latex"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br></pre></td><td class="code"><pre><code class="hljs latex"><span class="hljs-comment">% 定义文档类型</span><br><span class="hljs-keyword">\documentclass</span>[12pt,oneside]{book}<br><br><span class="hljs-comment">% bib引文</span><br><span class="hljs-keyword">\usepackage</span>[backend=bibtex]{biblatex}<br><br><span class="hljs-comment">% 借助宏包定义文档Geometry</span><br><span class="hljs-keyword">\usepackage</span>[a4paper,left=1.91cm,right=1.91cm, bottom=2.5cm,top=2.5cm]{geometry}<br><br><span class="hljs-comment">% 一些必备的宏包</span><br><span class="hljs-keyword">\usepackage</span>[utf8]{inputenc}<br><span class="hljs-keyword">\usepackage</span>{xeboiboites}<br><span class="hljs-keyword">\usepackage</span>{verbatim}<br><span class="hljs-keyword">\usepackage</span>{amsmath,amssymb}<br><span class="hljs-keyword">\DeclareTextFontCommand</span>{<span class="hljs-keyword">\emph</span>}{<span class="hljs-keyword">\bfseries</span>}<br><span class="hljs-keyword">\usepackage</span>[english]{babel}<br><span class="hljs-keyword">\usepackage</span>{amsmath}<br><span class="hljs-keyword">\usepackage</span>{ctex} <span class="hljs-comment">% chinese</span><br><span class="hljs-keyword">\usepackage</span>{fontspec}<br><span class="hljs-keyword">\setmainfont</span>{Times New Roman}<br><br><span class="hljs-comment">%采用nexus模板并设置主题</span><br><span class="hljs-keyword">\usepackage</span>[palette=munch]{nexus}<br><br><span class="hljs-comment">% color</span><br><span class="hljs-keyword">\usepackage</span>{xcolor}<br><br><span class="hljs-comment">% hyperref</span><br><span class="hljs-keyword">\usepackage</span>[verbose]{hyperref}<br><span class="hljs-keyword">\hypersetup</span>{<br> hidelinks<br>}<br><span class="hljs-comment">%\usepackage[colorlinks,linkcolor=blue]{hyperref}</span><br></code></pre></td></tr></table></figure><figure class="highlight latex"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br></pre></td><td class="code"><pre><code class="hljs latex"><br><span class="hljs-comment">% main text</span><br><span class="hljs-keyword">\begin</span>{document}<br><br><span class="hljs-comment">% titlepage</span><br><span class="hljs-keyword">\include</span>{titlepage}<br><br><span class="hljs-comment">% 设置行距</span><br><span class="hljs-keyword">\renewcommand</span>{<span class="hljs-keyword">\baselinestretch</span>}{1.5}<br><br><span class="hljs-comment">% contents</span><br><span class="hljs-keyword">\tableofcontents</span><br><br><span class="hljs-comment">% chapter & section & subsection</span><br><span class="hljs-keyword">\chapter</span>{}<br><span class="hljs-keyword">\section</span>{}<br><span class="hljs-keyword">\subsection</span>{}<br><br><span class="hljs-comment">% appendix</span><br><span class="hljs-keyword">\begin</span>{appendices}<br> 'there also are multiple sections'<br><span class="hljs-keyword">\end</span>{appendices}<br> ...<br><span class="hljs-keyword">\end</span>{document}<br></code></pre></td></tr></table></figure><h5 id="xeboiboites">xeboiboites</h5><h6 id="构建组件">(1) 构建组件</h6><p><font color="darkblue" size="2">在文章中添加一些摘抄段落和代码部分,可通过 xeboiboites 实现,首先构建 boxes: </font></p><figure class="highlight latex"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br></pre></td><td class="code"><pre><code class="hljs latex"><span class="hljs-comment">% 定义不同类型的box和使用方式</span><br><br><span class="hljs-comment">%定义摘抄的box格式</span><br><span class="hljs-keyword">\newboxedtheorem</span>[small box style={fill=blue!20,draw=black, line width=.7pt,<br> decoration={penciline},decorate},<span class="hljs-comment">%</span><br> big box style={fill=blue!10,draw=black,thick,<br> decoration={penciline},decorate},<br> headfont=<span class="hljs-keyword">\bfseries</span>]<span class="hljs-comment">%</span><br> {propb}{Excerpts}{}<br><br><span class="hljs-comment">%定义想法的box格式</span><br><span class="hljs-keyword">\newspanning</span>[image=bulb,headfont=<span class="hljs-keyword">\bfseries</span>,<span class="hljs-comment">%</span><br> spanning style={very thick,decoration=penciline,decorate}]<span class="hljs-comment">%</span><br> {method}{Thoughts}{}<br></code></pre></td></tr></table></figure><h6 id="使用组件">(2) 使用组件</h6><p><font color="darkblue" size="2">在文章使用 boxes: </font></p><figure class="highlight latex"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><code class="hljs latex"><br><span class="hljs-comment">% 添加摘抄</span><br><span class="hljs-keyword">\begin</span>{prob}[...]<br><span class="hljs-keyword">\end</span>{propb}<br><br><span class="hljs-comment">% 添加想法</span><br><span class="hljs-keyword">\begin</span>{method}[...]<br><span class="hljs-keyword">\end</span>{method}<br></code></pre></td></tr></table></figure><h6 id="组件效果">(3) 组件效果</h6><p><img src="https://codingyyao.github.io/2022/12/27/latex-init/notes1.png" alt="摘抄"></p><p><img src="https://codingyyao.github.io/2022/12/27/latex-init/notes2.png" alt="想法"></p><h5 id="完整笔记示例">完整笔记示例</h5><blockquote><p><font size="2">学习笔记示例:</font></p></blockquote><iframe src="/pdfjs/web/viewer.html?file=https://codingyyao.github.io/2022/12/27/latex-init/sicp-notes.pdf" frameborder="0" width="100%" height="550"></iframe>]]></content>
<categories>
<category>Tools</category>
</categories>
<tags>
<tag>csdiy</tag>
<tag>latex</tag>
<tag>cs61a</tag>
</tags>
</entry>
<entry>
<title>必备工具学习 + Vscode-LaTex环境配置</title>
<link href="/2022/12/20/cs-tools/"/>
<url>/2022/12/20/cs-tools/</url>
<content type="html"><![CDATA[<blockquote><p><b><font color="darkblue">写在前面:</font></b></p><p>😓<font color="black" size="2">最近不幸中招 COVID,下午脑袋实在无法思考,只好来捣鼓一些之前偷懒没写的 CS 常用工具。 为什么要学习这些工具的使用:<i>工欲善其事,必先利其器!</i>。个人觉得,前期的学习可能会花费一些时间,但是后期会极大的加快工作效率,加深你对某些知识体系的了解。 当然,选择权在你,可以有选择的学习,选择自己不同软件的学习进度,学以致用最重要!</font></p></blockquote><hr><h4 id="参考博文">参考博文</h4><p><a href="https://gitcode.net/mirrors/EthanDeng/vscode-latex/">Vscode-LaTex 配置教程</a></p><p><a href="https://mingzzx.com/2019/05/14/miktex-vscode/">配置 MikTex+VSCode 论文写作环境</a></p><h4 id="推荐课程">推荐课程</h4><p><a href="https://missing.csail.mit.edu/2020/">MIT-Missing-Semester</a></p><p><a href="http://vcl.pku.edu.cn/course/PFCII/2021-spring/index.html">北大图灵班前沿计算实践 I</a></p><h4 id="主要内容-课程简介">主要内容 & 课程简介</h4><blockquote><p><font color="darkblue" size="2">PS:最近学习 form 上头,所以博文也用 form 偷懒.O(∩_∩)O. 不过,说真的,我想如果 LaTex,Markdown,Html,能够互相支持的话,可能会简化很多事情 🤔</font></p></blockquote><frorm><fieldset><p><legend><b><font color="blue" size="3"> OS Linux / Shell / Bash</font></b></legend></p><textarea readonly cols="60" rows="5">1.介绍常见的OS,操作系统:Windows,Linux;Linux基于Unix,核心部件是内核kernel,shell是封装kernel 用于和用户交互的命令,2.介绍常用的Linux,Ubuntu,centos;Windows的WSL等;3.Shell工具和bash的基本使用;</textarea></fieldset><fieldset><p><legend><b><font color="blue" size="3"> 编辑器VIM</font></b></legend></p><textarea readonly cols="60" rows="3">1.学习vim自带的vimtutor教程;2.了解vim插件的使用;3.插件网站vimawesome;</textarea></fieldset><fieldset><p><legend><b><font color="blue" size="3"> 数据整理 / 命令行环境 / Git / 编译</font></b></legend></p><textarea readonly cols="60" rows="6">1.数据整理:略;2.命令行环境:学会nohup,fg,bg,ctrl+z,前后台任务暂停和切换;多路终端tmux;别名alias的使用;profile和bashrc文件的环境修改;3.Git:用于版本控制管理,掌握git常用操作;4.编译:了解cmake,make,cpython;5.了解ssh密钥生成,ssh-keygen命令使用;</textarea></fieldset><h4 id="题外话">题外话</h4><form><fieldset><p><legend><b><font color="blue" size="3"> widows cmd & prower shell 美化</font></b></legend></p><textarea readonly cols="60" rows="4">1. 借助Windows terminal & oh-my-posh可以实现终端美化,让cmd和power shell和Linux终端一致,可以设置主题;2. 步骤:安装Windows terminal后,windows+R => 键入‘wt’启动;下拉箭头‘设置’,打开jason文件配置主题;</textarea><p><img src="https://codingyyao.github.io/2022/12/20/cs-tools/wt.png"></p></fieldset></form><h4 id="vscode-下快捷编辑-latex">Vscode 下快捷编辑 LaTex</h4><form><fieldset><p><legend><b><font color="blue" size="3"> 使用VScode编辑LaTex的原因</font></b></legend></p><ol><li><input type="checkbox" checked> <label for="size_1">我经常使用vscode;</label></li><li><input type="checkbox" checked> <label for="size_1">我觉得LaTex包自带的编辑器太丑;</label></li><li><input type="checkbox" checked> <label for="size_1">我不喜欢online的LaTex编辑,比如overleaf;</label></li><li><input type="checkbox" checked> <label for="size_1">选择miktex的原因是它比texlive小巧很多,安装简单很多;</label></li></ol></fieldset></form><h6 id="anyway进入正题">Anyway,进入正题:</h6><ol type="1"><li>安装 <a href="https://miktex.org/">Miktex</a>;</li><li>vscode 安装 extension <code>LaTeX Workshop</code>;</li><li>配置 vscode <code>setting json</code> 文件:</li></ol><figure class="highlight json"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br></pre></td><td class="code"><pre><code class="hljs json"><span class="hljs-punctuation">{</span><br> <span class="hljs-attr">"latex-workshop.latex.recipes"</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">[</span><span class="hljs-punctuation">{</span><br> <span class="hljs-attr">"name"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"xelatex"</span><span class="hljs-punctuation">,</span><br> <span class="hljs-attr">"tools"</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">[</span><br> <span class="hljs-string">"xelatex"</span><br> <span class="hljs-punctuation">]</span><br> <span class="hljs-punctuation">}</span><span class="hljs-punctuation">,</span> <span class="hljs-punctuation">{</span><br> <span class="hljs-attr">"name"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"latexmk"</span><span class="hljs-punctuation">,</span><br> <span class="hljs-attr">"tools"</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">[</span><br> <span class="hljs-string">"latexmk"</span><br> <span class="hljs-punctuation">]</span><br> <span class="hljs-punctuation">}</span><span class="hljs-punctuation">,</span><br> <span class="hljs-punctuation">{</span><br> <span class="hljs-attr">"name"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"pdflatex -> bibtex -> pdflatex*2"</span><span class="hljs-punctuation">,</span><br> <span class="hljs-attr">"tools"</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">[</span><br> <span class="hljs-string">"pdflatex"</span><span class="hljs-punctuation">,</span><br> <span class="hljs-string">"bibtex"</span><span class="hljs-punctuation">,</span><br> <span class="hljs-string">"pdflatex"</span><span class="hljs-punctuation">,</span><br> <span class="hljs-string">"pdflatex"</span><br> <span class="hljs-punctuation">]</span><br> <span class="hljs-punctuation">}</span><br> <span class="hljs-punctuation">]</span><span class="hljs-punctuation">,</span><br> <span class="hljs-attr">"latex-workshop.latex.tools"</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">[</span><span class="hljs-punctuation">{</span><br> <span class="hljs-attr">"name"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"latexmk"</span><span class="hljs-punctuation">,</span><br> <span class="hljs-attr">"command"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"latexmk"</span><span class="hljs-punctuation">,</span><br> <span class="hljs-attr">"args"</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">[</span><br> <span class="hljs-string">"-synctex=1"</span><span class="hljs-punctuation">,</span><br> <span class="hljs-string">"-interaction=nonstopmode"</span><span class="hljs-punctuation">,</span><br> <span class="hljs-string">"-file-line-error"</span><span class="hljs-punctuation">,</span><br> <span class="hljs-string">"-pdf"</span><span class="hljs-punctuation">,</span><br> <span class="hljs-string">"%DOC%"</span><br> <span class="hljs-punctuation">]</span><br> <span class="hljs-punctuation">}</span><span class="hljs-punctuation">,</span> <span class="hljs-punctuation">{</span><br> <span class="hljs-attr">"name"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"xelatex"</span><span class="hljs-punctuation">,</span><br> <span class="hljs-attr">"command"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"xelatex"</span><span class="hljs-punctuation">,</span><br> <span class="hljs-attr">"args"</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">[</span><br> <span class="hljs-string">"-synctex=1"</span><span class="hljs-punctuation">,</span><br> <span class="hljs-string">"-interaction=nonstopmode"</span><span class="hljs-punctuation">,</span><br> <span class="hljs-string">"-file-line-error"</span><span class="hljs-punctuation">,</span><br> <span class="hljs-string">"%DOC%"</span><br> <span class="hljs-punctuation">]</span><br> <span class="hljs-punctuation">}</span><span class="hljs-punctuation">,</span> <span class="hljs-punctuation">{</span><br> <span class="hljs-attr">"name"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"pdflatex"</span><span class="hljs-punctuation">,</span><br> <span class="hljs-attr">"command"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"pdflatex"</span><span class="hljs-punctuation">,</span><br> <span class="hljs-attr">"args"</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">[</span><br> <span class="hljs-string">"-synctex=1"</span><span class="hljs-punctuation">,</span><br> <span class="hljs-string">"-interaction=nonstopmode"</span><span class="hljs-punctuation">,</span><br> <span class="hljs-string">"-file-line-error"</span><span class="hljs-punctuation">,</span><br> <span class="hljs-string">"%DOC%"</span><br> <span class="hljs-punctuation">]</span><br> <span class="hljs-punctuation">}</span><span class="hljs-punctuation">,</span> <span class="hljs-punctuation">{</span><br> <span class="hljs-attr">"name"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"bibtex"</span><span class="hljs-punctuation">,</span><br> <span class="hljs-attr">"command"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"bibtex"</span><span class="hljs-punctuation">,</span><br> <span class="hljs-attr">"args"</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">[</span><br> <span class="hljs-string">"%DOCFILE%"</span><br> <span class="hljs-punctuation">]</span><br> <span class="hljs-punctuation">}</span><span class="hljs-punctuation">]</span><span class="hljs-punctuation">,</span><br> <span class="hljs-attr">"latex-workshop.view.pdf.viewer"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"tab"</span><span class="hljs-punctuation">,</span><br><br></code></pre></td></tr></table></figure><p>4.测验,新建一个 tex 后缀文件;</p><p><img src="https://codingyyao.github.io/2022/12/20/cs-tools/latex-test.png" alt="latex-text-file"></p><p>5.预览,左侧点击<code>build latex project</code>, 选择一个<code>recipe</code>,安装必备的宏包,即可右边预览 PDF 版本;</p><p><img src="https://codingyyao.github.io/2022/12/20/cs-tools/latex-preview.png" alt="’latex-pdf-preview‘/"></p></frorm>]]></content>
<categories>
<category>Tools</category>
</categories>
<tags>
<tag>csdiy</tag>
<tag>vscode</tag>
<tag>latex</tag>
</tags>
</entry>
<entry>
<title>CS课程 (crash-course-computer-sicence) 笔记整理</title>
<link href="/2022/12/13/crash-course-computer-science/"/>
<url>/2022/12/13/crash-course-computer-science/</url>
<content type="html"><![CDATA[<h3 id="课程简介">课程简介</h3><p>最近,利用晚上的时间,大概 2 天左右看完了一门 <code>crash course</code>, 课程名字是 <code>computer science</code>, 授课人是<code>Carrie Anne Philbin</code>。<a href="https://thecrashcourse.com/topic/computerscience/">CS 课程链接</a></p><p>个人感觉,这个课程特别适合 CS 入门,特别是针对 CS 的小白。就像<code>Anne</code>经常说的那样 “a new level of abstraction!”, 她会用特别简单的描述方式,把很多计算机中的抽象名词和概念生动的描述出来,而且课程是根据计算机的发展历史,一点点的引入各种技术和概念,逻辑性很强。很多时候,让我听完之后,会有种恍然大悟的感觉!对一些原先了解的名词,又有了新的认识。总之,是一门非常不错的课程!</p><p>课程总共包含 39 节小课,每节课 10 min 左右。讲解 computer 的起源,各个组件 (比如 CPU、GPU) 的起源,以及各个组件的真实含义、实例和作用。为了方便查看,我在博文贴出了原始的听课笔记 notes,用于快速查看。此外,我还在后面简短的概括了每节的课程大纲,以及和上节之间的逻辑关系。整理不易,部分细节和个人看法可能存在问题,后期会及时更正!</p><hr><h3 id="课程分节笔记">课程分节笔记</h3><blockquote><div data-align="center"><strong><font color="red" size="4">Lecture 1~3 Notes</font></strong></div></blockquote><p><img src="https://codingyyao.github.io/2022/12/13/crash-course-computer-science/page1.png" width="100%"></p><blockquote><p><strong>【1】 Early computing</strong></p></blockquote><ul><li>首先,概述了早期的computing发展,从最初的计算设备(abacus,算盘),到第一个programmer(ada);</li><li>其次,提及了IBM早期的computing发展,即实现了人口普查机器(通过水银实现电路的连通),这些介质存在很多改进的空间;</li></ul><blockquote><p><strong>【2】 Electronic computing</strong></p></blockquote><ul><li>所以,随着computing发展,electronic技术在其中发挥了很大的作用,即继电器(relay)的发展;</li><li>因为lecture one中提及的实现电路连通的方式,存在着多种limitations:<ol><li>relay 本身存在mass, 限制了电路开合的速度;</li><li>这些relay本身也会存在损耗。</li></ol></li><li>所以,在此基础上,发展了二极管,晶体管(由硅制成),relay往越来越小的程度发展。</li></ul><blockquote><p><strong>【3】 Boolean logic & logic Gates</strong></p></blockquote><ul><li>relay可以实现电路开关,实质上等同于,布尔变化,binary;</li><li>总结了布尔计算,or / and / not / xor.</li></ul><blockquote><div data-align="center"><strong><font color="red" size="4">Lecture 4~5 Notes</font></strong></div></blockquote><p><img src="https://codingyyao.github.io/2022/12/13/crash-course-computer-science/page2.png" width="100%"></p><blockquote><p><strong>【4】 Representing numbers and letters via binary</strong></p></blockquote><ul><li>那么,如何用二进制计数和表示letters;</li><li>常用单位的换算,8bits=bytes, mega百万字节, giga十亿字节</li><li>拆解我们常用的32bits的具体含义:<ol><li>理论上它可以表示2的32次方个值;</li><li>通常,第一个bit,表示正负;</li><li>对于浮点数,采用科学计数法,通常第2-9位这8个bits用来存储指数,其余23位用来存储小数点尾数;</li></ol></li><li>对于letters,用很多类似ASCII码的编码方式。</li></ul><blockquote><p><strong>【5】 How computer calculate?</strong></p></blockquote><ul><li>表示完数值之后,计算机主要通过我们之前提及的两个方式计算:算数运算 & 逻辑计算, 统称为ALU;</li><li>在运行计算时,需要carry进位符指示;</li><li>运算时,也可能存在overflow的情况;</li><li>对于加减乘除运算,通常使用operatebits(4bits)去指代。</li></ul><blockquote><div data-align="center"><strong><font color="red" size="4">Lecture 6~7 Notes</font></strong></div></blockquote><p><img src="https://codingyyao.github.io/2022/12/13/crash-course-computer-science/page3.png" width="100%"></p><blockquote><p><strong>【6】 Registers and RAM </strong></p></blockquote><ul><li>这些用于数值计算的数值,如何读取需要利用RAM (random access memory) & registers 寄存器,RAM通常具有的是短期记忆;</li><li>register的最小unit是latch,它通过两个组分,即set (一个逻辑块,可以实现由0-1,而不能由1-0) 和 reset (一个逻辑块,可以实现由1-0,而不能由0-1)组成,实现对memory的read或者write;</li><li>多行多列的latch组成了register,比如常见的16rows*16cols,所对应的第一行第几列,也就是我们常说的memory的address;</li></ul><blockquote><p><strong>【7】 CPU </strong></p></blockquote><ul><li>在上述基础上,CPU (central processing unit)可以看做是连接了RAM和ALU的中心组件,被用来执行program;</li><li>CPU执行的程序,可以简化成三个部分:fetch commands > decode commands > execute program</li><li>在execute program过程中的速度,被称为clock speed,单位是HZ,是衡量CPU质量的一个指标。</li></ul><blockquote><div data-align="center"><strong><font color="red" size="4"> CPU 示意图</font></strong></div></blockquote><p><img src="https://codingyyao.github.io/2022/12/13/crash-course-computer-science/page4.png" width="100%"></p><blockquote><div data-align="center"><strong><font color="red" size="4"> Lecture 8~12 Notes</font></strong></div></blockquote><p><img src="https://codingyyao.github.io/2022/12/13/crash-course-computer-science/page5.png" width="100%"></p><blockquote><p><strong>【8】 Instructions & programs </strong></p></blockquote><ul><li>我们已经了解了计算机内部的中心组件,接下来概述指令和程序之间的执行细节;</li><li>通过instruction 让program执行计算,cpu中存在3种必备的指令,jump / halt / condition,可以用来控制或判断计算是否跳转,停止;</li><li>instruction 的长度是可以调节的;</li><li>我们现在用的比较新的Intel icore 7 实质上就包含了多达上千种的指令。</li></ul><blockquote><p><strong>【9】 Advanced cpu design </strong></p></blockquote><ul><li>为了提升cpu的速度,cache被设计,指的是为了避免cpu和ram 之间fetch data的过程busy,在cpu中提取一小部分用来缓存数据;</li><li>cache的出现让instructions pipeline成为可能,实现了指令的并行,这种pipeline必须完成branch prediction的过程;</li><li>此外,也出现了,multiple cores cpu;</li></ul><blockquote><p><strong>【10】 Early programming </strong></p></blockquote><ul><li>基于上述硬件,出现的最早的计算机只是简单的机器。最早的是tabluting machine,用来制表的机器。接着是control pannel 和 storage programming;</li><li>直到后来,冯诺依曼计算机的出现,才标志着历史上第一台存储程序计算机的诞生。</li></ul><blockquote><p><strong>【11】 First programming language </strong></p></blockquote><ul><li>随着计算机硬件的完善,也需要software的进步,这就需要从编程语言开始。最早的编程语言是A-O;</li><li>计算机的hardware 工作,需要接受machine language,最早借助assembler去将pseudocode 转变为可执行的命令;</li><li>后来,利用compiler可以直接将不同的高级程序语言(包含着大量的变量和内存的source code)转成机器语言;</li><li>为了统一这些编码方式,Fortran出现了。</li></ul><blockquote><p><strong>【12】 Programming basics </strong></p></blockquote><ul><li>这些编程语言进行编程的基础是,基于syntax语义,要能够通过状态流使计算机和外界进行交互;</li><li>为了简化编程,各种function出现了,并进一步扩展成更大的module,甚至是library,再到后来的algorithm.</li></ul><blockquote><div data-align="center"><strong><font color="red" size="4"> Lecture 13~17 Notes</font></strong></div></blockquote><p><img src="https://codingyyao.github.io/2022/12/13/crash-course-computer-science/page6.png" width="100%"></p><blockquote><p><strong>【13】 Introduction to algorithm </strong></p></blockquote><ul><li>最简单的算法是sort,算法会涉及很多像array一样的数据结构类型;</li><li>衡量算法会用到复杂度 O notion,蛮力解题通常被称为brute force 的方式;</li><li>比较高阶的算法,还有graph search等。</li></ul><blockquote><p><strong>【14】 Data structures </strong></p></blockquote><ul><li>数据结构指的是数值在内存中存储的方式,比如上面提到的array 就是数组;</li><li>伴随着数据类型的不同的matrix,会用index索引去指向哪条数据;</li><li>还有很多其它的数据类型,比如struts,pointer,linked list,stack,queue,trees等。</li></ul><blockquote><p><strong>【15】 Alan Turing </strong></p></blockquote><ul><li>Turning machine的出现,通过停机问题,证明了计算能力是有限的。</li></ul><blockquote><p><strong>【16】 Software engineering </strong></p></blockquote><ul><li>正如之前所述,软件涉及的主要有三个部分:object, function, and variable;</li><li>为了加快软件的开发,需要不同的人负责不同的部分,再汇总在一起。为此,我们把API(interface),称作是代码各个部分的交互方式;</li><li>OOP指的是面对对象的编程,编程需要IDE,在IDE中还可以完成codes的debugging,通常为了做注释,会在项目里添加一个ReadMe file;</li></ul><blockquote><p><strong>【17】Integrated circuits </strong></p></blockquote><ul><li>再次回到硬件上,之前的计算机体积都很大,直到集成电路,ICs(包含晶体管的电路)的出现,让硬件逐步被缩小;</li><li>最早,有印刷电路板(PBC), 可以减少需要的布线,后来出现了光刻半导体技术制作的芯片,让硬件体积变得更小;</li><li>比如,A10芯片,上面就包含了33亿的晶体管;</li><li>但是,这里仍然存在一些问题需要解决,比如如何改变光刻光源的波长,如何避免更小体积上的量子隧穿。</li></ul><blockquote><div data-align="center"><strong><font color="red" size="4"> Lecture 18~20 Notes</font></strong></div></blockquote><p><img src="https://codingyyao.github.io/2022/12/13/crash-course-computer-science/page7.png" width="100%"></p><blockquote><p><strong>【18】 Operating systems </strong></p></blockquote><ul><li>为了更好的连接各种software和hardware,出现了操作系统os,它通过driver实现各种API,允许程序员使用标准化的机制,与通用的输入输出硬件通信,即I/O通信;</li><li>Altas是历史上第一台实现多程序同时运行的计算机,multics是第一个操作系统;</li><li>为了让多个程序更好的执行,发展了虚拟内存,即动态内存分配;</li><li>比如unix系统,主要由内核+程序组成,多核、虚拟内存、内存保护等方法一起推进了多程序并行的可能。</li></ul><blockquote><p><strong>【19】 Memory & storage </strong></p></blockquote><ul><li>有两种不同的存储器,一种是快的易失性存储器,一种是慢的非易失性存储器;</li><li>存储器形式,经历了磁带 > 磁鼓 > 磁盘 > 硬盘的发展;</li><li>还有一种便携式存储器,软盘,后来变成了U盘,SSD, 通常SSD的速度比RAM小。</li></ul><blockquote><p><strong>【20】 Files and file systems </strong></p></blockquote><ul><li>这些存储设备存储的文件,有多种类型,比如txt, mav, bitmap等;</li><li>在处理文件的过程中,不可避免的会生成很多碎片。</li></ul><blockquote><div data-align="center"><strong><font color="red" size="4"> Lecture 21~24 Notes</font></strong></div></blockquote><p><img src="https://codingyyao.github.io/2022/12/13/crash-course-computer-science/page8.png" width="100%"></p><blockquote><p><strong>【21】 Compression </strong></p></blockquote><ul><li>这些文件的内存很大,需要采用压缩技术,减少内存;</li><li>最简单的方式是,删除冗余data,从而减少了实际的length,是最常用的无损压缩方式,后来还有利用映射(霍夫曼树等)方式的无损压缩;</li><li>另外一种是有损压缩,简单理解就是对文件的不同部分使用不同的精度,因为觉得缺少某些信息可能不会影响整体信息的表达。</li></ul><blockquote><p><strong>【22】 Keyboards & command line interaction </strong></p></blockquote><ul><li>我们需要对计算机提供输入和输出,最早会采用typewriter去实现,后来出现了键盘;</li><li>键盘字母的排列有一定的规律,会把常用的组词字母放在相邻的位置,按照第一行的字母,我们通常使用的键盘也叫做 QWERTY 键盘;</li><li>此外,还相继出现了touchtype 触屏,terminals终端等概念。</li></ul><blockquote><p><strong>【21】 Screens & graphics </strong></p></blockquote><ul><li>为了让计算机执行过程更加的可视化,screens出现了,最早被用来显示寄存器中的数值,特别是对于可变数值;</li><li>raster scanning 是早期用来显示graphics的方式,大概就是一行一行的出pixel,但是缺点是会占据很大的内存;</li><li>为了减低内存,显卡出现了,它采用ASCII编码的字母去组成图像和文本,从而替代原始的01构成的图像和文本;</li><li>后来,还出现了用lines去绘制一切图像的CRTs方式,再接着就是动画的实现。</li></ul><blockquote><p><strong>【24】 Cold war & consumerisum </strong></p></blockquote><ul><li>简单概括,就是,世界大战和消费者的需求极大的促进了computer的发展。</li></ul><blockquote><div data-align="center"><strong><font color="red" size="4"> Lecture 25~29 Notes</font></strong></div></blockquote><p><img src="https://codingyyao.github.io/2022/12/13/crash-course-computer-science/page9.png" width="100%"></p><blockquote><p><strong>【25】 personal computer revolution </strong></p></blockquote><ul><li>芯片的出现,显示屏的完成,硬盘的完善,导致了微机的出现;</li><li>IBM compatible 集成了Intel 的cpu, microsoft 的os, 配制了价格合理的个人计算机,占据了很大的市场份额;</li><li>而相反,apple直接封闭了自己的os,做全栈计算机开发。</li></ul><blockquote><p><strong>【26】 Graphical user interfaces </strong></p></blockquote><ul><li>GUI的出现简化了对使用者的要求,模拟desktop,window的概念,鼠标的设计都使得计算机的操作变得更加简单化。</li></ul><blockquote><p><strong>【27】 3D graphics </strong></p></blockquote><ul><li>通过将3D从不同的角度投射到2D,绘制出3D的效果;</li><li>绘制图像,需要借助多边形,以一个简单的示例,三角形为例:<ol><li>对于一个图像,沿着三角形的两个顶点取两条水平线,接着再在这两条线之间取无数条其它的水平线;</li><li>每条线会和三角形有两个交点,填充满那些交点中间的pixel格子,就能形成一个图像;</li><li>这样就会导致边缘锯齿的存在,一种flash shading的方式是,把边缘像素点的颜色设置成半透明;</li></ol></li><li>GPU可以让这个图像处理速度变得更快,比如Getforce GTX 1080Ti 能够在1秒内实现几亿个多边形。</li></ul><blockquote><p><strong>【28】 Computer networks </strong></p></blockquote><ul><li>为了实现多台computer的通信,提出LAN局域网的概念,以太网是最常见的一种;</li><li>为了明确定位是哪台机器,又有了mac address的概念;</li><li>为了减少机器之间传递信息出现的碰撞,出现了传输协议;</li><li>再后来,有了域,routing,packets, agency等概念。</li></ul><blockquote><p><strong>【29】 Internet </strong></p></blockquote><ul><li>最简单的IP协议,包括(ip address + data);</li><li>UDP协议,包括 IP header + port & checksum + data;</li><li>TCP/IP是为了更准确的传递,添加了序列号;</li><li>IP 地址和DNS域名系统之间通过注册表连接。</li></ul><blockquote><div data-align="center"><strong><font color="red" size="4"> Lecture 30~33 Notes</font></strong></div></blockquote><p><img src="https://codingyyao.github.io/2022/12/13/crash-course-computer-science/page10.png" width="100%"></p><blockquote><p><strong>【30】 word wide web </strong></p></blockquote><ul><li>万维网,由pages网页组成,涉及hyperlinker,这些hypertxt需要web server以HTTP(最初只有Get command)实现;</li><li>browsers用于请求或者呈现页面;</li><li>search engineering的出现,以Google为例,特点是实现backlink反向链接。</li></ul><blockquote><p><strong>【31】 Cybersecurity </strong></p></blockquote><ul><li>网络安全三要素:保密性(授权),完整性,可用性(访问);</li><li>为了安全,常需要做身份验证,有三种常见形式,密码,key,指纹等生物识别方式;</li><li>对于访问权限,有 read / write / execute三种权限;</li><li>通常会使用sandbox的方式去隔离各种程序。</li></ul><blockquote><p><strong>【32】 Hackers & cyber attacks </strong></p></blockquote><ul><li>最常见的attack,是buffer overflow attack, 通过添加使缓冲区溢出,从而程序崩溃;</li><li>还有种方式是插入SQL代码,比如数据库中,输入SQL命令在输入框,可能会直接进入。这也是有些用户名设置不准出现特殊字符的原因。</li></ul><blockquote><p><strong>【33】 Cyptography </strong></p></blockquote><ul><li>密码学的鼻祖是enigma,用替换密码的方式编译原始密码;</li><li>后来有了DES,AES key, 有了更大的bits, 还出现了 RSA等方式。</li></ul><blockquote><div data-align="center"><strong><font color="red" size="4"> Lecture 34~39 Notes</font></strong></div></blockquote><p><img src="https://codingyyao.github.io/2022/12/13/crash-course-computer-science/page11.png" width="100%"></p><blockquote><p><strong>【34-36】 Machine learning & AI / computer vision / Natural language processing </strong></p></blockquote><ul><li>这部分主要列举了一些概念和名词的定义,个人觉得讲的不是很形象,如果想要了解更多这方面的内容:<ol><li>机器学习和AI:推荐吴恩达的课;</li><li>CV计算机视觉:推荐Feifei Li 的课程;</li><li>NLP自然语言处理:推荐cs224n课程。</li></ol></li></ul><blockquote><p><strong>【37】 robots </strong></p></blockquote><ul><li>构建robots最主要的三个元素:sensor, controlier, and system;</li></ul><blockquote><p><strong>【38】 psychology of computing </strong></p></blockquote><ul><li>主要就是说UI的设计,需要遵从 affordance的原则,要考虑人类的认知心理去设计一些具有人文关怀的程序。</li></ul><blockquote><p><strong>【39】 Educational Technology </strong></p></blockquote><ul><li>主要说了computer在教学上的一些应用。</li></ul><div data-align="center"><font size="6" color="blue">The End ! Congrats !</font></div><div data-align="center"><font size="6" color="blue"> 以上就是课程的全部内容!</font></div>]]></content>
<categories>
<category>cs-sandbox</category>
</categories>
<tags>
<tag>csdiy</tag>
</tags>
</entry>
<entry>
<title>Github pages 域名绑定和引擎优化SEO-google-sitemap配置</title>
<link href="/2022/12/09/SEO-google-sitemap%E9%85%8D%E7%BD%AE/"/>
<url>/2022/12/09/SEO-google-sitemap%E9%85%8D%E7%BD%AE/</url>
<content type="html"><![CDATA[<blockquote><p>域名绑定及引擎优化详细说明文档 (PDFjs 版本)</p></blockquote><iframe src="/pdfjs/web/viewer.html?file=https://codingyyao.github.io/2022/12/09/SEO-google-sitemap%E9%85%8D%E7%BD%AE/Hexo%20%E6%90%9C%E7%B4%A2%E5%BC%95%E6%93%8E%E4%BC%98%E5%8C%96%20SEO.pdf" frameborder="0" width="100%" height="550"></iframe><hr>]]></content>
<categories>
<category>Blogs</category>
<category>SEO</category>
</categories>
<tags>
<tag>搜索引擎优化SEO</tag>
<tag>域名绑定</tag>
</tags>
</entry>
<entry>
<title>基于obsidian的个人工作流配置指南-2</title>
<link href="/2022/12/06/obsidian-2/"/>
<url>/2022/12/06/obsidian-2/</url>
<content type="html"><![CDATA[<blockquote><p>obsidian 工作流配置详细说明文档 (PDFjs 版本)</p></blockquote><iframe src="/pdfjs/web/viewer.html?file=https://codingyyao.github.io/2022/12/06/obsidian-2/%E5%9F%BA%E4%BA%8EObsidian%E7%9A%84%E4%B8%AA%E4%BA%BA%E5%B7%A5%E4%BD%9C%E6%B5%81%E9%85%8D%E7%BD%AE%E6%8C%87%E5%8D%97.pdf" frameborder="0" width="100%" height="550"></iframe><hr><blockquote><p>obsidian 工作流配置详细说明文档(插件内嵌版本,在手机端可能会显示异常)</p></blockquote><div class="row"> <embed src="基于Obsidian的个人工作流配置指南.pdf" width="100%" height="550" type="application/pdf"></div>]]></content>
<categories>
<category>Tools</category>
</categories>
<tags>
<tag>obsidian工作流</tag>
</tags>
</entry>
<entry>
<title>基于obsidian的个人工作流配置指南</title>
<link href="/2022/12/06/obsidian/"/>
<url>/2022/12/06/obsidian/</url>
<content type="html"><![CDATA[<blockquote><p>想法:<code>obsidian</code> 中的双链链接在 <code>hexo</code> 上无法显示,将 <code>obsidian</code> 编辑好的 <code>Markdown</code> 文件直接转化成 <code>PDF</code> 格式,并将其直接插入 <code>blog</code>中。</p></blockquote><h3 id="两种可内嵌-pdf-的方式">两种可内嵌 PDF 的方式</h3><blockquote><ol type="1"><li>使用插件 <code>hexo-pdf</code>, 只能在 PC 端查看 PDF 文件;</li><li>借助 PDF.js, 可以实现全平台查看 PDF 文件。</li></ol></blockquote><h4 id="借助插件内嵌-pdf">借助插件内嵌 PDF</h4><p><mark>需要修改<code>\_config.yml</code>中的 <code>post_asset_folder = ture</code>,存放 PDF 的文件夹和 md 文件同名。</mark></p><p>pdf 插件安装命令:</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><code class="hljs bash">$ npm install hexo-pdf<br><span class="hljs-comment"># md 文件中 输入</span><br><span class="hljs-comment"># {% pdf 基于Obsidian的个人工作流配置指南.pdf %}</span><br></code></pre></td></tr></table></figure><h4 id="下载配置-pdf.js-配置冲突还未完全解决">下载配置 PDF.js (配置冲突,还未完全解决!)</h4><p>在 <a href="https://mozilla.github.io/pdf.js/">PDF.js</a> 官网下载 older browsers 版本,以防兼容性问题。</p><p>修改<code>\_config.yml</code> 的 <code>skip_render</code> 选项,将 <code>pdfjs</code> 文件夹去除 render。</p><p>注释掉 <code>viewer.js</code> 中以下 codes:</p><figure class="highlight js"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><code class="hljs js"><span class="hljs-comment">// if (fileOrigin !== viewerOrigin) {</span><br><span class="hljs-comment">// throw new Error("file origin does not match viewer's");</span><br><span class="hljs-comment">// }</span><br></code></pre></td></tr></table></figure><p><font color="tomato" size="3">首先,需要注意文件路径的问题,折腾了好久发现是<code>\_config.yml</code> 文件的 <code>url (/name.github.io/)</code> 和 <code>root (/)</code> 配置的有问题,原先的配置里多写了子文件<code>(blog/)</code>,会导致使用插件的时候,生成的链接多一个 <code>blog</code> 字符,从而 error!</font></p><p>以 <code><iframe></code>的形式插入 PDF 文件,当前可以看见<code>viewer.html</code>实现的 pdf 阅读框,但是无法加载文件。最后,在 <code>skip render</code> 中增加 <code>pdfjs/**</code> 解决。<font color="tomato" size="3"> 发现,<code>url</code> <code>root</code> 设置和 <code>hexo d</code> 不能同时满足,修改了 <code>url root</code> 之后 <code>github</code> 无法部署,不修改的话,PDFjs 不工作!</font> <mark> 推测可能是<code>viewer.js</code>写法有问题导致 <code>file url</code> 错误?</mark></p><figure class="highlight md"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs md"><span class="language-xml"><span class="hljs-tag"><<span class="hljs-name">iframe</span> <span class="hljs-attr">src</span>=<span class="hljs-string">"/pdfjs/web/viewer.html?file=http://localhost:4000/2022/12/06/Obsidian/name.pdf"</span> <span class="hljs-attr">frameborder</span>=<span class="hljs-string">"0"</span> <span class="hljs-attr">width</span>=<span class="hljs-string">"100%"</span> <span class="hljs-attr">height</span>=<span class="hljs-string">"550"</span>></span></span><span class="language-xml"><span class="hljs-tag"></<span class="hljs-name">iframe</span>></span></span><br></code></pre></td></tr></table></figure>]]></content>
<categories>
<category>Tools</category>
</categories>
<tags>
<tag>obsidian工作流</tag>
</tags>
</entry>
<entry>
<title>基于GitHub Pages / Hexo / Fluid主题搭建个人博客的刨坑之路</title>
<link href="/2022/12/02/first_post/"/>
<url>/2022/12/02/first_post/</url>
<content type="html"><![CDATA[<p>Firstly, welcome to <a href="https://codingyyao.github.io/">Yao's blog</a>!</p><p>这是基于 <a href="https://hexo.io/docs/">Hexo</a> 搭建的第一个博客,有关 Hexo 的任何使用和其它问题建议参考 <a href="https://github.com/hexojs/hexo/issues">GitHub</a> 或 <a href="https://hexo.io/docs/troubleshooting.html">troubleshooting</a>.</p><h2 id="博客搭建流程">博客搭建流程</h2><h3 id="主要参考的网络资源">主要参考的网络资源</h3><p><a href="https://blog.csdn.net/yaorongke/article/details/119089190">(1) CSDN 上的'史上最全教程'博客</a> <a href="https://cloud.tencent.com/developer/article/1010311">(2) 腾讯云上的 win10 搭建 hexo 的博客</a></p><h3 id="基础软件安装-win10">基础软件安装 (win10)</h3><p><a href="https://git-scm.com/downloads">Git</a> <a href="https://nodejs.org/zh-cn/download/">Nodejs</a></p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># 版本检查,后面可能需要注意npm, node 和 hexo的版本兼容问题。</span><br>$ npm -v<br><span class="hljs-comment"># 配置Git账户</span><br>$ git config --global user.name <span class="hljs-string">""</span><br>$ git config --global user.email <span class="hljs-string">""</span><br></code></pre></td></tr></table></figure><h3 id="github-创建仓库">GitHub 创建仓库</h3><p>注意 repository 命名和 github 账号名称保持一致,在 <code>setting > pages</code> 处可查看 <code>url</code> (格式:<用户名>.github.io)。</用户名></p><h3 id="安装-hexo-win10">安装 Hexo (win10)</h3><p>Hexo 是一个基于 NodeJS 的静态博客网站生成器,首先需要打开 <code>cmd</code>,使用如下命令安装:</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><code class="hljs bash">$ npm install -g hexo-cli<br><span class="hljs-comment"># 查看hexo版本</span><br>$ hexo -v<br></code></pre></td></tr></table></figure><h3 id="创建-hexo-项目并初始化">创建 Hexo 项目并初始化</h3><p>新建 blog 文件夹,作为根目录, git bash 中执行下列操作:</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><code class="hljs bash">$ <span class="hljs-built_in">cd</span> blog<br>$ hexo init<br>$ npm install<br><br><span class="hljs-comment"># 生成web</span><br>$ hexo g<br><span class="hljs-comment"># 本地启动</span><br>$ hexo s<br></code></pre></td></tr></table></figure><p>接着,在本地的浏览器中就可访问 http://localhost:4000, 启动 blog 页面。</p><h3 id="更换主题">更换主题</h3><p>这里使用 Fluid 主题,其它主题可参考<a href="https://hexo.io/themes/">hexo 可选主题</a> 具体安装步骤见<a href="https://gitcode.net/mirrors/fluid-dev/hexo-theme-fluid?utm_source=csdn_github_accelerator">Fluid</a>,需要修改<code>blog</code>主目录中的文件<code>_config.yml</code>:</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># 指定主题</span><br>$ theme: fluid<br><span class="hljs-comment">#指定语言</span><br>$ language: zh-CN<br></code></pre></td></tr></table></figure><p>此外,个性化页面的展示可以修改<code>_config.yml</code>中的<code>title</code>字段,博客的标题可以在主题<code>theme\fluid</code>文件夹下的<code>_config.yml</code>中的<code>blog_title</code>字段,主页正中间的文字可以修改主题<code>theme\fluid</code>文件夹下的<code>_config.yml</code>中的<code>text</code>字段,修改过后 blog 的显示内容就变成了个人信息。</p><a href="https://ibb.co/VT2GKXc"><p style="text-align:center"></p><p><img src="https://i.ibb.co/BBqJ185/blog-1.png" height="500px" alt="blog-1" border="0"> </p></a><p></p><h3 id="github-远程部署">GitHub 远程部署</h3><p>首先需要本地生成 ssh key,用于连接 github 认证,启动 <code>Git bash</code></p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs bash">$ ssh-keygen -t rsa -C <span class="hljs-string">"github注册邮箱"</span><br></code></pre></td></tr></table></figure><p>将生成的<code>.ssh/id_rsa.pub copy</code> 到 <code>GitHub 的 SSH keys</code> 中,进行通信。</p><p>接着,在本地编辑好 blog 之后(同样可修改<code>_config.yml</code>配置文件和<code>source>_post\</code>文件夹下的 md 或 html 文件),配置个人域名和 github 部署(<code>_config.yml</code>):</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><code class="hljs bash"><br>url: http://name.com<br>deploy:<br> <span class="hljs-built_in">type</span>: git<br> repo: https://github.com/name/name.github.io.git<br> branch: master <span class="hljs-comment"># define</span><br></code></pre></td></tr></table></figure><p>最后,执行</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><code class="hljs bash">$ hexo g <span class="hljs-comment"># 本地生成</span><br>$ npm install hexo-deployer-git --save <span class="hljs-comment"># 安装Git插件</span><br>$ hexo d <span class="hljs-comment"># 远程部署</span><br></code></pre></td></tr></table></figure><h3 id="远程部署连接-error-443error-404-等">远程部署连接 Error 443,Error 404 等</h3><p>第一次执行部署时报错 443,<code>unable to access</code>,可能原因是本地 proxy 和 github 连接不上的问题, 参考一篇 <a href="https://blog.csdn.net/Reinhart_L/article/details/122471010">blog</a> 解决报错。</p><p>首先,关闭 vpn,执行</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs bash">$ git config --global --<span class="hljs-built_in">unset</span> http.proxy<br></code></pre></td></tr></table></figure><p>修改<code>_config.fml</code>文件将<code>repo</code>部分替换成<code>ssh</code>地址<code>git@github.com:name/name.github.io.git</code></p><p>接着<a href="www.ipaddress.com">查询 github ip 地址</a>,在<code>/etc/hosts</code>文件中添加<code>ip github.com</code>, 重新执行<code>hexo d</code>,即可。</p>]]></content>
<categories>
<category>Blogs</category>
</categories>
<tags>
<tag>Hexo搭建blog</tag>
</tags>
</entry>
</search>