Skip to content

Commit 8f23fc0

Browse files
committed
deploy: e8b5d36
1 parent 8bdb97c commit 8f23fc0

103 files changed

Lines changed: 7893 additions & 4341 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.nojekyll

Whitespace-only changes.

404.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
<meta name="description" content="A super customizable Jekyll theme for personal site, team site, blog, project, documentation, etc.
1616
">
17-
<link rel="canonical" href="https://tianqi.name/jekyll-TeXt-theme/404.html"><link rel="alternate" type="application/rss+xml" title="TeXt Theme" href="/jekyll-TeXt-theme/feed.xml"><!-- start favicons snippet, use https://realfavicongenerator.net/ --><link rel="apple-touch-icon" sizes="180x180" href="/jekyll-TeXt-theme/assets/apple-touch-icon.png"><link rel="icon" type="image/png" sizes="32x32" href="/jekyll-TeXt-theme/assets/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="/jekyll-TeXt-theme/assets/favicon-16x16.png"><link rel="manifest" href="/jekyll-TeXt-theme/assets/site.webmanifest"><link rel="mask-icon" href="/jekyll-TeXt-theme/assets/safari-pinned-tab.svg" color="#fc4d50"><link rel="shortcut icon" href="/jekyll-TeXt-theme/assets/favicon.ico">
17+
<link rel="canonical" href="https://kitian616.github.io/jekyll-TeXt-theme/404.html"><link rel="alternate" type="application/rss+xml" title="TeXt Theme" href="/jekyll-TeXt-theme/feed.xml"><!-- start favicons snippet, use https://realfavicongenerator.net/ --><link rel="apple-touch-icon" sizes="180x180" href="/jekyll-TeXt-theme/assets/apple-touch-icon.png"><link rel="icon" type="image/png" sizes="32x32" href="/jekyll-TeXt-theme/assets/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="/jekyll-TeXt-theme/assets/favicon-16x16.png"><link rel="manifest" href="/jekyll-TeXt-theme/assets/site.webmanifest"><link rel="mask-icon" href="/jekyll-TeXt-theme/assets/safari-pinned-tab.svg" color="#fc4d50"><link rel="shortcut icon" href="/jekyll-TeXt-theme/assets/favicon.ico">
1818

1919
<meta name="msapplication-TileColor" content="#ffc40d"><meta name="msapplication-config" content="/jekyll-TeXt-theme/assets/browserconfig.xml">
2020

