Compare commits

...

14 Commits

Author SHA1 Message Date
dichgrem
202d32c8d6 update:win_2 2026-01-12 11:23:12 +08:00
dichgrem
30e48b01c1 update:win_2 2026-01-12 11:08:59 +08:00
dichgrem
3331e2f3b1 update:win_2 2026-01-11 22:53:11 +08:00
dichgrem
02c5b6722d update:vscode 2026-01-06 22:03:20 +08:00
dichgrem
782ff23f87 update:blog 2026-01-05 10:42:39 +08:00
dichgrem
2507f3a381 feat:improve_performance 2026-01-02 16:15:28 +08:00
dichgrem
663989a328 feat:main_location_markers 2026-01-02 15:50:18 +08:00
dichgrem
bd91722e17 update:git 2026-01-02 14:47:22 +08:00
dichgrem
39ec7848aa chore:misc 2026-01-01 16:31:10 +08:00
dichgrem
1f827723c0 feat:sort_by_year 2026-01-01 15:50:48 +08:00
dichgrem
742abf8a37 update:arch 2025-12-30 22:03:58 +08:00
dichgrem
e055808ffe add:github 2025-12-29 11:18:28 +08:00
dichgrem
fc411e21d8 update:arch 2025-12-28 20:59:54 +08:00
dichgrem
e6869053fe style:highlight 2025-12-28 16:47:05 +08:00
32 changed files with 587 additions and 728 deletions

View File

@@ -18,7 +18,7 @@ jobs:
- name: Install Zola - name: Install Zola
uses: taiki-e/install-action@v2 uses: taiki-e/install-action@v2
with: with:
tool: zola tool: zola@0.21.0
- name: Install Pagefind - name: Install Pagefind
run: | run: |

2
.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
.idea/
public

View File

@@ -1,6 +1,6 @@
MIT License MIT License
Copyright (c) 2025 Dichgrem Copyright (c) 2026 Dichgrem
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal of this software and associated documentation files (the "Software"), to deal

View File

