选择静态博客还是

下面是ai提供的对比 静态博客和动态博客的主要区别在于它们如何处理内容、用户交互以及它们的工作原理。以下是静态博客和动态博客的一些关键区别:

静态博客

  • 内容生成:静态博客通常使用静态博客生成器(如Hexo, Hugo等)将Markdown或其他文本格式的内容转换成HTML页面。这些==页面在服务器上是预先生成的==,不需要实时从数据库中提取数据。
  • 服务器负载:静态博客对服务器的要求较低,因为它们只是提供已经存在的HTML页面,而不需要运行复杂的脚本来生成页面。
  • 用户交互:==静态博客缺乏实时的用户交互功能,如评论系统、用户登录或表单提交==,因为这些功能通常需要后端逻辑和数据库支持。
  • 更新与维护:==更新静态博客需要重新生成所有相关的HTML页面,然后将它们上传到服务器。==
  • 安全性:静态博客由于没有复杂的后端逻辑,通常==比动态博客更安全==,因为攻击面较小。
  • 成本:静态博客的托管成本通常较低,因为它们可以部署在低成本甚至免费的服务上,如GitHub Pages。

动态博客

  • 内容生成:动态博客使用服务器端的脚本(如PHP、Python、Node.js等)在用户请求时动态生成页面。这些脚本可以从数据库中检索内容,并根据用户的请求动态构建页面。
  • 服务器负载:动态博客对服务器的性能要求较高,因为每次页面请求都需要运行服务器端脚本来生成页面。
  • 用户交互:动态博客支持丰富的用户交互,如评论、用户注册、登录、搜索等功能,因为它们可以通过数据库进行数据存储和检索。
  • 更新与维护:动态博客的更新相对简单,只需更改数据库中的内容即可,但维护复杂度更高,因为涉及到后端逻辑和数据库管理。
  • 安全性:动态博客的安全性可能较弱,因为存在SQL注入、跨站脚本攻击等风险,需要更多的安全措施。
  • 成本:动态博客的托管成本通常较高,因为需要支持服务器端脚本执行和数据库查询的服务器配置。

总的来说,静态博客更适合那些不需要复杂交互、更新频率不高且寻求低维护成本的场景。而动态博客适合需要频繁更新、用户交互以及复杂功能的网站。选择哪种类型取决于具体的需求和资源。

已经搭建了一个动态博客

  • 我的博客 powerd by部署 - Rin (xeu.life)
    • 基于 Cloudflare Workers + D1 + R2 + Pages

    • 页面比较简单,也没有找到合适的更改网页外观和显示的工具

    • 前端blog-from-rin是一个静态页面,托管于 Cloudflare Pages上,前端本质上只是一堆不会变化的文件和代码,并没有你的文章数据之类的内容,想要实现如登录,写文章,评论,获取文章和内容、评论列表等逻辑还需要与后端进行数据交换;

    • 后端rin-server负责处理具体的逻辑,在本项目中后端运行在 Cloudflare Workers 上,前端通过 API 与后端通信,后端通过 Cloudflare D1 保存文章等数据,通过 Cloudflare R2 存储文章中的图片

    • 这个教程供回顾参考Rin 博客简易部署教程 - 笨蛋小破站 (obdo.cc)

    • rss订阅- Atom 的订阅地址为:https://blog.8072211.xyz/sub/atom.xml老是出错,不管了

    • RSS 配置 - Rin (xeu.life)本身不需要太多的配置,默认是开箱即用的。但是你可以通过以下环境变量修改其默认配置:

RSS_TITLE=<RSS 标题,默认为你的用户名>
RSS_DESCRIPTION=<RSS 描述,默认为 Feed from Rin>

-以上环境变量通过在 Github 的 `Settings > Secrets and Variables>Actions > Variables > New repository variable `   中添加即可。

搭建一个静态博客

  • Hi , Cloudflare Pages :: 木木木木木 (immmmm.com) 按照这个步骤,但是我用的是如果你也想拥有我的同款博客 :: Lillian Who的git

  • 框架预设选择hugo

  • 这里需要加个环境变量,指定高版本 HUGO_VERSION 为 0.92.0没做.之后看看必要性

  • Pages会监控项目变动,默认使用master作为生产分支。每当有新的提交产生时,便会自动拉取项目变更,构建生产版本并执行部署,每次构建都会产生一个三级域名。

    • 所有分支上的提交都会产生构建,免费版本的Pages存在500次/月的构建限制,因此需要注意不要产生大量的提交.
    • 暂时先取消了自动部署.之后稳定了记得打开.
  • 设置自定义域blog.maxwei.us.kg

  • 静态博客框架自动构建生成的JS、CSS、HTML等资源启用完整性校验时,需要禁用速度 -> 优化 -> Auto Minify(在域名的管理页侧栏)中的设置,避免网页报错:

    Failed to find a valid digest in the 'integrity' attribute for ...

    • 这种错误是Cloudflare压缩静态资源,导致浏览器校验文件时发现SHA-256哈希值不一致
  • Vercel Domains(包含 https:// 前缀,例如 https://xxx.vercel.app)即为您的环境 idhttps://twikoomaxwei-r0u484h1b-max-weis-projects.vercel.app , twikoo.maxwei.us.kg

  • git插件 该插件默认你已经安装了git,且ob库中已有git软件所产生的“.git”的文件夹,它利用该文件夹代替执行git命令

    • 标准的方案是将库整体作为目录,这时候加载插件就能自动根据.git执行,我不想污染根目录,在子文件夹克隆仓库之后,我老是设置不好插件的目录选项.
    • 权宜之计是用子目录新建一个库,然后加载插件
      • 这还有另外的好处,不用在每次修改文件之后都触发部署,消耗cfpages次数,
    • 把cf的自动部署取消了,代之下面的什么钩子,这样似乎也可以使修改一个文件部署一次,变为push一次部署一次

另一种方案,图片也存在github

使用 Obsidian 免费建个人博客 | PrintLove 更烦.放弃

利用digital garden插件类本地的博客

Digital Garden - Publish Obsidian Notes For Free (ole.dev)官方文档

搭建

oleeskild/obsidian-digital-garden (github.com)简单而且详细

配置插件

利用obsidian构建个人博客 (zytomorrow.top)

repo name: github库名称,自己使用模板创建库时自定义的  
github username: 个人的github昵称  
github token: 在 https://github.com/settings/tokens 里可以创建。保密!保密!保密!  
base url: 个人的博客主页  
note settings:建议全开  
appearance: 一直自定义,包括主题等,其实就是一个CSS,有需要可以自己写或者覆盖  
slugify note url: 中文博客必须关闭,负责部分链接会异常  
path rewrite rules: 写这个笔记的时候这个功能刚出来。看了下文档,其实就是映射关系,相当于可以把A文件夹里的笔记发布到B目录下。对我来说目前用处不大。

官方文档

dg-home 设置告诉插件这应该是您的主页或数字花园的入口。 (它只需要添加到一个注释中,而不是您要发布的每个注释中)。 dg-publish 设置告诉插件该注释应该发布到您的数字花园。没有此设置的注释将不会被发布。 (换句话说:您发布的每个注释都需要此设置。) 您还可以使用语法 [[Some Other Note#A Header]] 链接到特定标头。请记住还要发布您链接到的注释,因为这不会自动发生。这是设计使然。您始终可以控制自己真正想要发布的笔记。如果您没有发布链接的注释,则该链接只会指向一个网站,告诉用户该注释不存在。

还可以部署到cf

Hi , Obsidian Digital Garden :: 木木木木木 (immmmm.com)

使用

故障排除