techdoc-jekyll-theme 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +59 -0
- data/_config.yml +10 -0
- data/_layouts/default.html +36 -0
- data/_layouts/post.html +9 -0
- data/assets/css/hljs-theme.css +154 -0
- data/assets/css/style.css +187 -0
- metadata +10 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a3c688960f266201e3158ce41c84054f7547d0c6f0e0a6596b43acab049826e9
|
4
|
+
data.tar.gz: b0321c11924bc08fc96bf757d9ac7abcfda31d2314054fce0fbab7cee7408f8e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 70a28c479215cfd9abb0b7a6e82402167df013fdf4b55cc1612f978e2da558861f7eddfd6b2dd84fe64962cb00c45806da4f0e0f056602de350b35f70494c6de
|
7
|
+
data.tar.gz: 5147e2c81f4b30fad653796f2f49d8ab4501cd10bb96027b5df882fdecc7a733b5ddc30400ba58e49f391f010675644db10a0b4eb048bbee78b732e38be6f805
|
data/README.md
ADDED
@@ -0,0 +1,59 @@
|
|
1
|
+
# TechDoc
|
2
|
+
|
3
|
+
## About
|
4
|
+
|
5
|
+
TechDoc is a Jekyll theme designed for writing technical documentation. The templates that come with it are very minimal, so you can quickly get started writing documentation.
|
6
|
+
|
7
|
+
## Installation
|
8
|
+
|
9
|
+
Add this line to your Jekyll site's `Gemfile`:
|
10
|
+
|
11
|
+
```ruby
|
12
|
+
gem "techdoc"
|
13
|
+
```
|
14
|
+
|
15
|
+
And add this line to your Jekyll site's `_config.yml`:
|
16
|
+
|
17
|
+
```yaml
|
18
|
+
theme: techdoc
|
19
|
+
```
|
20
|
+
|
21
|
+
And then execute:
|
22
|
+
|
23
|
+
$ bundle
|
24
|
+
|
25
|
+
Or install it yourself as:
|
26
|
+
|
27
|
+
$ gem install techdoc
|
28
|
+
|
29
|
+
## Usage
|
30
|
+
|
31
|
+
Once you've installed the theme using the instructions above, you can start writing technical documentation right away by creating a new `.markdown` file in the `/posts` folder. The file should be named `year-month-day-title.markdown`, and the beginning of the file should look something like this:
|
32
|
+
|
33
|
+
```markdown
|
34
|
+
---
|
35
|
+
title: <title>
|
36
|
+
layout: post
|
37
|
+
---
|
38
|
+
```
|
39
|
+
|
40
|
+
Once you've got that, you can start writing away! A quick reference on writing content in Markdown can be found [here](https://kramdown.gettalong.org/quickref.html).
|
41
|
+
|
42
|
+
For a more in-depth tutorial, visit the the theme demo.
|
43
|
+
|
44
|
+
## Contributing
|
45
|
+
|
46
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/jianmin-chen/techdoc. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
|
47
|
+
|
48
|
+
## Development
|
49
|
+
|
50
|
+
To set up your environment to develop this theme, run `bundle install`.
|
51
|
+
|
52
|
+
Your theme is setup just like a normal Jekyll site! To test your theme, run `bundle exec jekyll serve` and open your browser at `http://localhost:4000`. This starts a Jekyll server using your theme. Add pages, documents, data, etc. like normal to test your theme's contents. As you make modifications to your theme and to your content, your site will regenerate and you should see the changes in the browser after a refresh, just like normal.
|
53
|
+
|
54
|
+
When your theme is released, only the files in `_layouts`, `_includes`, `_sass` and `assets` tracked with Git will be bundled.
|
55
|
+
To add a custom directory to your theme-gem, please edit the regexp in `techdoc.gemspec` accordingly.
|
56
|
+
|
57
|
+
## License
|
58
|
+
|
59
|
+
The theme is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
|
data/_config.yml
ADDED
@@ -0,0 +1,10 @@
|
|
1
|
+
author: Jianmin Chen
|
2
|
+
baseurl: "/techdoc"
|
3
|
+
github_username: jianmin-chen
|
4
|
+
library_name: TechDoc
|
5
|
+
library_description: >-
|
6
|
+
Jekyll theme for writing technical documentation
|
7
|
+
url: "https://jianmin-chen.github.io"
|
8
|
+
plugins_dir:
|
9
|
+
-jekyll-remote-theme
|
10
|
+
remote_theme: jianmin-chen/techdoc
|
@@ -0,0 +1,36 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html lang="{{ site.lang | default: "en-US" }}">
|
3
|
+
<head>
|
4
|
+
<title>{{ site.library_name | default: "Library" }} | {{ page.title | default: "Documentation" }}</title>
|
5
|
+
<meta charset="UTF-8">
|
6
|
+
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
7
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
8
|
+
<link rel="stylesheet" href="{{ "/assets/css/style.css?v=" | append:site.github.build_revision | relative_url }}">
|
9
|
+
<script src="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@10.7.1/build/highlight.min.js"></script>
|
10
|
+
<script>hljs.highlightAll();</script>
|
11
|
+
</head>
|
12
|
+
<body>
|
13
|
+
<div class="row">
|
14
|
+
<nav class="col menu">
|
15
|
+
<div class="menu-content">
|
16
|
+
<h1 class="display-1"><a href="{{ "/" | absolute_url }}">{{ site.library_name }}</a></h1>
|
17
|
+
<p class="text-muted">{{ site.library_description }}</p>
|
18
|
+
<!-- Pages -->
|
19
|
+
{%- if site.posts.size > 0 -%}
|
20
|
+
{%- for post in site.posts -%}
|
21
|
+
<a class="nav-link" href="{{ post.url | relative_url }}">{{ post.title | escape }}</a>
|
22
|
+
{%- endfor -%}
|
23
|
+
{%- endif -%}
|
24
|
+
</div>
|
25
|
+
</nav>
|
26
|
+
<div class="col content-container">
|
27
|
+
<div class="content">{{ content }}</div>
|
28
|
+
{%- if site.author -%}
|
29
|
+
<footer class="footer">Made with ♥ by <a href="{{ "https://github.com/" | append:site.github_username | relative_url | default: "#" }}">{{ site.author }}</a>.</footer>
|
30
|
+
{%- else -%}
|
31
|
+
<footer class="footer">Made with ♥.</footer>
|
32
|
+
{%- endif -%}
|
33
|
+
</div>
|
34
|
+
</div>
|
35
|
+
</body>
|
36
|
+
</html>
|
data/_layouts/post.html
ADDED
@@ -0,0 +1,154 @@
|
|
1
|
+
.hljs {
|
2
|
+
background: #2e3440;
|
3
|
+
display: block;
|
4
|
+
overflow-x: auto;
|
5
|
+
padding: 0.5em;
|
6
|
+
}
|
7
|
+
|
8
|
+
.hljs, .hljs-subst {color: #d8dee9;}
|
9
|
+
|
10
|
+
.hljs-selector-tag {color: #81a1c1;}
|
11
|
+
|
12
|
+
.hljs-selector-id {
|
13
|
+
color: #8fbcbb;
|
14
|
+
font-weight: 700;
|
15
|
+
}
|
16
|
+
|
17
|
+
.hljs-selector-class {color: #8fbcbb;}
|
18
|
+
|
19
|
+
.hljs-selector-attr {color: #8fbcbb;}
|
20
|
+
|
21
|
+
.hljs-selector-pseudo {color: #88c0d0;}
|
22
|
+
|
23
|
+
.hljs-addition {background-color: rgba(163,190,140,.5);}
|
24
|
+
|
25
|
+
.hljs-deletion {background-color: rgba(191,97,106,.5);}
|
26
|
+
|
27
|
+
.hljs-built_in,.hljs-type {color: #8fbcbb;}
|
28
|
+
|
29
|
+
.hljs-class {color: #8fbcbb;}
|
30
|
+
|
31
|
+
.hljs-function {color: #88c0d0;}
|
32
|
+
|
33
|
+
.hljs-function > .hljs-title {color: #88c0d0;}
|
34
|
+
|
35
|
+
.hljs-keyword, .hljs-literal, .hljs-symbol {color: #81a1c1;}
|
36
|
+
|
37
|
+
.hljs-number {color: #b48ead;}
|
38
|
+
|
39
|
+
.hljs-regexp {color: #ebcb8b;}
|
40
|
+
|
41
|
+
.hljs-string {color: #a3be8c;}
|
42
|
+
|
43
|
+
.hljs-title {color: #8fbcbb;}
|
44
|
+
|
45
|
+
.hljs-params {color: #d8dee9;}
|
46
|
+
|
47
|
+
.hljs-bullet {color: #81a1c1;}
|
48
|
+
|
49
|
+
.hljs-code {color: #8fbcbb;}
|
50
|
+
|
51
|
+
.hljs-emphasis {font-style: italic;}
|
52
|
+
|
53
|
+
.hljs-formula {color: #8fbcbb;}
|
54
|
+
|
55
|
+
.hljs-strong {font-weight: 700;}
|
56
|
+
|
57
|
+
.hljs-link:hover {text-decoration: underline;}
|
58
|
+
|
59
|
+
.hljs-quote {color: #4c566a;}
|
60
|
+
|
61
|
+
.hljs-comment {color: #4c566a;}
|
62
|
+
|
63
|
+
.hljs-doctag {color: #8fbcbb;}
|
64
|
+
|
65
|
+
.hljs-meta, .hljs-meta-keyword {color: #5e81ac;}
|
66
|
+
|
67
|
+
.hljs-meta-string {color: #a3be8c;}
|
68
|
+
|
69
|
+
.hljs-attr {color: #8fbcbb;}
|
70
|
+
|
71
|
+
.hljs-attribute {color: #d8dee9;}
|
72
|
+
|
73
|
+
.hljs-builtin-name {color: #81a1c1;}
|
74
|
+
|
75
|
+
.hljs-name {color: #81a1c1;}
|
76
|
+
|
77
|
+
.hljs-section {color: #88c0d0;}
|
78
|
+
|
79
|
+
.hljs-tag {color: #81a1c1;}
|
80
|
+
|
81
|
+
.hljs-variable {color: #d8dee9;}
|
82
|
+
|
83
|
+
.hljs-template-variable {color: #d8dee9;}
|
84
|
+
|
85
|
+
.hljs-template-tag {color: #5e81ac;}
|
86
|
+
|
87
|
+
.abnf .hljs-attribute {color: #88c0d0;}
|
88
|
+
|
89
|
+
.abnf .hljs-symbol {color: #ebcb8b;}
|
90
|
+
|
91
|
+
.apache .hljs-attribute {color: #88c0d0;}
|
92
|
+
|
93
|
+
.apache .hljs-section {color: #81a1c1;}
|
94
|
+
|
95
|
+
.arduino .hljs-built_in {color: #88c0d0;}
|
96
|
+
|
97
|
+
.aspectj .hljs-meta {color: #d08770;}
|
98
|
+
|
99
|
+
.aspectj > .hljs-title {color: #88c0d0;}
|
100
|
+
|
101
|
+
.bnf .hljs-attribute {color: #8fbcbb;}
|
102
|
+
|
103
|
+
.clojure .hljs-name {color: #88c0d0;}
|
104
|
+
|
105
|
+
.clojure .hljs-symbol {color: #ebcb8b;}
|
106
|
+
|
107
|
+
.coq .hljs-built_in {color: #88c0d0;}
|
108
|
+
|
109
|
+
.cpp .hljs-meta-string {color: #8fbcbb;}
|
110
|
+
|
111
|
+
.css .hljs-built_in {color: #88c0d0;}
|
112
|
+
|
113
|
+
.css .hljs-keyword {color: #d08770;}
|
114
|
+
|
115
|
+
.diff .hljs-meta {color: #8fbcbb;}
|
116
|
+
|
117
|
+
.ebnf .hljs-attribute {color: #8fbcbb;}
|
118
|
+
|
119
|
+
.glsl .hljs-built_in {color: #88c0d0;}
|
120
|
+
|
121
|
+
.groovy .hljs-meta:not(:first-child) {color: #d08770;}
|
122
|
+
|
123
|
+
.haxe .hljs-meta {color: #d08770;}
|
124
|
+
|
125
|
+
.java .hljs-meta {color: #d08770;}
|
126
|
+
|
127
|
+
.ldif .hljs-attribute {color: #8fbcbb;}
|
128
|
+
|
129
|
+
.lisp .hljs-name {color: #88c0d0;}
|
130
|
+
|
131
|
+
.lua .hljs-built_in {color: #88c0d0;}
|
132
|
+
|
133
|
+
.moonscript .hljs-built_in {color: #88c0d0;}
|
134
|
+
|
135
|
+
.nginx .hljs-attribute{color: #88c0d0}
|
136
|
+
|
137
|
+
.nginx .hljs-section {color: #5e81ac;}
|
138
|
+
|
139
|
+
.pf .hljs-built_in {color:#88c0d0;}
|
140
|
+
|
141
|
+
.processing .hljs-built_in {color: #88c0d0;}
|
142
|
+
|
143
|
+
.scss .hljs-keyword {color: #81a1c1;}
|
144
|
+
|
145
|
+
.stylus .hljs-keyword {color: #81a1c1;}
|
146
|
+
|
147
|
+
.swift .hljs-meta {color: #d08770;}
|
148
|
+
|
149
|
+
.vim .hljs-built_in {
|
150
|
+
color: #88c0d0;
|
151
|
+
font-style:italic;
|
152
|
+
}
|
153
|
+
|
154
|
+
.yaml .hljs-meta {color: #d08770;}
|
@@ -0,0 +1,187 @@
|
|
1
|
+
/* Import Google Fonts */
|
2
|
+
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans:wght@400;700&family=Open+Sans:wght@400;700&display=swap');
|
3
|
+
|
4
|
+
/* Import highlight.js theme */
|
5
|
+
@import "hljs-theme.css";
|
6
|
+
|
7
|
+
:root {
|
8
|
+
--main-theme-color: #273036;
|
9
|
+
--text-color: #6c757d;
|
10
|
+
}
|
11
|
+
|
12
|
+
* {
|
13
|
+
-webkit-box-sizing: border-box;
|
14
|
+
box-sizing: border-box;
|
15
|
+
}
|
16
|
+
|
17
|
+
/*
|
18
|
+
* Basic setup for body
|
19
|
+
*/
|
20
|
+
body, html {
|
21
|
+
font-family: "Noto Sans", sans-serif;
|
22
|
+
margin: 0;
|
23
|
+
padding: 0;
|
24
|
+
min-height: 100vh;
|
25
|
+
}
|
26
|
+
|
27
|
+
img {width: 100%;}
|
28
|
+
|
29
|
+
/*
|
30
|
+
* Basic typography setup
|
31
|
+
*/
|
32
|
+
a {
|
33
|
+
color: var(--text-color);
|
34
|
+
font-size: 0.95rem;
|
35
|
+
margin: 5px 0;
|
36
|
+
text-decoration: none;
|
37
|
+
-webkit-transition: opacity 0.2s;
|
38
|
+
-o-transition: opacity 0.2s;
|
39
|
+
transition: opacity 0.2s;
|
40
|
+
}
|
41
|
+
a:hover {opacity: 0.8;}
|
42
|
+
|
43
|
+
.display-1 {margin: 4rem 0;}
|
44
|
+
.display-1 a {
|
45
|
+
color: white;
|
46
|
+
display: block;
|
47
|
+
font-size: 5rem;
|
48
|
+
}
|
49
|
+
|
50
|
+
.text-muted {color: #6c757d;}
|
51
|
+
|
52
|
+
/*
|
53
|
+
* Flex layout
|
54
|
+
*/
|
55
|
+
.row {
|
56
|
+
display: -webkit-box;
|
57
|
+
display: -ms-flexbox;
|
58
|
+
display: flex;
|
59
|
+
}
|
60
|
+
|
61
|
+
/*
|
62
|
+
* Styles for menu
|
63
|
+
*/
|
64
|
+
.menu {
|
65
|
+
background-color: var(--main-theme-color);
|
66
|
+
-webkit-box-flex: 1;
|
67
|
+
-ms-flex: 1;
|
68
|
+
flex: 1;
|
69
|
+
}
|
70
|
+
|
71
|
+
.menu .menu-content {
|
72
|
+
color: white;
|
73
|
+
font-size: 1.2rem;
|
74
|
+
padding: 45px;
|
75
|
+
position: -webkit-sticky;
|
76
|
+
position: sticky;
|
77
|
+
top: 0;
|
78
|
+
left: 0;
|
79
|
+
}
|
80
|
+
|
81
|
+
/* Navigation links */
|
82
|
+
.menu .nav-link {
|
83
|
+
color: white;
|
84
|
+
display: block;
|
85
|
+
}
|
86
|
+
|
87
|
+
/*
|
88
|
+
* Styles for content
|
89
|
+
*/
|
90
|
+
.content-container {
|
91
|
+
-webkit-box-flex: 2;
|
92
|
+
-ms-flex: 2;
|
93
|
+
flex: 2;
|
94
|
+
padding: 45px;
|
95
|
+
}
|
96
|
+
|
97
|
+
.content {
|
98
|
+
color: #242526;
|
99
|
+
line-height: 1.5;
|
100
|
+
font-family: "Open Sans", sans-serif;
|
101
|
+
}
|
102
|
+
|
103
|
+
.content a {font-size: 0.995rem;}
|
104
|
+
|
105
|
+
.content blockquote {
|
106
|
+
border-left: 0.3rem solid var(--text-color);
|
107
|
+
color: var(--text-color);
|
108
|
+
margin: 0;
|
109
|
+
padding: 0 1rem;
|
110
|
+
}
|
111
|
+
|
112
|
+
.content dt {font-weight: 800;}
|
113
|
+
|
114
|
+
.content h1, .content h2, .content h3, .content h4, .content h5, .content h6 {
|
115
|
+
color: var(--text-color);
|
116
|
+
font-weight: 400;
|
117
|
+
margin: 15px 0;
|
118
|
+
}
|
119
|
+
.content h1 {font-size: 2.5rem;}
|
120
|
+
.content h2 {font-size: 2.4rem;}
|
121
|
+
.content h3 {font-size: 2.3rem;}
|
122
|
+
.content h4 {font-size: 2.2rem;}
|
123
|
+
.content h5 {font-size: 2.1rem;}
|
124
|
+
.content h6 {font-size: 2rem;}
|
125
|
+
|
126
|
+
.content :not(pre) > code {
|
127
|
+
color: #dc3545;
|
128
|
+
font-size: 1rem;
|
129
|
+
}
|
130
|
+
|
131
|
+
.content pre > code {
|
132
|
+
-webkit-box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4);
|
133
|
+
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4);
|
134
|
+
font-size: 0.95rem;
|
135
|
+
padding: 15px 30px;
|
136
|
+
}
|
137
|
+
|
138
|
+
.content table {
|
139
|
+
border-collapse: collapse;
|
140
|
+
overflow-x: scroll;
|
141
|
+
}
|
142
|
+
|
143
|
+
.content thead > tr, .content tr:nth-child(even) {background-color: #dee2e6;}
|
144
|
+
|
145
|
+
.content th {font-weight: 700;}
|
146
|
+
.content th, .content td {
|
147
|
+
padding: 7px 14px;
|
148
|
+
text-align: left !important;
|
149
|
+
}
|
150
|
+
|
151
|
+
/*
|
152
|
+
* Styles for footer
|
153
|
+
*/
|
154
|
+
.footer {
|
155
|
+
border-top: 1px solid #dee2e6;
|
156
|
+
color: #808080;
|
157
|
+
margin: 15px;
|
158
|
+
padding: 15px;
|
159
|
+
text-align: center;
|
160
|
+
}
|
161
|
+
|
162
|
+
/* Styling for desktop */
|
163
|
+
@media screen and (min-width: 992px) {
|
164
|
+
.menu {
|
165
|
+
-webkit-box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.7);
|
166
|
+
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.7);
|
167
|
+
min-height: 100vh;
|
168
|
+
}
|
169
|
+
}
|
170
|
+
|
171
|
+
/* Styling for mobile */
|
172
|
+
@media screen and (max-width: 991px) {
|
173
|
+
.display-1 {margin: 2rem 0;}
|
174
|
+
|
175
|
+
.row {display: block;}
|
176
|
+
|
177
|
+
.menu .menu-content {padding: 25px;}
|
178
|
+
|
179
|
+
.content-container {padding: 25px;}
|
180
|
+
|
181
|
+
.content h1 {font-size: 2rem;}
|
182
|
+
.content h2 {font-size: 1.95rem;}
|
183
|
+
.content h3 {font-size: 1.9rem;}
|
184
|
+
.content h4 {font-size: 1.85rem;}
|
185
|
+
.content h5 {font-size: 1.8rem;}
|
186
|
+
.content h6 {font-size: 1.75rem;}
|
187
|
+
}
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: techdoc-jekyll-theme
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- jianmin-chen
|
@@ -58,7 +58,13 @@ email:
|
|
58
58
|
executables: []
|
59
59
|
extensions: []
|
60
60
|
extra_rdoc_files: []
|
61
|
-
files:
|
61
|
+
files:
|
62
|
+
- README.md
|
63
|
+
- _config.yml
|
64
|
+
- _layouts/default.html
|
65
|
+
- _layouts/post.html
|
66
|
+
- assets/css/hljs-theme.css
|
67
|
+
- assets/css/style.css
|
62
68
|
homepage: https://jianmin-chen.github.io/techdoc/
|
63
69
|
licenses:
|
64
70
|
- MIT
|
@@ -81,6 +87,6 @@ requirements: []
|
|
81
87
|
rubygems_version: 3.1.2
|
82
88
|
signing_key:
|
83
89
|
specification_version: 4
|
84
|
-
summary: TechDoc is a theme designed for writing technical documentation! It's
|
85
|
-
and easy to set up.
|
90
|
+
summary: TechDoc is a Jekyll theme designed for writing technical documentation! It's
|
91
|
+
quick and easy to set up.
|
86
92
|
test_files: []
|