Typecho 默认没有友情链接功能,虽然可以通过插件 Links 来实现,但我目前愣是没找到这个插件靠谱的出处(也或许是插件作者没发布到 Github 所以一直心理不想承认出处),所以,最后选择了通过短代码的方式来实现友情链接页面功能。
添加解析短代码函数
在主题 functions.php 文件中添加以下代码
/**
* 解析友情链接短代码
* 新格式:
* {blogroll}
* {名称,URL,描述}
* {名称2,URL2,描述2}
* {/blogroll}
* 不解析 <pre></pre> 内的短代码
*/
function ox...
栏目网站代码下共有文章 33 篇。
使用自定义字段无插件实现typecho文章置顶功能

添加文章置顶选项
functions.php 添加以下代码,实现文章撰写和编辑页面右侧添加置顶选项确认按钮。该按钮使用文章自定义字段,确认置顶后,会在文章编辑框下面自动添加自定义字段,所以需要通过 javascript 同步操作。
function oxcat_addStickyCheckbox() {
$post = Typecho_Widget::widget('Widget_Contents_Post_Edit');
$isChecked = ($post->fields->isSticky == 1) ? 'checked' : '';
$ht...
Windows 11 下使用 Hugo

Windows 11 下使用 Hugo 不需要安装,直接用就行。
一、下载 Hugo 压缩包
下载地址:https://github.com/gohugoio/hugo/releases
找到 hugo_extended_版本号_windows-amd64.zip直接下载。
二、使用 Hugo
下载后解压,这里以 D 盘为例:
新建文件夹 D:/hugo/bin/,解压文件,得到 D:/hugo/bin/hugo.exe
在 D:/hugo/ 下右键“在终端中打开”,运行命令 ./bin/hugo version,若终端返回 hugo 版本,则可以正常使用。
三、新建站点
在 D:...
Hugo server 命令常用参数

Hugo 部署网站时使用的命令 hugo server 有下面这些后缀参数:
--bind="127.0.0.1":指定服务监听的 IP 地址,默认为127.0.0.1,即本地回环地址。
-b, --baseURL="www.oxcat.com":指定服务监听的域名。
-D, --buildDrafts:包括被标记为草稿的文章。
-p, --port=1313:指定服务监听的端口号,默认为 1313。
-w, --watch(=true):监听站点目录,发现文件变更时自动编译。
-E, --buildExpired:包括已过期的文章(较少使用)。
-F, --buildFuture:包...
Hugo 的一些设置

Hugo 页面提示 raw HTML omitted
从 Wordpress 转移到 Hugo 因为原文章内容带 html,转为 Hugo 后页面不显示内容,审查元素提示 <!-- raw HTML omitted -->,这个是因为 Hugo 的 markdown 安全保护,在 hugo.toml 里添加下面代码就好了:
[markup.goldmark.renderer]
unsafe = true
Hugo 为新建内容预设模板
通过 hugo new content 命令创建的内容时,可以在 Archetypes 目录下预设模板,使创建的内容自带预设置好的 fron...
Ubuntu 本地 deb 安装 Hugo

Ubuntu 通过 apt 在本地安装 hugo 不是最新的版本(v0.123.3),安装最新版本得通过 snap,如果没有安装 snap 也可以直接通过 deb 文件本地安装。
Hugo github release 下载页面:https://github.com/gohugoio/hugo/releases
下载 deb 文件
本地 deb 安装需要下载 extended 版本,不然启动服务时会提示以下错误:
Error: error building site: TOCSS: failed to transform "/ananke/css/main.css" (text/css...
Twikoo docker 私有部署升级

本文针对 docker compose 私有部署的 Twikoo 评论系统。
Twikoo 官方文档
https://twikoo.js.org/
更新
拉取新版本 docker pull imaegoo/twikoo
停止旧版本容器 docker stop twikoo
删除旧版本容器 docker rm twikoo
启用新的 twikoo docker-compose up -d
docker compose 启动 twikoo 的配置
version: '3'
services:
twikoo:
image: imaegoo/twikoo
containe...
Typecho 评论者链接新窗口打开

方法一
functions.php
function CommentAuthor($obj, $autoLink = NULL, $noFollow = NULL) { //后两个参数是原生函数自带的,为了保持原生属性,我并没有删除,原版保留
$options = Helper::options();
$autoLink = $autoLink ? $autoLink : $options->commentsShowUrl; //原生参数,控制输出链接
$noFollow = $noFollow ? $noFollow : $options-&g...
Wordpress 显示 Custom Post Type 的自定义分类

假设 Custom Post Type 名字是 CPT 有:
register_post_type( 'CPT', $args );
并且给 CPT 添加了自定义的 Taxonomy 用于添加分类名称,比如 CPT_CAT 有:
register_taxonomy( 'CPT_CAT', array( 'CPT' ), $tax_args );
在文章页面循环里显示文章所属自定义分类则是:
$terms = get_the_terms($post->ID, 'CPT_CAT');
foreach ($terms as $term) {
echo '<li>&l...
Ubuntu 下 Nginx 环境 docker 部署和更新 Memos 服务

Memos 官网:https://usememos.com/
Memos Git:https://github.com/usememos/memos
Nginx 下建立站点绑定域名套上 SSL
sudo mk dir /var/www/bber
绑定域名套上 SSL 见:https://www.oxcat.com/article-53.html
docker 部署 Memos 服务
指定部署在 /var/www/ber 目录
数据在 /var/www/ber/.memos/ 目录
cd /var/www/bber
sudo vi docker-compose.yml
version...
最新评论