Skip to content

Commit a1daa62

Browse files
committed
test: init
1 parent 3ec8e41 commit a1daa62

File tree

366 files changed

+17204
-0
lines changed

Some content is hidden

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

366 files changed

+17204
-0
lines changed

.devcontainer/devcontainer.json

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
{
2+
"name": "Jekyll",
3+
"image": "mcr.microsoft.com/devcontainers/jekyll:2-bullseye",
4+
"onCreateCommand": "git config --global --add safe.directory ${containerWorkspaceFolder}",
5+
"postCreateCommand": "bash .devcontainer/post-create.sh",
6+
"customizations": {
7+
"vscode": {
8+
"settings": {
9+
"terminal.integrated.defaultProfile.linux": "zsh"
10+
},
11+
"extensions": [
12+
// Liquid tags auto-complete
13+
"killalau.vscode-liquid-snippets",
14+
// Liquid syntax highlighting and formatting
15+
"Shopify.theme-check-vscode",
16+
// Shell
17+
"timonwong.shellcheck",
18+
"mkhl.shfmt",
19+
// Common formatter
20+
"EditorConfig.EditorConfig",
21+
"esbenp.prettier-vscode",
22+
"stylelint.vscode-stylelint",
23+
"yzhang.markdown-all-in-one",
24+
// Git
25+
"mhutchie.git-graph"
26+
]
27+
}
28+
}
29+
}

.devcontainer/post-create.sh

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
#!/usr/bin/env bash
2+
3+
if [ -f package.json ]; then
4+
bash -i -c "nvm install --lts && nvm install-latest-npm"
5+
npm i
6+
npm run build
7+
fi
8+
9+
# Install dependencies for shfmt extension
10+
curl -sS https://webi.sh/shfmt | sh &>/dev/null
11+
12+
# Add OMZ plugins
13+
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting
14+
git clone https://github.com/zsh-users/zsh-autosuggestions ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions
15+
sed -i -E "s/^(plugins=\()(git)(\))/\1\2 zsh-syntax-highlighting zsh-autosuggestions\3/" ~/.zshrc
16+
17+
# Avoid git log use less
18+
echo -e "\nunset LESS" >>~/.zshrc

.editorconfig

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
root = true
2+
3+
[*]
4+
charset = utf-8
5+
indent_style = space
6+
indent_size = 2
7+
trim_trailing_whitespace = true
8+
# Unix-style newlines with a newline ending every file
9+
end_of_line = lf
10+
insert_final_newline = true
11+
12+
[*.{js,css,scss}]
13+
quote_type = single
14+
15+
[*.{yml,yaml}]
16+
quote_type = double
17+
18+
[*.md]
19+
trim_trailing_whitespace = false

.gitattributes

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Set default behavior to automatically normalize line endings.
2+
* text=auto
3+
4+
# Force bash scripts to always use LF line endings so that if a repo is accessed
5+
# in Unix via a file share from Windows, the scripts will work.
6+
*.sh text eol=lf
7+
8+
# Force batch scripts to always use CRLF line endings so that if a repo is accessed
9+
# in Windows via a file share from Linux, the scripts will work.
10+
*.{cmd,[cC][mM][dD]} text eol=crlf
11+
*.{bat,[bB][aA][tT]} text eol=crlf
12+
13+
# Denote all files that are truly binary and should not be modified.
14+
*.png binary
15+
*.jpg binary
16+
*.ico binary