@@ -1,428 +0,0 @@
# Terminimal
[![Build Status](https://github.com/pawroman/zola-theme-terminimal/actions/workflows/pages/pages-build-deployment/badge.svg)](https://github.com/pawroman/zola-theme-terminimal/actions/workflows/pages/pages-build-deployment)
![No JavaScript](https://img.shields.io/badge/JavaScript-none-brightgreen.svg)
![Screenshot](../master/screenshot.png?raw=true)
See the live demo (of the default configuration) here:
https://pawroman.github.io/zola-theme-terminimal/
Tested with Zola v0.17.2. Please note that earlier versions might not work because of breaking changes across Zola versions.
#### Fork disclaimer
This theme is a fork (not a port) of "Terminal" Hugo theme
by Radosław Kozieł (aka. panr):
https://github.com/panr/hugo-theme-terminal
Many thanks for that outstanding original theme, Radek!
For more information about this fork and the differences to the original theme, please see:
[Changes compared to the original theme](#changes-compared-to-the-original-theme) below.
## Versioning
This theme used to be non-versioned, e.g. you'd pull the master branch, and occasionally new features or fixes would
be released.
Starting from version v1.0.0, the project adopted [Semantic Versioning](https://semver.org/).
Please check the [GitHub releases](https://github.com/pawroman/zola-theme-terminimal/releases) to see a change log
and work out if there's any breaking changes.
## How to start
Option A: clone the theme directly into your Zola site folder:
```
$ git clone https://github.com/pawroman/zola-theme-terminimal.git themes/terminimal
```
Option B: include it as a git submodule (it's better if you plan to use CI builders):
```
$ git submodule add https://github.com/pawroman/zola-theme-terminimal.git themes/terminimal
```
Then in your `config.toml` set:
```toml
theme = "terminimal"
# Sass compilation is required
compile_sass = true
```
Also see the Zola documentation on using themes:
https://www.getzola.org/documentation/themes/installing-and-using-themes/
## Shortcodes
The theme adds two custom shortcodes related to image handling.
### `image`
Used to show images.
Required arguments:
- **`src`**
Optional arguments:
- **`alt`**
- **`position`** (center \[default\] | left | right)
- **`style`**
Example:
```
{{ image(src="/img/hello.png", alt="Hello Friend",
position="left", style="border-radius: 8px;") }}
```
### `figure`
Same as `image`, but with a few extra optional arguments:
- **`caption`** (supports markdown)
- **`caption_position`** (center \[default\] | left | right)
- **`caption_style`**
Example:
```
{{ figure(src="http://rustacean.net/assets/rustacean-flat-gesture.png",
style="width: 25%;",
position="right",
caption_position="left",
caption="**Ferris**, the (unofficial) Rust mascot",
caption_style="font-style: italic;") }}
```
## OpenGraph
To add an image to a post, set the `og_image` extra option to the desired image
in the same directory of the markdown file:
```toml
[extra]
og_image = "colocated_image.png"
```
Additionally, for the section pages and for posts to have a fallback image, add
`default_og_image` to the `[extra]` section:
```toml
[extra]
default_og_image = "static/ocean.jpg"
```
## Configuration
### Only show the post's description
On each post you can specify the following:
```toml
description = "test description"
[extra]
show_only_description = true
```
This will render `test description` under this
particular post on the homepage instead of a summary.
### Colors
Both the accent colors and background colors are
configurable.
By default, both accent and background are set
to `blue`.
To configure menu, add this in `[extra]` section
of your `config.toml`:
```toml
[extra]
# One of: blue, green, orange, pink, red.
# Defaults to blue.
# Append -light for light themes, e.g. blue-light
# Or append -auto, e.g. blue-auto
accent_color = "green"
# One of: blue, dark, green, orange, pink, red, light, auto
# Enabling dark background will also modify primary font color to be darker.
# Defaults to accent color (or, if not accent color specified, to blue).
background_color = "dark"
```
### Logo text and link
You can set the "logo" text and what it links to,
by modifying `config.toml` like so:
```toml
[extra]
# The logo text - defaults to "Terminimal theme"
logo_text = "My blog"
# The logo link - defaults to base_url.
logo_home_link = "/take/me/away!"
```
### Author and copyright
You can set the footer's copyright author name like this:
```toml
[extra]
# Author name: when specified, modifies the default
# copyright text. Apart from author, it will
# contain current year and a link to the theme.
author = "My Name"
```
If you don't like the default copyright text,
you can set it to completely custom HTML:
```toml
[extra]
# Copyright text in HTML format. If specified,
# entirely replaces default copyright and author.
copyright_html = "My custom&nbsp;<b>copyright</b>"
```
### Menu
The menu is optional, static (all items are always shown,
no matter what the screen size) and fully user-configurable.
To configure menu, add this in `[extra]` section
of your `config.toml`:
```toml
[extra]
# menu is enabled by adding menu_items (optional)
menu_items = [
# each of these is optional, name and url are required
# $BASE_URL is going to be substituted by base_url from configuration
{name = "blog", url = "$BASE_URL"},
# tags should only be enabled if you have "tags" taxonomy
# see documentation below for more details
{name = "tags", url = "$BASE_URL/tags"},
{name = "archive", url = "$BASE_URL/archive"},
{name = "about me", url = "$BASE_URL/about"},
# set newtab to true to make the link open in new tab
{name = "github", url = "url-to-your-github", newtab = true},
]
```
### Tags
The theme optionally supports tags. To enable them, create
a "tags" taxonomy in your `config.toml`:
```toml
taxonomies = [
{name = "tags"},
]
```
Enabling tags will create a new `/tags` page, and
cause them to show up in `archive` section. Note
that you still need to create a menu link to the tags
page manually.
### Pagination
Pagination is fully supported for post list (main site)
and intra-post (you can navigate to earlier and later posts).
To make sure pagination works properly, you must first configure
it in `content/_index.md`:
```
+++
# number of pages to paginate by
paginate_by = 2
# sorting order for pagination
sort_by = "date"
+++
```
Then, tweak the theme's pagination config in `config.toml`:
```toml
[extra]
# Whether to show links to earlier and later posts
# on each post page (defaults to true).
enable_post_view_navigation = true
# The text shown at the bottom of a post,
# before earlier/later post links.
# Defaults to "Thanks for reading! Read other posts?"
post_view_navigation_prompt = "Read more"
```
### Language code
Internationalization / translation is not supported
but you can set the HTML language code for your
site:
```toml
default_language = "en"
```
### Hack font subset
By default, the theme uses a mixed subset of the Hack font.
Normal weight font uses full character set
(for Unicode icons and special symbols), but all others
(bold, italic etc) use a limited subset.
This results in much smaller transfer sizes, but the subset
might not contain all the Unicode characters you need.
You can enable full unicode support in `config.toml`:
```toml
[extra]
# Use full Hack character set, not just a subset.
# Switch this to true if you need full unicode support.
# Defaults to false.
use_full_hack_font = true
```
Also see [Hack's docs](https://github.com/source-foundry/Hack/blob/master/docs/WEBFONT_USAGE.md).
### Favicon
The theme supports adding a global favicon (applies to
all pages) to the site:
```toml
# Optional: Global favicon URL and mimetype.
# Mimetype defaults to "image/x-icon".
# The URL should point at a file located
# in your site's "static" directory.
favicon = "/favicon.png"
favicon_mimetype = "image/png"
```
### Page titles
The theme allows you to configure how the page titles (the `<title>` elements) are rendered.
Use `"combined"` to render titles as `"Page title | Main title"`.
```toml
# Optional: Set how <title> elements are rendered.
# Values:
# - "main_only" -- only the main title (`config.title`) is rendered.
# - "page_only" -- only the page title (if defined) is rendered,
# falling back to `config.title` if not defined or empty.
# - "combined" -- combine like so: "page_title | main_title",
# or if page_title is not defined or empty, fall back to `main_title`
#
# Note that the main (index) page only has the main title.
page_titles = "combined"
```
All the configuration options are also described in
[`config.toml`](../master/config.toml).
## Extending
Each of the templates defines named blocks, so
it should be quite easy to customize the most common things.
For example, if you want to add extra `<meta>` tags to the
base template, `index.html`, create file like this in `templates/index.html`:
```html
{% extends "terminimal/templates/index.html" %}
{% block extra_head %}
<meta name="description" content="My awesome website"/>
<meta name="keywords" content="Hacking,Programming,Ranting"/>
{% endblock %}
```
## How to contribute
If you spot any bugs or wish to contribute new features, please create a new
[Pull Request](https://github.com/pawroman/zola-theme-terminimal/pulls).
## Changes compared to the original theme
This theme has been forked from https://github.com/panr/hugo-theme-terminal
- Slight changes in the layout and styling.
- Content has been centered (instead of left-aligned).
- The header stripes have been spaced out.
- Tweaks to pagination, especially on mobile (small screens).
- The post title underline is dashed instead of doubly-dotted.
- All links are underlined, as per
[Brutalist Web Design Guidelines](https://www.brutalist-web.design/).
- Tweaks to header font sizes.
- Minor footer tweaks.
- Absolutely **no JavaScript**.
- No JavaScript needed to pre-process anything.
Zola with its Sass pre-processor is the only dependency.
- There's no menu trigger.
- Things load crazy fast, as it's all static content.
- Prism.js syntax highlighting is not supported (you can use
[Zola's](https://www.getzola.org/documentation/content/syntax-highlighting/)).
- All references to social media (e.g. Twitter) have been removed.
- All references to external URLs (e.g. Google CDN) have been removed.
This theme's static assets are meant to be served from where it's hosted.
- [Hack](https://github.com/source-foundry/Hack) is the default font.
- The default color theme is blue (original uses orange).
### New features
- You can pick the accent color as well as background color.
There's a new `dark` background. See [Configuration](#configuration)
below for details.
- Active "section" links will change color indicating the
active section. This is all static, done at template level.
### Features retained from the original
- 5 color themes, depending on your preference:
blue (default), green, orange, pink, red.
- The shortcodes `image` and `figure` (See [Shortcodes](#shortcodes)).
- Fully responsive.
## License
Copyright © 2019 Paweł Romanowski (pawroman)
Original theme: Copyright © 2019 Radosław Kozieł ([@panr](https://twitter.com/panr))
The theme is released under the MIT License.
Check the [license file](../master/LICENSE.md)
for more information.
The license for Hack fonts used is included in
[LICENSE-Hack.md](../master/LICENSE-Hack.md).

View File

@@ -1,63 +0,0 @@
+++
title = "乱七八糟:2024年度总结"
date = 2025-01-04
[taxonomies]
tags = ["乱七八糟"]
+++
前言 又是新的一年,时间流速感觉越来越快了。
<!-- more -->
## 大事记
- 六月份暑假将家里大翻新,包括水晶头,吊灯,门锁,水龙头等等;
- 买了新柜子,房间更有序了;
- 和朋友们聚餐;
- 采用Mesh进行家庭组网
- 安装了一盏太阳能路灯,院子里更明亮了;
- 和父母看电影;
- 将博客迁移到新平台用上亚马逊CDN
- 更换域名,不再续费 .ink;
- 使用国家补贴更换电脑,换掉了故障百出的机械革命;
- 办理校园网套餐并注销掉旧的电话卡;
- 买了一台AX3000路由器并刷成openwrt绕过校园网检测
- 开了azure虚拟机并研究
- 卖掉了chromebook
- 配置了Qemu虚拟机
- 给父母加装了流量包;
- 更换了鼠标,并买了显示器和沙发椅;
- 家里更换新热水器;
- 修理亲戚家的网络问题;
- 在学校和家里两处配备常用药箱;
- 将所有设备更换为typec接口
- 整理并精简了RSS订阅源
- 重构了书签结构,增加用途分类;
- 用上了Android 15并使用多种开源软件
- 研究不同的root方案并完美隐藏环境
- 自制养生茶,咖啡和燕麦粥;
- 养成跑步习惯;
- 使用Deepl api进行翻译学习
- 看Netflix并研究浏览器环境检测
- 搭建Syncthing同步服务器实现三端同步
- 定时备份重要数据;
- 学习英语纪录片,每天背单词;
## 成长与反思
- 谋定而后动,不要冲动消费;
- 实践出真知,不要轻易下定论;
- 适合自己的才是最好的;
- 锻炼自身,早点睡觉,饮食规律是最好的养生;
## 新的一年的目标
- 在各大SRC平台挖点漏洞
- 封装一个完美的windows系统用于对外使用
- 研究并总结各大代理技术;
- 重构家庭数据中心;
- 学习一门新的语言并熟悉一种业务;
- 控制体重并研究低成本健身;

View File

@@ -146,6 +146,60 @@ git gc --aggressive --prune=now
# 重新推送到github # 重新推送到github
git push --force --mirror git push --force --mirror
``` ```
当然这样还是不够智能因此现在的方法是写一个GitHub Actions
```bash
name: Blog CI (Zola)
on:
push:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install Zola
uses: taiki-e/install-action@v2
with:
tool: zola
- name: Install Pagefind
run: |
wget https://github.com/Pagefind/pagefind/releases/download/v1.4.0/pagefind-v1.4.0-x86_64-unknown-linux-musl.tar.gz
tar xvf pagefind-v1.4.0-x86_64-unknown-linux-musl.tar.gz
sudo mv pagefind /usr/local/bin/
- name: Build Zola
run: zola build
- name: Build Pagefind
run: pagefind --site public --root-selector body
- name: Push public to dist
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./public
publish_branch: dist
force_orphan: true
```
这个action会自动在每次commit之后运行下载zola并使用zola对仓库进行构建随后构建出public文件夹在dist分支中并且dist分支只保留一次commit这样做的好处有
- 自动云端构建无须本地再安装zola
- 构建Public在dist分支git仓库大小不会膨胀
- 灵活可修改支持各种框架包括Hugo/Hexo等等.
> 注意需要在GitHub的仓库设置中的``Actions-General-Workflow permissions``中打开``Read and write permissions``否则actions无法对仓库进行读写.
## 🔗 ## 🔗

View File

@@ -50,18 +50,16 @@ Enter file in which to save the key (/home/dich/.ssh/id_rsa): /home/dich/.ssh/Gi
```bash ```bash
# GitHub # GitHub
Host github github.com
Host github
HostName github.com HostName github.com
User git User git
IdentityFile ~/.ssh/Github IdentityFile ~/.ssh/github
# Gitee # Gitee
Host gitee gitee.com
Host gitee
HostName gitee.com HostName gitee.com
User git User git
IdentityFile ~/.ssh/Gitee IdentityFile ~/.ssh/gitee
``` ```
> 这边的IdentityFile是你的私钥位置即为不带pub后缀的文件。如果你不想将私钥放在~/.ssh/下,可以查看我的另一篇[博客](https://blog.dich.bid/network-ssh/) > 这边的IdentityFile是你的私钥位置即为不带pub后缀的文件。如果你不想将私钥放在~/.ssh/下,可以查看我的另一篇[博客](https://blog.dich.bid/network-ssh/)
@@ -315,5 +313,23 @@ git reset --soft HEAD~1
git reset --hard HEAD~1 git reset --hard HEAD~1
``` ```
### 教学复习
```
0. 如何配置Git
1. 为什么Git协作的时候往往是fork别人的仓库能不能直接在原仓库里面修改
2. fork完如何修改并提交更改
3. git clone 的 http 链接和 git 链接有什么不同?
4. 如何将修改合并到原仓库?
5. 如何合并发PR
6. 如何查看状态和日志
```
--- ---
**Done.** **Done.**

124
content/about-github.md Normal file
View File

@@ -0,0 +1,124 @@
+++
title = "乱七八糟:Github的使用"
date = 2025-08-24
[taxonomies]
tags = ["乱七八糟"]
+++
前言 对于GitHub相信我们都不陌生。本文介绍GitHub上许多好用的服务和资源。
<!-- more -->
## Github Gist
GitHub Gist 是 GitHub 提供的代码片段服务,用来``存放单个或少量文件的代码/文本``(如示例代码、配置片段、日志、临时笔记等)。
官方说明是
```
Instantly share code, notes, and snippets.
```
和 repo 相同的是gist 也分为``public``和``private``
我们可以从一个简单的书签同步服务来实践:
1. 创建一个gist权限为 private; 随后可以看到类似``Dichgrem / gist:37f2ebad89923d49d8854c368d7f5c91``gist后面这一串就是GistID
2. 在这个[界面](https://github.com/settings/tokens)创建一个token选择开启gist权限
3. 安装这个书签同步[浏览器扩展](https://www.github.com/dudor/BookmarkHub)
3. 将tokens 和 前面的 GistID 复制到这个浏览器扩展中;
4. 随后可以使用这个插件进行书签同步。
> 原理使用浏览器api提取出书签向 gist 仓库进行上传gist仓库验证 tokens 后保存,在另一个浏览器中用同样的插件进行下载,即可同步.
## GitHub Pages
GitHub Pages 是 GitHub 提供的静态托管服务,常常用于快速部署纯前端网站。
比如你有一个 Vue 写的网站仓库,在该仓库的``设置-Build and deployment``下选择source选择分支并将public目录部署到GitHub Pages随后会得到一个类似dichgrem.github.io 的域名,即可看到网站。
当然你也可以绑定自己的域名在custom dommain下添加并在你的dns解析处添加对应的CNAME记录。
> 具体流程可以参考Hexo的[文档](https://hexo.io/zh-cn/docs/github-pages)
> GitHub Pages 的限制
- 不能运行后端代码
- 站点大小有限制
- 构建和发布有时间限制
- 私有仓库 Pages 需要付费计划
## Github actions
GitHub Actions 是 GitHub 提供的 CI/CD 与自动化平台,用于``在代码仓库中自动执行任务,比如测试、构建、发布、部署``等。
听起来有点抽象实际上就是在仓库的这个位置放入一个yml文件 ``.github/workflows/*.yml``,比如
```bash
name: C Build
on:
push:
pull_request:
workflow_dispatch:
jobs:
build-and-run:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Show compiler version
run: gcc --version
- name: Build
run: gcc -O2 -Wall -Wextra -std=c11 -o app main.c
- name: Run
run: ./app
```
这个文件的意思就是
- 触发条件push / pull_request / 手动触发
- actions/checkout@v4:拉取仓库代码
- gcc ... main.c将main.c编译成产物 app
- ./app运行确保编译出来的程序能执行
把本地的环境迁移到github的runner中这样做有几个好处
- 统一了编译环境,不用考虑开发成员之间的环境区别;
- 将构建自动化,开发者可以专注于代码,新人也可以快速上手;
- 自动发布到release极大方便了项目管理;
- GitHub Actions提供许多现有的steps类似乐高积木的体验;
> GitHub Actions的限制
- public仓库通常没有限制
- privat仓库为2,000 分钟500 MB
## GitHub Copilot
从11月起GitHub首页增加了AI对话功能调用的就是 [GitHub Copilot](https://github.com/features/copilot)。
GitHub Copilot 是一个 AI 驱动的 智能编码助手,由 GitHub 和 OpenAI 联合开发。可以调用GPT/gemini/Claude等多家模型.
你可以在vscode中下载copilot插件并使用它会给你带来自动补全以及按照上下文生成整段代码的功能.
> 现在copilot已经开源并且在vscode中自带直接登录就可以使用无须手动下载.
> GitHub Copilot的限制
- 免费版本约 2,000 次代码自动完成completions —— 即 Copilot 在 IDE 里根据你的输入生成代码的次数。
- 约 50 次 Copilot Chat 消息 / 会话请求 —— 即和 Copilot Chat 对话或高级问答次数。
---
**Done.**

View File

@@ -1,95 +1,29 @@
+++ +++
title = "乱七八糟:常用实用快捷键" title = "乱七八糟:VScode那些事"
date = 2024-05-23 date = 2024-05-23
[taxonomies] [taxonomies]
tags = ["乱七八糟"] tags = ["乱七八糟"]
+++ +++
前言 在日常使用浏览器时,掌握一些快捷键和技巧可以节省大量时间,提高工作和学习效率。通过学习和实践,能够更加轻松地应对各种网页浏览场景,让浏览器成为工作和学习的得力助手 前言 VScode 素有世界最强IDE之称有着丰富的插件系统优秀的图形界面和极快的响应速度本文介绍VSCode的一些使用技巧
<!-- more --> <!-- more -->
## 浏览器快捷键 ## AI 插件
### 常用 | 插件名 | 免费 | 付费 | 单模型 | 多模型 | 说明 |
| ---------------------------------------------------------------------------------------- | :-----------: | :--------: | :-: | :-: | ------------------------------------------------------- |
| 快捷键 | 描述 | | **[GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot)** | ✔️(试用 / 学生优惠) | ✔️ | | ✔️ | 主流 AI 编码助手,支持代码补全和聊天建议。([Visual Studio Marketplace][1]) |
|----------------------|------------------| | **[GPT (ChatGPT)](https://open-vsx.org/extension/openai/chatgpt)** | ✔️ | ✔API 模型) | ❌ | ✔️ | 基于 OpenAI 的 ChatGPT可做代码解释/对话生成 |
| Ctrl + A | 全选 | | **[Gemini Code Assist](https://open-vsx.org/extension/Google/geminicodeassist)** | ✔️ | ❌ | ❌ | ✔️ | Google Gemini 驱动的智能编码助手 |
| Ctrl + C | 复制 | | **[Claude Code](https://open-vsx.org/extension/Anthropic/claude-code)** | ❓(账户权限) | ✔️ | ❌ | ✔️ | Anthropic Claude 驱动的编码助手 |
| Ctrl + X | 剪切 | | **[Cline (claude-dev)](https://open-vsx.org/extension/saoudrizwan/claude-dev)** | ✔️ | ❌ | ❌ | ✔️ | 社区版 Claude 型 AI 编码插件 |
| Ctrl + V | 粘贴 | | **[CodeGeeX](https://open-vsx.org/extension/AMiner/codegeex)** | ✔️ | ❌ | ❌ | ✔️ | 开源多模型 AI код助手 |
| Ctrl + F | 查找 | | **[OpenCode](https://open-vsx.org/extension/sst-dev/opencode)** | ✔️ | ❌ | ❌ | ✔️ | 多模型聚合,可接多种后端 |
| Ctrl + Q | 退出 | | **[Windsurf (Codeium)](https://open-vsx.org/extension/Codeium/codeium)** | ✔️ | ❌ | ❌ | ✔️ | 轻量级 AI 代码补全助手Codeium 改名) |
| Ctrl + T | 新建标签页 |
| Ctrl + W | 关闭标签页 |
| Ctrl + N | 新建窗口 |
| Ctrl + Shift + P | 新建隐私浏览窗口 |
### 历史
| 快捷键 | 描述 |
|-------------------------|----------------------------|
| Ctrl + H | 历史侧栏 |
| Ctrl + Shift + H | 我的足迹窗口(历史) |
| Ctrl + Shift + Del | 清除最近历史记录 |
### 书签
| 快捷键 | 描述 |
|-------------------------------|------------------------------------|
| Ctrl + D | 将此页加为书签 |
| Ctrl + I | 页面信息 |
| Ctrl + Shift + O | 显示全部书签(我的足迹窗口) |
| Ctrl + B / Ctrl + Shift + B | 书签侧栏 / 顶栏 |
### 下载与插件
| 快捷键 | 描述 |
|----------------------|----------------|
| Ctrl + Shift + Y | 下载 |
| Ctrl + Shift + A | 附加组件 / 插件 |
### 控制台与开发
| 快捷键 | 描述 |
|----------------------|------------------|
| Ctrl + Shift + K | Web 控制台 |
| Ctrl + Shift + C | 查看器 |
| Shift + F7 | 样式编辑器 |
| Shift + F5 | 分析器 |
| Ctrl + Shift + E | 网络 |
| Ctrl + U | 页面源码 |
| Ctrl + Shift + J | 浏览器控制台 |
### 标签页与界面
| 快捷键 | 描述 |
|-------------------------------|--------------------------|
| Ctrl + S | 界面保存 |
| Ctrl + + | 放大 |
| Ctrl + - | 缩小 |
| Ctrl + 0 | 重置缩放 |
| Ctrl + K / J | 搜索 |
| Ctrl + Home / End | 到文件头 / 尾 |
| Ctrl + Page Up | 切换到左边标签页 |
| Ctrl + Page Down | 切换到右边标签页 |
| Ctrl + Shift + Page Up | 当前标签页左移 |
| Ctrl + Shift + Page Down | 当前标签页右移 |
### 其他操作
| 快捷键 | 描述 |
|--------------------|------------------|
| Alt + Space | KDE 搜索栏 |
| Alt + → / ← | 前进 / 后退 |
| Alt + 数字键 | 选择标签页18|
| Alt + M | 静音 |
| End | 到达页尾 |
| Home | 到达页首 |
| F6 | 地址栏 |
[1]: https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&utm_source=chatgpt.com "GitHub Copilot"
## VS Code 快捷键 ## VS Code 快捷键
@@ -302,5 +236,87 @@ tags = ["乱七八糟"]
- **函数提示** - **函数提示**
- 在悬停窗口上按下 `cmd`:提示函数的实现 - 在悬停窗口上按下 `cmd`:提示函数的实现
## 浏览器快捷键
### 常用
| 快捷键 | 描述 |
|----------------------|------------------|
| Ctrl + A | 全选 |
| Ctrl + C | 复制 |
| Ctrl + X | 剪切 |
| Ctrl + V | 粘贴 |
| Ctrl + F | 查找 |
| Ctrl + Q | 退出 |
| Ctrl + T | 新建标签页 |
| Ctrl + W | 关闭标签页 |
| Ctrl + N | 新建窗口 |
| Ctrl + Shift + P | 新建隐私浏览窗口 |
### 历史
| 快捷键 | 描述 |
|-------------------------|----------------------------|
| Ctrl + H | 历史侧栏 |
| Ctrl + Shift + H | 我的足迹窗口(历史) |
| Ctrl + Shift + Del | 清除最近历史记录 |
### 书签
| 快捷键 | 描述 |
|-------------------------------|------------------------------------|
| Ctrl + D | 将此页加为书签 |
| Ctrl + I | 页面信息 |
| Ctrl + Shift + O | 显示全部书签(我的足迹窗口) |
| Ctrl + B / Ctrl + Shift + B | 书签侧栏 / 顶栏 |
### 下载与插件
| 快捷键 | 描述 |
|----------------------|----------------|
| Ctrl + Shift + Y | 下载 |
| Ctrl + Shift + A | 附加组件 / 插件 |
### 控制台与开发
| 快捷键 | 描述 |
|----------------------|------------------|
| Ctrl + Shift + K | Web 控制台 |
| Ctrl + Shift + C | 查看器 |
| Shift + F7 | 样式编辑器 |
| Shift + F5 | 分析器 |
| Ctrl + Shift + E | 网络 |
| Ctrl + U | 页面源码 |
| Ctrl + Shift + J | 浏览器控制台 |
### 标签页与界面
| 快捷键 | 描述 |
|-------------------------------|--------------------------|
| Ctrl + S | 界面保存 |
| Ctrl + + | 放大 |
| Ctrl + - | 缩小 |
| Ctrl + 0 | 重置缩放 |
| Ctrl + K / J | 搜索 |
| Ctrl + Home / End | 到文件头 / 尾 |
| Ctrl + Page Up | 切换到左边标签页 |
| Ctrl + Page Down | 切换到右边标签页 |
| Ctrl + Shift + Page Up | 当前标签页左移 |
| Ctrl + Shift + Page Down | 当前标签页右移 |
### 其他操作
| 快捷键 | 描述 |
|--------------------|------------------|
| Alt + Space | KDE 搜索栏 |
| Alt + → / ← | 前进 / 后退 |
| Alt + 数字键 | 选择标签页18|
| Alt + M | 静音 |
| End | 到达页尾 |
| Home | 到达页首 |
| F6 | 地址栏 |
--- ---
**Done.** **Done.**

View File

@@ -29,46 +29,40 @@ tags = ["综合工程"]
## 安装软件 ## 安装软件
随后安装常用开源软件(KDE环境省略file和wayland) 随后安装常用开源软件,KDE环境和Wayland+WM环境安装的包不同
```bash ```bash
# gui # gui
paru -S floorp-bin keepassxc qemu-full virt-manager materialgram-bin legcord-bin onlyoffice-bin localsend-bin kazumi-bin foliate vlc krita qtscrcpy strawberry oculante obs-studio scx-manager
paru -S floorp-bin keepassxc qemu-full virt-manager materialgram-bin legcord-bin onlyoffice-bin localsend-bin kazumi-bin foliate vlc krita qtscrcpy strawberry oculante obs-studio
# tui # tui
paru -S neovim yazi lazygit btop zellij termshark paru -S neovim yazi lazygit btop zellij termshark
# cli # cli
paru -S alacritty fastfetch onefetch starship atuin bat fzf fd ripgrep eza tree android-tools payload-dumper-go-bin nexttrace-bin syncthing aria2
paru -S alacritty fish fastfetch tealdeer expac fish-autopair fish-pure-prompt fisher onefetch starship atuin bat fzf fd ripgrep eza tree android-tools payload-dumper-go-bin nexttrace-bin syncthing aria2 # fish
fish tealdeer expac fish-autopair fish-pure-prompt fisher
# file
paru -S gvfs gvfs-mtp gvfs-afc gvfs-nfs nemo
# zip # zip
paru -S peazip paru -S peazip
# Type # Type
paru -S fcitx5-configtool fcitx5-skin-material fcitx5-rime fcitx5-gtk
paru -S fcitx5-configtool fcitx5-chinese-addons fcitx5-skin-material fcitx5-im fcitx5-rime
# Blog
paru -S zola npm pnpm just go
# ttf # ttf
paru -S ttf-jetbrains-mono-nerd ttf-sarasa-gothic-sc
paru -S ttf-jetbrains-mono-nerd
# Wayland
paru -S hyprland waybar wofi network-manager-applet swww wl-gammarelay-rs brightnessctl easyeffects wireplumber pipewire blueman wl-clipboard-rs swaync swayosd swappy grim wlogout hyprlock hyprpolkitagent
``` ```
如果使用Wayland+WM方案需要额外安装以下这些
```bash
# Wayland
paru -S hyprland waybar network-manager-applet swww wl-gammarelay-rs brightnessctl easyeffects wireplumber pipewire blueman bluez-utils wl-clipboard-rs wl-clip-persist swaync swayosd swappy grim wlogout hyprlock hyprpolkitagent
# file
paru -S gvfs gvfs-mtp gvfs-afc gvfs-nfs nemo
```
| 分类 | 软件列表 | | 分类 | 软件列表 |
| ------------ | ------------------------------------------------ | | ------------ | ------------------------------------------------ |
| **窗口管理器** | hyprland | | **窗口管理器** | hyprland |
@@ -198,6 +192,47 @@ menuentry "Windows 11 (Manual)" {
chainloader /EFI/Microsoft/Boot/bootmgfw.efi chainloader /EFI/Microsoft/Boot/bootmgfw.efi
} }
``` ```
## 制服华硕VMD
华硕的BIOS有一个VMD选项它的机制是这样的如果你想安linux得先关闭VMD但如果你的windows是出厂自带的没有重装过那又得开启VMD否则无法进入windows这里记录在不关闭VMD的情况下如何让linux支持它(以arch linux为例)
先使用这个命令查看磁盘:
```
> lsblk -f
nvme1n1
├─nvme1n1p1 vfat FAT32 SYSTEM xxxx-xxxx
├─nvme1n1p2 ntfs OS
├─nvme1n1p3 ntfs 新加卷
├─nvme1n1p4 ntfs 新加卷
├─nvme1n1p5 ntfs 新加卷
├─nvme1n1p6 ntfs 新加卷
nvme0n1
├─nvme0n1p1
├─nvme0n1p2 ntfs 新加卷
└─nvme0n1p3 xfs xxxxxxxxxxxxxx
```
随后使用以下方法将VMD支持加入initramfs
```
## 挂载linux根分区
mount /dev/nvme0n1p3 /mnt
## 创建boot目录
mkdir -p /mnt/boot
## 挂载EFI
mkdir -p /mnt/boot/EFI
mount /dev/nvme1n1p1 /mnt/boot/EFI
## Chroot进入已经安装的系统
arch-chroot /mnt
## 重新生成 initramfs
nano /etc/mkinitcpio.conf
MODULES=(vmd nvme)
mkinitcpio -P
## 退出重启
exit
reboot
```
## Arch中安装QEMU虚拟机 ## Arch中安装QEMU虚拟机
前面我们已经安装了Qemu高性能虚拟机平台和virt-manager用来管理虚拟机的图形界面随后配置virt-manager并安装Ubuntu-server 前面我们已经安装了Qemu高性能虚拟机平台和virt-manager用来管理虚拟机的图形界面随后配置virt-manager并安装Ubuntu-server

View File

@@ -76,7 +76,7 @@ Linux有许多不同的发行版但大致可以分为几个系
因此对于Linux而言文件系统是这样的 因此对于Linux而言文件系统是这样的
```shell ```bash
/ — 根 / — 根
/home — 用户家目录 /home — 用户家目录
/root — 超级用户的家 /root — 超级用户的家
@@ -114,7 +114,7 @@ Linux有许多不同的发行版但大致可以分为几个系
在Ubuntu的界面中李华看到了一个名为``终端``的应用,输入``apt install neofetch``,就安装成功...不,暂时还没有成功,再次输入``sudo apt install neofetch``,就成功安装了neofetch这个软件随后我们输入``neofetch``,可以看到系统的一些信息: 在Ubuntu的界面中李华看到了一个名为``终端``的应用,输入``apt install neofetch``,就安装成功...不,暂时还没有成功,再次输入``sudo apt install neofetch``,就成功安装了neofetch这个软件随后我们输入``neofetch``,可以看到系统的一些信息:
```shell ```bash
neofetch neofetch
.-/+oossssoo+/-. dich@uos .-/+oossssoo+/-. dich@uos
`:+ssssssssssssssssss+:` -------- `:+ssssssssssssssssss+:` --------

View File

@@ -130,7 +130,7 @@ bluetoothctl info AA:BB:CC:DD:EE:FF
交互式步骤(在 `bluetoothctl` 提示符下): 交互式步骤(在 `bluetoothctl` 提示符下):
```text ```bash
$ bluetoothctl $ bluetoothctl
[bluetooth]# power on [bluetooth]# power on
[bluetooth]# agent on [bluetooth]# agent on

View File

@@ -1,5 +1,5 @@
+++ +++
title = "Windows系列(1):系统安装与设置" title = "Windows系列(0):系统安装与设置"
date = 2024-05-24 date = 2024-05-24
[taxonomies] [taxonomies]
@@ -12,7 +12,7 @@ tags = ["Windows"]
## 总纲 ## 总纲
安装Windows有两种情况:1.在一台全新的电脑上安装2.想为现有的系统更换版本。本文主要介绍这两种情况。如果只想对现有的系统进行优化,推荐看下一篇的``"Windows系列(2):常用操作与配置"``. 安装Windows有两种情况:1.在一台全新的电脑上安装2.想为现有的系统更换版本。本文主要介绍这两种情况。如果只想对现有的系统进行优化,推荐看下一篇的``"Windows系列(1):常用操作与配置"``.
**全新安装** **全新安装**
- 获得一个Windows的ISO镜像 - 获得一个Windows的ISO镜像

View File

@@ -1,5 +1,5 @@
+++ +++
title = "Windows系列(2):常用操作与配置" title = "Windows系列(1):常用操作与配置"
date = 2024-05-25 date = 2024-05-25
[taxonomies] [taxonomies]

View File

@@ -1,5 +1,5 @@
+++ +++
title = "Windows系列(3):分类与激活" title = "Windows系列(2):分类与激活"
date = 2024-05-26 date = 2024-05-26
[taxonomies] [taxonomies]

View File

@@ -1,6 +1,6 @@
+++ +++
title = "Windows系列(4):封装与全自动安装" title = "Windows系列(3):封装与全自动安装"
date = 2024-05-29 date = 2024-05-27
[taxonomies] [taxonomies]
tags = ["Windows"] tags = ["Windows"]

177
content/windows-4-use.md Normal file
View File

@@ -0,0 +1,177 @@
+++
title = "Windows系列(4):高效操作与强化"
date = 2024-05-28
[taxonomies]
tags = ["Windows"]
+++
前言 本文记载windows下的常用快捷键与PowerShell强化配置.
<!-- more -->
## 快捷键
高效使用 Windows 的第一步,就是**减少鼠标依赖**。
Windows 自身已经内置了大量非常实用的快捷键,只是很多人并没有系统地使用过。
- **Alt + Tab**
在**已打开的窗口之间切换**(经典快捷键)
- **Win + Tab**
打开**任务视图**,可查看所有窗口与虚拟桌面
- **Alt + F4**
关闭当前窗口
> 在桌面下使用时可弹出关机 / 重启菜单
- **Win + D**
显示桌面 / 恢复窗口
- **Win + ↑ / ↓ / ← / →**
窗口最大化 / 最小化 / 左右分屏
- **Win + Shift + ← / →**
将当前窗口移动到另一个显示器
---
### 虚拟桌面
- **Win + Ctrl + D**
新建虚拟桌面
- **Win + Ctrl + ← / →**
在虚拟桌面之间切换
- **Win + Ctrl + F4**
关闭当前虚拟桌面
---
### 应用启动与系统
- **Win**
打开开始菜单,直接输入搜索应用
- **Win + R**
打开“运行”窗口
- **Win + E**
打开资源管理器
- **Win + I**
打开系统设置
- **Win + L**
锁屏
---
### 截图与录屏
- **Win + Shift + S**
截图(区域 / 窗口 / 全屏)
- **Win + PrtSc**
全屏截图并自动保存
- **Win + G**
打开 Xbox Game Bar可用于屏幕录制
---
### 常用编辑操作
- **Ctrl + C / V / X**
复制 / 粘贴 / 剪切
- **Ctrl + Z / Y**
撤销 / 重做
- **Ctrl + A**
全选
- **Ctrl + S**
保存
- **Ctrl + F**
查找
- **Ctrl + Shift + Esc**
直接打开任务管理器
## 启动器
有了窗口切换和关闭,还需要打开,这里推荐这两个:
- [Flow.Launcher](https://github.com/Flow-Launcher/Flow.Launcher)
- [ZeroLaunch-rs](https://github.com/ghost-him/ZeroLaunch-rs)
现在我们就可以使用``Win+Tab``切换窗口,使用``Alt+F4``关闭窗口,使用``Alt+Space``启动软件.
## Powershell强化
要达到类似Linux下``oh-myzsh+atuin+fzf+zoxide+starship``的效果,可以使用以下方法增强:
- 安装模块
```bash
winget install junegunn.fzf
fzf --version
winget install JanDeDobbeleer.OhMyPosh
oh-my-posh version
winget install ajeetdsouza.zoxide
zoxide --version
```
- 导入模块
```bash
Install-Module PSReadLine -Scope CurrentUser -Force
Install-Module posh-git -Scope CurrentUser -Force
Install-Module PSFzf -Scope CurrentUser -Force
```
- 写入配置
首先执行这个命令:
```bash
notepad $PROFILE
```
在打开的窗口中写入:
```bash
# ---------- PSReadLine ----------
Import-Module PSReadLine
Set-PSReadLineOption -PredictionSource History
Set-PSReadLineOption -PredictionViewStyle InlineView
# ---------- Git ----------
Import-Module posh-git
# ---------- fzf ----------
Import-Module PSFzf
Set-PsFzfOption -PSReadlineChordProvider 'Ctrl+t' -PSReadlineChordReverseHistory 'Ctrl+r'
# ---------- zoxide ----------
Invoke-Expression (& { (zoxide init powershell | Out-String) })
# ---------- oh-my-posh ----------
oh-my-posh init pwsh | Invoke-Expression
# ---------- Bash-style line editing ----------
# Ctrl+A → 行首
Set-PSReadLineKeyHandler -Key Ctrl+a -Function BeginningOfLine
# Ctrl+E → 行尾
Set-PSReadLineKeyHandler -Key Ctrl+e -Function EndOfLine
# Ctrl+U → 删除从光标到行首
Set-PSReadLineKeyHandler -Key Ctrl+u -Function BackwardDeleteLine
# Ctrl+K → 删除从光标到行尾
Set-PSReadLineKeyHandler -Key Ctrl+k -Function ForwardDeleteLine
```
随后新开启一个PowerShell可以看到有Git提示ctrl+R唤起历史右方向键透明补全的效果.
---
**Done.**

View File

@@ -1,6 +1,6 @@
+++ +++
title = "Windows系列(5):Python开发配置" title = "Windows系列(5):Python开发配置"
date = 2024-05-31 date = 2024-05-30
[taxonomies] [taxonomies]
tags = ["Windows"] tags = ["Windows"]

View File

@@ -1,6 +1,6 @@
+++ +++
title = "Windows系列(6):C/C++开发配置" title = "Windows系列(6):C/C++开发配置"
date = 2024-05-30 date = 2024-05-31
[taxonomies] [taxonomies]
tags = ["Windows"] tags = ["Windows"]

View File

@@ -1,4 +1,3 @@
#!/usr/bin/env -S just --justfile #!/usr/bin/env -S just --justfile
build: build:
zola build && pagefind --site public --root-selector body zola build && pagefind --site public --root-selector body

View File

@@ -7,7 +7,7 @@
@font-face { @font-face {
font-family: 'Hack'; font-family: 'Hack';
/* Use full version (not a subset) for unicode icon support */ /* Use full version (not a subset) for unicode icon support */
src: url('fonts/hack-regular.woff2?sha=3114f1256') format('woff2'), url('fonts/hack-regular.woff?sha=3114f1256') format('woff'); src: url('fonts/hack-regular.woff2') format('woff2'), url('fonts/hack-regular.woff') format('woff');
font-weight: 400; font-weight: 400;
font-style: normal; font-style: normal;
font-display: swap; font-display: swap;
@@ -15,7 +15,7 @@
@font-face { @font-face {
font-family: 'Hack'; font-family: 'Hack';
src: url('fonts/hack-bold-subset.woff2?sha=3114f1256') format('woff2'), url('fonts/hack-bold-subset.woff?sha=3114f1256') format('woff'); src: url('fonts/hack-bold-subset.woff2') format('woff2'), url('fonts/hack-bold-subset.woff') format('woff');
font-weight: 700; font-weight: 700;
font-style: normal; font-style: normal;
font-display: swap; font-display: swap;
@@ -23,7 +23,7 @@
@font-face { @font-face {
font-family: 'Hack'; font-family: 'Hack';
src: url('fonts/hack-italic-subset.woff2?sha=3114f1256') format('woff2'), url('fonts/hack-italic-webfont.woff?sha=3114f1256') format('woff'); src: url('fonts/hack-italic-subset.woff2') format('woff2'), url('fonts/hack-italic-webfont.woff') format('woff');
font-weight: 400; font-weight: 400;
font-style: italic; font-style: italic;
font-display: swap; font-display: swap;
@@ -31,7 +31,7 @@
@font-face { @font-face {
font-family: 'Hack'; font-family: 'Hack';
src: url('fonts/hack-bolditalic-subset.woff2?sha=3114f1256') format('woff2'), url('fonts/hack-bolditalic-subset.woff?sha=3114f1256') format('woff'); src: url('fonts/hack-bolditalic-subset.woff2') format('woff2'), url('fonts/hack-bolditalic-subset.woff') format('woff');
font-weight: 700; font-weight: 700;
font-style: italic; font-style: italic;
font-display: swap; font-display: swap;

View File

@@ -6,7 +6,7 @@
* -------------------------- */ * -------------------------- */
@font-face { @font-face {
font-family: 'Hack'; font-family: 'Hack';
src: url('fonts/hack-regular.woff2?sha=3114f1256') format('woff2'), url('fonts/hack-regular.woff?sha=3114f1256') format('woff'); src: url('fonts/hack-regular.woff2') format('woff2'), url('fonts/hack-regular.woff') format('woff');
font-weight: 400; font-weight: 400;
font-style: normal; font-style: normal;
font-display: swap; font-display: swap;
@@ -14,7 +14,7 @@
@font-face { @font-face {
font-family: 'Hack'; font-family: 'Hack';
src: url('fonts/hack-bold.woff2?sha=3114f1256') format('woff2'), url('fonts/hack-bold.woff?sha=3114f1256') format('woff'); src: url('fonts/hack-bold.woff2') format('woff2'), url('fonts/hack-bold.woff') format('woff');
font-weight: 700; font-weight: 700;
font-style: normal; font-style: normal;
font-display: swap; font-display: swap;
@@ -22,7 +22,7 @@
@font-face { @font-face {
font-family: 'Hack'; font-family: 'Hack';
src: url('fonts/hack-italic.woff2?sha=3114f1256') format('woff2'), url('fonts/hack-italic.woff?sha=3114f1256') format('woff'); src: url('fonts/hack-italic.woff2') format('woff2'), url('fonts/hack-italic.woff') format('woff');
font-weight: 400; font-weight: 400;
font-style: italic; font-style: italic;
font-display: swap; font-display: swap;
@@ -30,7 +30,7 @@
@font-face { @font-face {
font-family: 'Hack'; font-family: 'Hack';
src: url('fonts/hack-bolditalic.woff2?sha=3114f1256') format('woff2'), url('fonts/hack-bolditalic.woff?sha=3114f1256') format('woff'); src: url('fonts/hack-bolditalic.woff2') format('woff2'), url('fonts/hack-bolditalic.woff') format('woff');
font-weight: 700; font-weight: 700;
font-style: italic; font-style: italic;
font-display: swap; font-display: swap;

View File

@@ -13,7 +13,7 @@ html {
body { body {
margin: 0; margin: 0;
padding: 0; padding: 0;
font-family: Hack, DejaVu Sans Mono, Monaco, Consolas, Ubuntu Mono, monospace; font-family: DejaVu Sans Mono, Monaco, Consolas, Ubuntu Mono, monospace;
font-size: 1rem; font-size: 1rem;
line-height: 1.54; line-height: 1.54;
background-color: var(--background); background-color: var(--background);
@@ -118,7 +118,7 @@ figure {
} }
code { code {
font-family: Hack, DejaVu Sans Mono, Monaco, Consolas, Ubuntu Mono, monospace; font-family: DejaVu Sans Mono, Monaco, Consolas, Ubuntu Mono, monospace;
font-feature-settings: normal; font-feature-settings: normal;
background: var(--accent-alpha-20); background: var(--accent-alpha-20);
padding: 1px 6px; padding: 1px 6px;
@@ -127,7 +127,7 @@ code {
} }
pre { pre {
font-family: Hack, DejaVu Sans Mono, Monaco, Consolas, Ubuntu Mono, monospace; font-family: DejaVu Sans Mono, Monaco, Consolas, Ubuntu Mono, monospace;
padding: 20px; padding: 20px;
font-size: .95rem; font-size: .95rem;
overflow: auto; overflow: auto;

View File

@@ -1,8 +0,0 @@
{% if src %}
<figure class="{% if position %}{{ position }}{% else -%} center {%- endif %}" >
<img src="{{ src | safe }}"{% if alt %} alt="{{ alt }}"{% endif %}{% if style %} style="{{ style }}"{% endif %} decoding="async" loading="lazy"/>
{% if caption %}
<figcaption class="{% if caption_position %}{{ caption_position }}{% else -%} center {%- endif %}"{% if caption_style %} style="{{ caption_style | safe }}"{% endif %}>{{ caption | markdown() | safe }}</figcaption>
{% endif %}
</figure>
{% endif %}

View File

@@ -1,8 +0,0 @@
{% if src %}
{# If the image's URL is internal to the site... #}
{% if src is not starting_with("http") %}
{# ... then prepend the site's base URL to the image's URL. #}
{% set src = config.base_url ~ src %}
{% endif %}
<img src="{{ src | safe }}"{% if alt %} alt="{{ alt }}"{% endif %} class="{% if position %}{{ position }}{% else -%} center {%- endif %}" {%- if style %} style="{{ style | safe }}" {%- endif %} decoding="async" loading="lazy"/>
{% endif %}

View File

@@ -1,21 +0,0 @@
{% extends "index.html" %}
{%- block title -%}
{{ title_macros::title(page_title="Tags", main_title=config.title) }}
{%- endblock -%}
{% block content %}
<div class="post">
<h1 class="post-title">all tags</h1>
<ul>
{% for term in terms %}
<li class="tag-list">
<a href="{{ term.permalink | safe }}">
{{ term.name }} ({{ term.pages | length }} post{{ term.pages | length | pluralize }})
</a>
</li>
{% endfor %}
</ul>
</div>
{% endblock content %}

View File

@@ -1,21 +0,0 @@
{% extends "index.html" %}
{%- block title -%}
{% set title = "Tag: " ~ term.name %}
{{ title_macros::title(page_title=title, main_title=config.title) }}
{%- endblock -%}
{% block content %}
<div class="post">
<h1 class="post-title">
tag: #{{ term.name }}
({{ term.pages | length }} post{{ term.pages | length | pluralize }})
</h1>
<a href="{{ config.base_url | safe }}/tags/">
Show all tags
</a>
{{ post_macros::list_posts(pages=term.pages) }}
</div>
{% endblock content %}

View File

@@ -10,6 +10,22 @@
{% set section = get_section(path="_index.md") %} {% set section = get_section(path="_index.md") %}
{{ post_macros::list_posts(pages=section.pages) }} {% set pages_by_year = section.pages | group_by(attribute="year") %}
{%- for year, pages_in_year in pages_by_year %}
<h2 class="year-divider">{{ year }}</h2>
<ul>
{%- for page in pages_in_year %}
{%- if page.draft %}
{% continue %}
{% endif -%}
<li class="post-list">
<a href="{{ page.permalink | safe }}">
<span class="post-date">{{ page.date }}</span>
:: <span class="post-list-title">{{ page.title }}</span></a>
{{ post_macros::tags(page=page, short=true) }}
</li>
{%- endfor %}
</ul>
{%- endfor %}
</div> </div>
{% endblock content %} {% endblock content %}

View File

@@ -84,6 +84,7 @@
</header> </header>
{% endblock header %} {% endblock header %}
<main>
<div class="content"> <div class="content">
{% block content %} {% block content %}
<div class="posts"> <div class="posts">
@@ -123,9 +124,9 @@
</div> </div>
{% endblock content %} {% endblock content %}
</div> </div>
</main>
{% block footer %} {% block footer %} <footer class="footer">
<footer class="footer">
<div class="footer__inner"> <div class="footer__inner">
{%- if config.extra.copyright_html %} {%- if config.extra.copyright_html %}
<div class="copyright copyright--user">{{ config.extra.copyright_html | safe }}</div> <div class="copyright copyright--user">{{ config.extra.copyright_html | safe }}</div>

View File

@@ -4,11 +4,6 @@
<meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="robots" content="noodp"/> <meta name="robots" content="noodp"/>
<!-- 字体预加载 - 减少布局偏移 CLS -->
<link rel="preload" href="{{ get_url(path='fonts/hack-regular.woff2?sha=3114f1256') }}" as="font" type="font/woff2" crossorigin>
<link rel="preload" href="{{ get_url(path='fonts/hack-bold.woff2?sha=3114f1256') }}" as="font" type="font/woff2" crossorigin>
<link rel="preload" href="{{ get_url(path='fonts/hack-italic.woff2?sha=3114f1256') }}" as="font" type="font/woff2" crossorigin>
<link rel="preload" href="{{ get_url(path='fonts/hack-bolditalic.woff2?sha=3114f1256') }}" as="font" type="font/woff2" crossorigin>
<link rel="stylesheet" href="{{ get_url(path="style.css", trailing_slash=false) | safe }}"> <link rel="stylesheet" href="{{ get_url(path="style.css", trailing_slash=false) | safe }}">
@@ -24,15 +19,6 @@
{% endif -%} {% endif -%}
{% endif -%} {% endif -%}
{%- if config.extra.use_full_hack_font == "exo2" %}
<link rel="stylesheet" href="{{ get_url(path="font-exo2.css", trailing_slash=false) | safe }}">
<link rel="stylesheet" href="{{ get_url(path="font-hack.css", trailing_slash=false) | safe }}">
{%- elif config.extra.use_full_hack_font %}
<link rel="stylesheet" href="{{ get_url(path="font-hack.css", trailing_slash=false) | safe }}">
{% else %}
<link rel="stylesheet" href="{{ get_url(path="font-hack-subset.css", trailing_slash=false) | safe }}">
{% endif -%}
{% endmacro head %} {% endmacro head %}

View File

@@ -4,25 +4,7 @@ license = "MIT"
homepage = "https://github.com/pawroman/zola-theme-terminimal" homepage = "https://github.com/pawroman/zola-theme-terminimal"
min_version = "0.11.0" min_version = "0.11.0"
# An optional live demo URL
#demo = "https://pawroman.github.io/zola-theme-terminimal/"
[author]
name = "Dichgrem"
homepage = "https://github.com/Dichgrem"
# The original theme this one's been forked off.
[original]
author = "Dichgrem"
homepage = "https://github.com/Dichgrem"
#repo = "https://github.com/panr/hugo-theme-terminal"
[extra] [extra]
# Author name: when specified, modifies the default
# copyright text. Apart from author, it will
# contain current year and a link to the theme.
author = "Dichgrem"
# One of: blue, green, orange, pink, red. # One of: blue, green, orange, pink, red.
# Defaults to blue. # Defaults to blue.
# Append -light for light themes, e.g. blue-light # Append -light for light themes, e.g. blue-light