Preface
其实在考完试1的时候就打算开始重构博客了,
博客的设计说是多个网站的缝合体也不为过。
方案调研
上一台用来托管博客的服务器在去年年中到期了,
我敲定用 Nextjs 写页面,
不过很可惜,
除此之外,fs 模块,mdx 文件,
设计
博客的功能性和文章页面很大程度参考了MTU Ninja。
Nextjs 使用了 unist 作为 mdx 的渲染引擎。unist 渲染基本分为两个步骤,remark 和 rehype,Markdown 语言,HTML,remark-rehype 插件将 Markdown AST 转化为 HTML AST,rehype-sidenote 插件诞生,rehype 插件提取。
CJK 文字的标点挤压和换行位置是另一个比较头疼的问题,节能减排人人有责),rehype-mojikumi 应运而生,
我纠结了很久文章的封面该如何设计。偶然的网上冲浪过程中,
令人头疼的问题是中文分词和词云的生成方案。jieba 将HanLP 将HanLP 没有再出现,HanLP 作为中文分词器。
尽管 HanLP 提供云端 API 调用,429 Too Many Requests,
词云的生成目前选择了使用 QuickChart 的 API。
动效
博客设计到这里,偷偷回看了回形针 Paperclip的所有视频,
由于科普性质,
首先动画不能冗长,
其次能不使用动画就尽量避免,夹带私货,
另一个影响动效设计的则是守望先锋联赛
OWL 的动效设计被我用在了首页的文章卡片里,
"Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit..."
"无人爱苦,亦无人寻之欲之, 乃因其苦..."
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin ut nibh eget tellus ullamcorper viverra nec a lectus. Morbi accumsan pretium condimentum. Duis commodo rhoncus porta. Aliquam venenatis ante vel neque semper facilisis vitae et leo. Proin vitae porttitor ipsum. Vestibulum nec nulla augue. Etiam efficitur interdum sagittis. Fusce diam arcu, pulvinar ut sodales eu, condimentum a nulla. Phasellus elementum cursus aliquam. In tempus vel ipsum id scelerisque. Duis ornare, lectus sit amet volutpat hendrerit, nulla risus egestas erat, eu porttitor ante orci eget lacus. Duis quis enim eget dolor posuere facilisis et id libero3.
Cras nec velit aliquam, accumsan magna id, hendrerit justo. Phasellus mollis magna in dignissim dapibus. Aliquam lectus eros, auctor ac aliquet vel, molestie a lorem. Proin rhoncus lorem vel nisl consequat, vitae eleifend sem congue. Nullam placerat, nibh malesuada iaculis blandit, justo purus imperdiet velit, quis laoreet velit turpis ut arcu. Proin eu dolor vel sapien tristique condimentum. Morbi volutpat, velit at porttitor tincidunt, odio sem varius dui, sed convallis turpis sapien ut velit. Phasellus id maximus felis. Nam semper est sed felis venenatis euismod. Nulla et vulputate est. Sed efficitur, erat nec luctus interdum, mi nunc interdum turpis, eget volutpat risus ligula at velit. Maecenas scelerisque commodo lacus vel sodales. Integer ut mi et metus viverra maximus ac lacinia magna. Phasellus mauris nunc, dictum vitae orci sit amet, lacinia viverra lectus. Morbi porta sagittis commodo. Praesent ornare tincidunt ante, quis cursus arcu vestibulum ac.
dawdawdawdaw
Quisque volutpat massa sed egestas iaculis. Ut semper posuere molestie. Duis gravida, sapien nec varius molestie, turpis justo laoreet ante, non eleifend erat mi vitae sem. Aliquam erat volutpat. Donec bibendum vel dui sed cursus. Quisque cursus faucibus congue. Duis vel tristique urna. Morbi in dolor vitae libero rhoncus imperdiet vel facilisis turpis.
Donec eget elementum turpis. Etiam finibus ipsum vel nisl vestibulum vestibulum. In vehicula quis sem in blandit. Nullam consequat ex eget elit imperdiet, quis volutpat augue cursus. Aliquam porttitor, tellus sit amet dictum congue, mauris ante congue leo, a dignissim justo purus a nibh. Sed odio arcu, hendrerit vulputate velit et, posuere convallis risus. Integer in enim porta, suscipit nibh a, dapibus nunc. Morbi mollis a sapien eget efficitur. Vivamus sodales sollicitudin ligula, vel maximus nisi euismod tempor.
-
asdadad
-
o[ikrgopr
-
dakjgfj
yes tyojdjadjj,ofsjfis a great tool that,
jksdfjg -
following
- dada
- dadaw
Table of Contents
Phasellus neque leo, vehicula id neque ac, gravida convallis nibh. Vivamus sed gravida nisl, non vehicula nisl. Integer ullamcorper auctor est, a gravida elit malesuada sed. Nam dolor felis, dapibus in eleifend non, tincidunt in lacus. Aenean consequat a est a malesuada. In id rutrum sapien. Curabitur id purus volutpat, faucibus tellus eu, ultricies dolor. Suspendisse finibus tincidunt leo, id laoreet augue fringilla vitae. Nunc auctor, purus in porttitor pellentesque, ante elit eleifend tortor, eu pulvinar felis est sed libero. Integer imperdiet lacus eget purus cursus fringilla. Sed mollis mi at purus accumsan, a pharetra mauris tempor. Cras libero lectus, gravida mollis lobortis ut, lacinia ut purus. Donec tristique, leo ut mattis mollis, risus dolor scelerisque felis, ac blandit odio libero eu nisl.
Title Heading 4
段落开始 dawdawdagdfhkjeril; ggooole.com4
3409573489573453 daww
Title Heading 5
Phasellus neque leo, vehicula id neque ac, gravida convallis nibh. Vivamus sed gravida nisl, non vehicula nisl. Integer ullamcorper auctor est, a gravida elit malesuada sed. Nam dolor felis, dapibus in eleifend non, tincidunt in lacus. Aenean consequat a est a malesuada. In id rutrum sapien. Curabitur id purus volutpat, faucibus tellus eu, ultricies dolor. Suspendisse finibus tincidunt leo, id laoreet augue fringilla vitae. Nunc auctor, purus in porttitor pellentesque, ante elit eleifend tortor, eu pulvinar felis est sed libero. Integer imperdiet lacus eget purus cursus fringilla. Sed mollis mi at purus accumsan, a pharetra mauris tempor. Cras libero lectus, gravida mollis lobortis ut, lacinia ut purus. Code Blocks Donec tristique, leo ut mattis mollis, risus dolor scelerisque felis, ac blandit odio libero eu nisl.
const a = () => {
return b;
}
Section two
section two contents.
section two part one
part one content.
section two part two
part two content.
そして、