.gitignore

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# Bundler cache
2+
.bundle
3+
vendor
4+
Gemfile.lock
5+
6+
# Jekyll cache
7+
.jekyll-cache
8+
.jekyll-metadata
9+
_site
10+
11+
# RubyGems
12+
*.gem
13+
14+
# NPM dependencies
15+
node_modules
16+
package-lock.json
17+
18+
# IDE configurations
19+
.idea
20+
.vscode/*
21+
!.vscode/settings.json
22+
!.vscode/extensions.json
23+
!.vscode/tasks.json
24+
25+
# Misc

.gitmodules

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[submodule "assets/lib"]
2+
path = assets/lib
3+
url = https://github.com/cotes2020/chirpy-static-assets.git

.husky/commit-msg

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
npx --no -- commitlint --edit $1

.markdownlint.json

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"commands-show-output": false,
3+
"blanks-around-fences": false,
4+
"line-length": false,
5+
"no-inline-html": {
6+
"allowed_elements": ["kbd", "sub"]
7+
}
8+
}

.nojekyll

Whitespace-only changes.

.stylelintrc.json

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
{
2+
"ignoreFiles": ["_sass/vendors/**"],
3+
"extends": "stylelint-config-standard-scss",
4+
"rules": {
5+
"no-descending-specificity": null,
6+
"shorthand-property-no-redundant-values": null,
7+
"at-rule-no-vendor-prefix": null,
8+
"property-no-vendor-prefix": null,
9+
"selector-no-vendor-prefix": null,
10+
"value-no-vendor-prefix": null,
11+
"color-function-notation": "legacy",
12+
"alpha-value-notation": "number",
13+
"selector-not-notation": "simple",
14+
"color-hex-length": "long",
15+
"declaration-block-single-line-max-declarations": 3,
16+
"scss/operator-no-newline-after": null,
17+
"rule-empty-line-before": [
18+
"always",
19+
{
20+
"ignore": ["after-comment", "first-nested"]
21+
}
22+
],
23+
"value-keyword-case": [
24+
"lower",
25+
{
26+
"ignoreProperties": ["/^\\$/"]
27+
}
28+
],
29+
"media-feature-range-notation": "prefix"
30+
}
31+
}

.vscode/extensions.json

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"recommendations": ["ms-vscode-remote.remote-containers"]
3+
}

.vscode/settings.json

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
{
2+
// Prettier
3+
"editor.defaultFormatter": "esbenp.prettier-vscode",
4+
"editor.formatOnSave": true,
5+
// Shopify Liquid
6+
"files.associations": {
7+
"*.html": "liquid"
8+
},
9+
"[markdown]": {
10+
"editor.defaultFormatter": "yzhang.markdown-all-in-one"
11+
},
12+
// Formatter
13+
"[html][liquid]": {
14+
"editor.defaultFormatter": "Shopify.theme-check-vscode"
15+
},
16+
"[shellscript]": {
17+
"editor.defaultFormatter": "mkhl.shfmt"
18+
},
19+
// Disable vscode built-in stylelint
20+
"css.validate": false,
21+
"scss.validate": false,
22+
"less.validate": false,
23+
// Stylint extension settings
24+
"stylelint.snippet": ["css", "scss"],
25+
"stylelint.validate": ["css", "scss"],
26+
// Run tasks in macOS
27+
"terminal.integrated.profiles.osx": {
28+
"zsh": { "path": "/bin/zsh", "args": ["-l", "-i"] }
29+
}
30+
}

.vscode/tasks.json

+64
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
{
2+
"version": "2.0.0",
3+
"tasks": [
4+
{
5+
"label": "Run Jekyll Server",
6+
"type": "shell",
7+
"command": "./tools/run.sh",
8+
"group": {
9+
"kind": "build",
10+
"isDefault": true
11+
},
12+
"problemMatcher": [],
13+
"detail": "Runs the Jekyll server with live reload."
14+
},
15+
{
16+
"label": "Build Jekyll Site",
17+
"type": "shell",
18+
"command": "./tools/test.sh",
19+
"group": {
20+
"kind": "build"
21+
},
22+
"problemMatcher": [],
23+
"detail": "Build the Jekyll site for production."
24+
},
25+
{
26+
"label": "Build JS (watch)",
27+
"type": "shell",
28+
"command": "npm run watch:js",
29+
"group": {
30+
"kind": "build"
31+
},
32+
"problemMatcher": [],
33+
"detail": "Build JS files in watch mode."
34+
},
35+
{
36+
"label": "Build CSS",
37+
"type": "shell",
38+
"command": "npm run build:css",
39+
"group": {
40+
"kind": "build"
41+
},
42+
"problemMatcher": [],
43+
"detail": "Build CSS files."
44+
},
45+
{
46+
"label": "Build JS & CSS",
47+
"type": "shell",
48+
"command": "npm run build",
49+
"group": {
50+
"kind": "build"
51+
},
52+
"problemMatcher": [],
53+
"detail": "Build JS & CSS for production."
54+
},
55+
{
56+
"label": "Run Jekyll Server + Build JS (watch)",
57+
"dependsOn": ["Run Jekyll Server", "Build JS (watch)"],
58+
"group": {
59+
"kind": "build"
60+
},
61+
"detail": "Runs both the Jekyll server with live reload and build JS files in watch mode."
62+
}
63+
]
64+
}

Gemfile

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# frozen_string_literal: true
2+
3+
source "https://rubygems.org"
4+
5+
gemspec
6+
7+
gem "html-proofer", "~> 5.0", group: :test
8+
9+
platforms :mingw, :x64_mingw, :mswin, :jruby do
10+
gem "tzinfo", ">= 1", "< 3"
11+
gem "tzinfo-data"
12+
end
13+
14+
gem "wdm", "~> 0.2.0", :platforms => [:mingw, :x64_mingw, :mswin]

LICENSE

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
The MIT License (MIT)
2+
3+
Copyright (c) 2019 Cotes Chung
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

+84
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
<!-- markdownlint-disable-next-line -->
2+
<div align="center">
3+
4+
<!-- markdownlint-disable-next-line -->
5+
# Chirpy Jekyll Theme
6+
7+
A minimal, responsive, and feature-rich Jekyll theme for technical writing.
8+
9+
[![CI](https://img.shields.io/github/actions/workflow/status/cotes2020/jekyll-theme-chirpy/ci.yml?logo=github)][ci]&nbsp;
10+
[![Codacy Badge](https://img.shields.io/codacy/grade/4e556876a3c54d5e8f2d2857c4f43894?logo=codacy)][codacy]&nbsp;
11+
[![GitHub license](https://img.shields.io/github/license/cotes2020/jekyll-theme-chirpy?color=goldenrod)][license]&nbsp;
12+
[![Gem Version](https://img.shields.io/gem/v/jekyll-theme-chirpy?&logo=RubyGems&logoColor=ghostwhite&label=gem&color=orange)][gem]&nbsp;
13+
[![Open in Dev Containers](https://img.shields.io/badge/Dev_Containers-Open-deepskyblue?logo=linuxcontainers)][open-container]
14+
15+
[**Live Demo**][demo]
16+
17+
[![Devices Mockup](https://chirpy-img.netlify.app/commons/devices-mockup.png)][demo]
18+
19+
</div>
20+
21+
## Features
22+
23+
- Dark Theme
24+
- Localized UI language
25+
- Pinned Posts on Home Page
26+
- Hierarchical Categories
27+
- Trending Tags
28+
- Table of Contents
29+
- Last Modified Date
30+
- Syntax Highlighting
31+
- Mathematical Expressions
32+
- Mermaid Diagrams & Flowcharts
33+
- Dark Mode Images
34+
- Embed Media
35+
- Comment Systems
36+
- Built-in Search
37+
- Atom Feeds
38+
- PWA
39+
- Web Analytics
40+
- SEO & Performance Optimization
41+
42+
## Documentation
43+
44+
To learn how to use, develop, and upgrade the project, please refer to the [Wiki][wiki].
45+
46+
## Contributing
47+
48+
Contributions (_pull requests_, _issues_, and _discussions_) are what make the open-source community such an amazing place
49+
to learn, inspire, and create. Any contributions you make are greatly appreciated.
50+
For details, see the "[Contributing Guidelines][contribute-guide]".
51+
52+
## Credits
53+
54+
### Contributors
55+
56+
Thanks to [all the contributors][contributors] involved in the development of the project!
57+
58+
[![all-contributors](https://contrib.rocks/image?repo=cotes2020/jekyll-theme-chirpy&columns=16)][contributors]
59+
<sub> — Made with [contrib.rocks](https://contrib.rocks)</sub>
60+
61+
### Third-Party Assets
62+
63+
This project is built on the [Jekyll][jekyllrb] ecosystem and some [great libraries][lib], and is developed using [VS Code][vscode] as well as tools provided by [JetBrains][jetbrains] under a non-commercial open-source software license.
64+
65+
The avatar and favicon for the project's website are from [ClipartMAX][clipartmax].
66+
67+
## License
68+
69+
This project is published under [MIT License][license].
70+
71+
[gem]: https://rubygems.org/gems/jekyll-theme-chirpy
72+
[ci]: https://github.com/cotes2020/jekyll-theme-chirpy/actions/workflows/ci.yml?query=event%3Apush+branch%3Amaster
73+
[codacy]: https://app.codacy.com/gh/cotes2020/jekyll-theme-chirpy/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade
74+
[license]: https://github.com/cotes2020/jekyll-theme-chirpy/blob/master/LICENSE
75+
[open-container]: https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/cotes2020/jekyll-theme-chirpy
76+
[jekyllrb]: https://jekyllrb.com/
77+
[clipartmax]: https://www.clipartmax.com/middle/m2i8b1m2K9Z5m2K9_ant-clipart-childrens-ant-cute/
78+
[demo]: https://cotes2020.github.io/chirpy-demo/
79+
[wiki]: https://github.com/cotes2020/jekyll-theme-chirpy/wiki
80+
[contribute-guide]: https://github.com/cotes2020/jekyll-theme-chirpy/blob/master/docs/CONTRIBUTING.md
81+
[contributors]: https://github.com/cotes2020/jekyll-theme-chirpy/graphs/contributors
82+
[lib]: https://github.com/cotes2020/chirpy-static-assets
83+
[vscode]: https://code.visualstudio.com/
84+
[jetbrains]: https://www.jetbrains.com/?from=jekyll-theme-chirpy

0 commit comments

Comments
 (0)