@@ -149,7 +149,7 @@
149149
var createNode = function(name, attrs) {
150150
var node = doc.createElement(name), attr;
151151
for (attr in attrs) {
152-
if (attrs.hasOwnProperty(attr)) {
152+
if (Object.prototype.hasOwnProperty.call(attrs, attr)) {
153153
node.setAttribute(attr, attrs[attr]);
154154
}
155155
}
@@ -355,7 +355,7 @@ <h1>404</h1>
355355
</div>
356356
</div>
357357
</div><div class="site-info mt-2">
358-
<div>© TeXt Theme 2021,
358+
<div>© TeXt Theme 2026,
359359
Powered by <a title="Jekyll is a simple, blog-aware, static site generator." href="http://jekyllrb.com/">Jekyll</a> & <a
360360
title="TeXt is a super customizable Jekyll theme." href="https://github.com/kitian616/jekyll-TeXt-theme">TeXt Theme</a>.
361361
</div>
@@ -444,7 +444,7 @@ <h1>404</h1>
444444

445445
var $searchBox = null;
446446
var $searchInput = null;
447-
var $searchClear = null;
447+
var $searchClear;
448448

449449
function getModalVisible() {
450450
return modalVisible;

CLAUDE.md

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
# CLAUDE.md
2+
3+
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
4+
5+
## Commands
6+
7+
```bash
8+
# Build the production site
9+
npm run build
10+
11+
# Serve locally with live reload (default)
12+
npm run serve
13+
14+
# Serve with tracing output
15+
npm run default
16+
17+
# Serve docs/demo site (dev, beta, production variants)
18+
npm run dev # docs/_config.dev.yml
19+
npm run demo-dev # docs/_config.yml (dev env)
20+
npm run demo-prod # docs/_config.yml (production env)
21+
22+
# Lint JS in _includes/**/*.js
23+
npm run eslint
24+
npm run eslint-fix
25+
26+
# Lint SCSS in _sass/**/*.scss
27+
npm run stylelint
28+
npm run stylelint-fix
29+
30+
# Build & publish gem (release flow only)
31+
npm run gem-build
32+
npm run gem-push
33+
34+
# Docker-based development
35+
npm run docker-dev:default
36+
npm run docker-dev:dev
37+
npm run docker-dev:demo-dev
38+
39+
# Docker production build + serve
40+
npm run docker-prod:build
41+
npm run docker-prod:serve
42+
```
43+
44+
**CI**: Travis builds the docs site via `JEKYLL_ENV=production bundle exec jekyll build --config ./docs/_config.yml` and deploys to `gh-pages` branch.
45+
46+
**Commit style**: Conventional Commits via commitlint (`feat:`, `fix:`, `docs:`, `refactor:`, `release:`, etc.).
47+
48+
## Project Architecture
49+
50+
### Skin System
51+
6 built-in skins (`default`, `dark`, `forest`, `ocean`, `chocolate`, `orange`) + 5 highlight themes. A skin is a SCSS file at `_sass/skins/_<name>.scss` that defines CSS custom properties (colors, fonts, borders). Selected via `text_skin` in `_config.yml`. The main entry point `assets/css/main.scss` dynamically `@import`s the active skin.
52+
53+
### Layout Inheritance
54+
Layouts in `_layouts/` form a chain: `none``base``page``article` / `home` / `landing` / `articles` / `archive` / `404`. `base.html` is the root — it sets up the HTML shell, analytics, head, and core JS utilities. Page-level layouts extend it and add content wrappers.
55+
56+
### Include System
57+
`_includes/` is organized by concern:
58+
- **article/** — header, footer, info, list components
59+
- **aside/** — sidebar content (TOC, affix)
60+
- **scripts/** — vanilla JS (no framework): lib/ (third-party), utils/, components/ (search, lightbox, sidebar)
61+
- **head/**, **footer/**, **sidebar/** — structural includes
62+
- **comments-providers/**, **analytics-providers/**, **search-providers/**, **sharing-providers/**, **pageview-providers/** — pluggable third-party integrations
63+
64+
### JavaScript Architecture
65+
Vanilla JS (no build step, no framework). Scripts are included directly via Liquid `{%- include scripts/...js -%}` in `base.html`. The JS is split into:
66+
- **lib/** — isolated utilities (lazyload, throttle, affix, TOC, swiper, modal, gallery, scroll-to)
67+
- **components/** — stateful UI (search, lightbox, sidebar)
68+
- **utils/** — helpers (image loading, general utils)
69+
- Page-level scripts: `article.js`, `page.js`, `home.js`, `archieve.js`
70+
71+
No bundler — all JS is served raw from `_includes/scripts/`.
72+
73+
### SCSS Organization
74+
`_sass/` is structured as:
75+
- **skins/** — color/font themes (each skin is a standalone variable file)
76+
- **common/** — shared variables, functions, classes, reset, print styles, reusable components (button, card, modal, gallery, etc.)
77+
- **components/** — page-level component styles (header, footer, search, lightbox, etc.)
78+
- **layout/** — page layout styles (base, page, article, home, archive, etc.)
79+
- **additional/** — optional utility styles (alerts, tags, photo frames)
80+
- **animate/** — keyframe animations (fade-in variants)
81+
- **custom.scss** — user overrides placeholder
82+
83+
### Content & Data
84+
- `_data/` — YAML files for authors, licenses, locale (i18n), navigation, and theme variables
85+
- `_posts/` — sample/blog posts directory
86+
- `docs/` — standalone documentation site (has its own `_config.yml`, posts, sample pages, and shared `_includes` from root via Travis `before_script`)
87+
- `test/` — minimal test site (used for smoke testing the theme)
88+
89+
### Building a Release
90+
1. Update version in `jekyll-text-theme.gemspec`, `package.json`, and `_includes/scripts/variables.html`
91+
2. Update `CHANGELOG.md`
92+
3. Run `npm run gem-build && npm run gem-push`
93+
4. Tag and push with `release: vx.x.x` commit message

about.html

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
<meta name="description" content="A super customizable Jekyll theme for personal site, team site, blog, project, documentation, etc.
1616
">
17-
<link rel="canonical" href="https://tianqi.name/jekyll-TeXt-theme/about.html"><link rel="alternate" type="application/rss+xml" title="TeXt Theme" href="/jekyll-TeXt-theme/feed.xml"><!-- start favicons snippet, use https://realfavicongenerator.net/ --><link rel="apple-touch-icon" sizes="180x180" href="/jekyll-TeXt-theme/assets/apple-touch-icon.png"><link rel="icon" type="image/png" sizes="32x32" href="/jekyll-TeXt-theme/assets/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="/jekyll-TeXt-theme/assets/favicon-16x16.png"><link rel="manifest" href="/jekyll-TeXt-theme/assets/site.webmanifest"><link rel="mask-icon" href="/jekyll-TeXt-theme/assets/safari-pinned-tab.svg" color="#fc4d50"><link rel="shortcut icon" href="/jekyll-TeXt-theme/assets/favicon.ico">
17+
<link rel="canonical" href="https://kitian616.github.io/jekyll-TeXt-theme/about.html"><link rel="alternate" type="application/rss+xml" title="TeXt Theme" href="/jekyll-TeXt-theme/feed.xml"><!-- start favicons snippet, use https://realfavicongenerator.net/ --><link rel="apple-touch-icon" sizes="180x180" href="/jekyll-TeXt-theme/assets/apple-touch-icon.png"><link rel="icon" type="image/png" sizes="32x32" href="/jekyll-TeXt-theme/assets/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="/jekyll-TeXt-theme/assets/favicon-16x16.png"><link rel="manifest" href="/jekyll-TeXt-theme/assets/site.webmanifest"><link rel="mask-icon" href="/jekyll-TeXt-theme/assets/safari-pinned-tab.svg" color="#fc4d50"><link rel="shortcut icon" href="/jekyll-TeXt-theme/assets/favicon.ico">
1818

1919
<meta name="msapplication-TileColor" content="#ffc40d"><meta name="msapplication-config" content="/jekyll-TeXt-theme/assets/browserconfig.xml">
2020

@@ -149,7 +149,7 @@
149149
var createNode = function(name, attrs) {
150150
var node = doc.createElement(name), attr;
151151
for (attr in attrs) {
152-
if (attrs.hasOwnProperty(attr)) {
152+
if (Object.prototype.hasOwnProperty.call(attrs, attr)) {
153153
node.setAttribute(attr, attrs[attr]);
154154
}
155155
}
@@ -295,7 +295,7 @@
295295

296296
<p>TeXt is a super customizable Jekyll theme for personal site, team site, blog, project, documentation, etc. Similar to iOS 11 style, it has large and prominent titles, round buttons and cards.</p>
297297

298-
<div class="language-javascript highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">(()</span> <span class="o">=&gt;</span> <span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="dl">'</span><span class="s1">Hello, World!</span><span class="dl">'</span><span class="p">))();</span>
298+
<div class="language-javascript highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">(()</span> <span class="o">=&gt;</span> <span class="nx">console</span><span class="p">.</span><span class="nf">log</span><span class="p">(</span><span class="dl">'</span><span class="s1">Hello, World!</span><span class="dl">'</span><span class="p">))();</span>
299299
</code></pre></div></div>
300300

301301
<h2 id="features">Features</h2>
@@ -491,7 +491,7 @@ <h3 id="highlight-theme">Highlight Theme</h3>
491491
</div>
492492
</div>
493493
</div><div class="site-info mt-2">
494-
<div>© TeXt Theme 2021,
494+
<div>© TeXt Theme 2026,
495495
Powered by <a title="Jekyll is a simple, blog-aware, static site generator." href="http://jekyllrb.com/">Jekyll</a> & <a
496496
title="TeXt is a super customizable Jekyll theme." href="https://github.com/kitian616/jekyll-TeXt-theme">TeXt Theme</a>.
497497
</div>
@@ -580,7 +580,7 @@ <h3 id="highlight-theme">Highlight Theme</h3>
580580

581581
var $searchBox = null;
582582
var $searchInput = null;
583-
var $searchClear = null;
583+
var $searchClear;
584584

585585
function getModalVisible() {
586586
return modalVisible;

archive.html

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
<meta name="description" content="A super customizable Jekyll theme for personal site, team site, blog, project, documentation, etc.
1616
">
17-
<link rel="canonical" href="https://tianqi.name/jekyll-TeXt-theme/archive.html"><link rel="alternate" type="application/rss+xml" title="TeXt Theme" href="/jekyll-TeXt-theme/feed.xml"><!-- start favicons snippet, use https://realfavicongenerator.net/ --><link rel="apple-touch-icon" sizes="180x180" href="/jekyll-TeXt-theme/assets/apple-touch-icon.png"><link rel="icon" type="image/png" sizes="32x32" href="/jekyll-TeXt-theme/assets/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="/jekyll-TeXt-theme/assets/favicon-16x16.png"><link rel="manifest" href="/jekyll-TeXt-theme/assets/site.webmanifest"><link rel="mask-icon" href="/jekyll-TeXt-theme/assets/safari-pinned-tab.svg" color="#fc4d50"><link rel="shortcut icon" href="/jekyll-TeXt-theme/assets/favicon.ico">
17+
<link rel="canonical" href="https://kitian616.github.io/jekyll-TeXt-theme/archive.html"><link rel="alternate" type="application/rss+xml" title="TeXt Theme" href="/jekyll-TeXt-theme/feed.xml"><!-- start favicons snippet, use https://realfavicongenerator.net/ --><link rel="apple-touch-icon" sizes="180x180" href="/jekyll-TeXt-theme/assets/apple-touch-icon.png"><link rel="icon" type="image/png" sizes="32x32" href="/jekyll-TeXt-theme/assets/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="/jekyll-TeXt-theme/assets/favicon-16x16.png"><link rel="manifest" href="/jekyll-TeXt-theme/assets/site.webmanifest"><link rel="mask-icon" href="/jekyll-TeXt-theme/assets/safari-pinned-tab.svg" color="#fc4d50"><link rel="shortcut icon" href="/jekyll-TeXt-theme/assets/favicon.ico">
1818

1919
<meta name="msapplication-TileColor" content="#ffc40d"><meta name="msapplication-config" content="/jekyll-TeXt-theme/assets/browserconfig.xml">
2020

@@ -149,7 +149,7 @@
149149
var createNode = function(name, attrs) {
150150
var node = doc.createElement(name), attr;
151151
for (attr in attrs) {
152-
if (attrs.hasOwnProperty(attr)) {
152+
if (Object.prototype.hasOwnProperty.call(attrs, attr)) {
153153
node.setAttribute(attr, attrs[attr]);
154154
}
155155
}
@@ -330,7 +330,7 @@
330330
</li><li><button type="button" class="button button--pill tag-button tag-button-1" data-encode="%5C%7C%3B%3A">
331331
<span>\|;:</span><div class="tag-button__count">1</div>
332332
</button>
333-
</li><li><button type="button" class="button button--pill tag-button tag-button-1" data-encode="%7E%60%21%40">
333+
</li><li><button type="button" class="button button--pill tag-button tag-button-1" data-encode="~%60%21%40">
334334
<span>~`!@</span><div class="tag-button__count">1</div>
335335
</button>
336336
</li><li><button type="button" class="button button--pill tag-button tag-button-1" data-encode="%C2%AE%E2%98%83%EF%B8%8E%E2%8C%98%E2%9C%89%EF%B8%8E">
@@ -389,7 +389,7 @@
389389
<div class="item__content"><span class="item__meta">May 02</span><a itemprop="headline" class="item__header" href="/jekyll-TeXt-theme/post/2016/05/02/horizontal-rules.html">Jekyll - Horizontal Rules</a></div>
390390
</li></ul></section><section><h2 class="article-list__group-header">2015</h2><ul class="items"><li class="item" itemscope itemtype="http://schema.org/BlogPosting" data-tags="Test">
391391
<div class="item__content"><span class="item__meta">Feb 02</span><a itemprop="headline" class="item__header" href="/jekyll-TeXt-theme/post/2015/02/02/very-long-title.html">Test - Very Very Very Very Very Very Very Very Very Very Very Very Very Extremely Completely Extraordinary Long Long Long Long Title</a></div>
392-
</li><li class="item" itemscope itemtype="http://schema.org/BlogPosting" data-tags="Test,S+P+A+C+E,%7E%60%21%40,%23%24%25%5E,%26%2A%28%29,-%3D_%2B,%5B%5D%7B%7D,%5C%7C%3B%3A,%2C.%3C%3E,%3F%2F%27%22,%CE%B1%CE%B2%CE%B3%CE%B4,%C3%81%C3%80%C3%82%C3%84%C3%83%C4%84%C3%86,%C2%AE%E2%98%83%EF%B8%8E%E2%8C%98%E2%9C%89%EF%B8%8E,%F0%9F%98%82%F0%9F%A4%A3%F0%9F%91%BB%F0%9F%91%BD">
392+
</li><li class="item" itemscope itemtype="http://schema.org/BlogPosting" data-tags="Test,S+P+A+C+E,~%60%21%40,%23%24%25%5E,%26%2A%28%29,-%3D_%2B,%5B%5D%7B%7D,%5C%7C%3B%3A,%2C.%3C%3E,%3F%2F%27%22,%CE%B1%CE%B2%CE%B3%CE%B4,%C3%81%C3%80%C3%82%C3%84%C3%83%C4%84%C3%86,%C2%AE%E2%98%83%EF%B8%8E%E2%8C%98%E2%9C%89%EF%B8%8E,%F0%9F%98%82%F0%9F%A4%A3%F0%9F%91%BB%F0%9F%91%BD">
393393
<div class="item__content"><span class="item__meta">Jan 06</span><a itemprop="headline" class="item__header" href="/jekyll-TeXt-theme/post/2015/01/06/punctuation-characters'.html">Test - ~`!@ #$%^ &*() -=_+ []{} \|;: ,.<> ?/'" αβγδ ÁÀÂÄÃĄÆ ®☃︎⌘✉︎ 😂🤣👻👽</a></div>
394394
</li><li class="item" itemscope itemtype="http://schema.org/BlogPosting" data-tags="Test">
395395
<div class="item__content"><span class="item__meta">Jan 03</span><a itemprop="headline" class="item__header" href="/jekyll-TeXt-theme/post/2015/01/03/article-with-lots-images.html">Test - Article with Lots of Images</a></div>
@@ -404,7 +404,7 @@
404404
function queryString() {
405405
// This function is anonymous, is executed immediately and
406406
// the return value is assigned to QueryString!
407-
var i = 0, queryObj = {}, pair;
407+
var i, queryObj = {}, pair;
408408
var queryStr = window.location.search.substring(1);
409409
var queryArr = queryStr.split('&');
410410
for (i = 0; i < queryArr.length; i++) {
@@ -596,7 +596,7 @@
596596
</div>
597597
</div>
598598
</div><div class="site-info mt-2">
599-
<div>© TeXt Theme 2021,
599+
<div>© TeXt Theme 2026,
600600
Powered by <a title="Jekyll is a simple, blog-aware, static site generator." href="http://jekyllrb.com/">Jekyll</a> & <a
601601
title="TeXt is a super customizable Jekyll theme." href="https://github.com/kitian616/jekyll-TeXt-theme">TeXt Theme</a>.
602602
</div>
@@ -685,7 +685,7 @@
685685

686686
var $searchBox = null;
687687
var $searchInput = null;
688-
var $searchClear = null;
688+
var $searchClear;
689689

690690
function getModalVisible() {
691691
return modalVisible;

0 commit comments

Comments
 (0)