mirror of
https://github.com/kuohuanhuan/x-markdown-css.git
synced 2024-11-25 06:18:19 +00:00
Compare commits
46 Commits
v0.0.0-202
...
v0.0.0-202
Author | SHA1 | Date | |
---|---|---|---|
6616b76811
|
|||
8be8e8793e
|
|||
2aa806938e
|
|||
ebac47e0d7
|
|||
61079f3627
|
|||
e9c955a8f1
|
|||
3db644fa05
|
|||
ca1ccd9b4b
|
|||
f9ffa18565
|
|||
0dc71d9a54
|
|||
5fc2c0a068
|
|||
aa8823c6eb
|
|||
61b7e4ef05
|
|||
cc6bea29ef
|
|||
d95065f5d2
|
|||
1bb7e502ac
|
|||
de50484e3b
|
|||
6fbb266d10
|
|||
4bc0772d38
|
|||
3728e8325a
|
|||
016746659a
|
|||
2626938bc7
|
|||
2212a48426
|
|||
f0965419e6
|
|||
de1f09bce4
|
|||
c6ca99239e
|
|||
c0d2969d87
|
|||
2ffbf81303
|
|||
865a3d89d7
|
|||
51f21ee9a7
|
|||
9572add1e3
|
|||
5f27d24ca8
|
|||
6fbe988073
|
|||
fe0e9dfb8a
|
|||
95bbde7a39
|
|||
90657b2193
|
|||
539d3943fb
|
|||
fbdcc3b479
|
|||
945b2facaf
|
|||
abca0765ca
|
|||
a6fa7a2746
|
|||
7610344f37
|
|||
677d0606c4
|
|||
42e4afa30b
|
|||
e85ce4af9f
|
|||
08d56cfa67
|
@ -1,4 +1,4 @@
|
|||||||
# Browserslist <https://browsersl.ist>
|
# Browserslist <https://browsersl.ist>
|
||||||
|
|
||||||
defaults
|
defaults
|
||||||
since 2012
|
since 2015
|
||||||
|
56
.github/workflows/ci.yml
vendored
Normal file
56
.github/workflows/ci.yml
vendored
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
name: CI
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
# Test Lint
|
||||||
|
lint:
|
||||||
|
# Use Ubuntu 22.04
|
||||||
|
runs-on: ubuntu-22.04
|
||||||
|
steps:
|
||||||
|
# Step I
|
||||||
|
- name: Get Source Code
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
# Step II
|
||||||
|
- name: Setup Node.js
|
||||||
|
uses: actions/setup-node@v3
|
||||||
|
with:
|
||||||
|
node-version: 16
|
||||||
|
registry-url: https://registry.npmjs.org/
|
||||||
|
# Step IV
|
||||||
|
- name: Install Dependencies
|
||||||
|
run: npm ci
|
||||||
|
# Step V
|
||||||
|
- name: Lint
|
||||||
|
run: npm run lint
|
||||||
|
# Test Build
|
||||||
|
build:
|
||||||
|
# Use Ubuntu Linux, Windows and OS X
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
node-version: [ 16, 18, latest ]
|
||||||
|
os: [ ubuntu-latest, windows-latest, macos-latest ]
|
||||||
|
fail-fast: false
|
||||||
|
steps:
|
||||||
|
# Step I
|
||||||
|
- name: Get Source Code
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
# Step II
|
||||||
|
- name: Setup Node.js
|
||||||
|
uses: actions/setup-node@v3
|
||||||
|
with:
|
||||||
|
node-version: ${{ matrix.node-version }}
|
||||||
|
registry-url: https://registry.npmjs.org/
|
||||||
|
# Step III
|
||||||
|
- name: Install Dependencies
|
||||||
|
run: npm ci
|
||||||
|
# Step IV
|
||||||
|
- name: Test Build
|
||||||
|
run: npm run build
|
@ -17,18 +17,24 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
# Step II
|
# Step II
|
||||||
|
- name: Setup Node.js
|
||||||
|
uses: actions/setup-node@v3
|
||||||
|
with:
|
||||||
|
node-version: 16
|
||||||
|
registry-url: https://registry.npmjs.org/
|
||||||
|
# Step III
|
||||||
- name: Install Dependencies
|
- name: Install Dependencies
|
||||||
run: npm ci
|
run: npm ci
|
||||||
# Step III
|
# Step IV
|
||||||
- name: Build Project
|
- name: Build Project
|
||||||
run: npm run build
|
run: npm run build
|
||||||
# Step IV
|
# Step V
|
||||||
- name: Publish to NPM Registry
|
- name: Publish to NPM Registry
|
||||||
uses: JS-DevTools/npm-publish@v1
|
uses: JS-DevTools/npm-publish@v1
|
||||||
with:
|
with:
|
||||||
token: ${{ secrets.NPM_TOKEN }}
|
token: ${{ secrets.NPM_TOKEN }}
|
||||||
# Step V
|
# Step VI
|
||||||
- name: Generate changelog
|
- name: Generate Changelog
|
||||||
uses: hideoo/changelogithub-action@v1
|
run: npx changelogithub@0.12
|
||||||
with:
|
env:
|
||||||
token: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,2 +1 @@
|
|||||||
.env.local
|
|
||||||
node_modules/
|
node_modules/
|
||||||
|
3
.stylelintignore
Normal file
3
.stylelintignore
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
**/*.js
|
||||||
|
dist/*.css
|
||||||
|
node_modules
|
95
.stylelintrc
Normal file
95
.stylelintrc
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
{
|
||||||
|
"ignoreDisables": true,
|
||||||
|
"extends": "stylelint-config-standard-scss",
|
||||||
|
"plugins": [
|
||||||
|
"stylelint-scss",
|
||||||
|
"stylelint-order"
|
||||||
|
],
|
||||||
|
"rules": {
|
||||||
|
"alpha-value-notation": "number",
|
||||||
|
"at-rule-empty-line-before": null,
|
||||||
|
"block-no-empty": true,
|
||||||
|
"color-named": "never",
|
||||||
|
"color-hex-case": "lower",
|
||||||
|
"import-notation": null,
|
||||||
|
"max-nesting-depth": 5,
|
||||||
|
"number-leading-zero": "never",
|
||||||
|
"property-no-vendor-prefix": true,
|
||||||
|
"rule-empty-line-before": null,
|
||||||
|
"order/properties-alphabetical-order": null,
|
||||||
|
"order/properties-order": [
|
||||||
|
"position",
|
||||||
|
"top",
|
||||||
|
"bottom",
|
||||||
|
"right",
|
||||||
|
"left",
|
||||||
|
"display",
|
||||||
|
"align-items",
|
||||||
|
"justify-content",
|
||||||
|
"float",
|
||||||
|
"clear",
|
||||||
|
"overflow",
|
||||||
|
"overflow-x",
|
||||||
|
"overflow-y",
|
||||||
|
"margin",
|
||||||
|
"margin-top",
|
||||||
|
"margin-right",
|
||||||
|
"margin-bogttom",
|
||||||
|
"margin-left",
|
||||||
|
"padding",
|
||||||
|
"padding-top",
|
||||||
|
"padding-right",
|
||||||
|
"padding-bottom",
|
||||||
|
"padding-left",
|
||||||
|
"width",
|
||||||
|
"min-width",
|
||||||
|
"max-width",
|
||||||
|
"height",
|
||||||
|
"min-height",
|
||||||
|
"max-height",
|
||||||
|
"font-size",
|
||||||
|
"font-family",
|
||||||
|
"font-weight",
|
||||||
|
"text-align",
|
||||||
|
"text-justify",
|
||||||
|
"text-indent",
|
||||||
|
"text-overflow",
|
||||||
|
"text-decoration",
|
||||||
|
"white-space",
|
||||||
|
"color",
|
||||||
|
"background",
|
||||||
|
"background-position",
|
||||||
|
"background-repeat",
|
||||||
|
"background-size",
|
||||||
|
"background-color",
|
||||||
|
"background-clip",
|
||||||
|
"border",
|
||||||
|
"border-style",
|
||||||
|
"border-width",
|
||||||
|
"border-color",
|
||||||
|
"border-top-style",
|
||||||
|
"border-top-width",
|
||||||
|
"border-top-color",
|
||||||
|
"border-right-style",
|
||||||
|
"border-right-width",
|
||||||
|
"border-right-color",
|
||||||
|
"border-bottom-style",
|
||||||
|
"border-bottom-width",
|
||||||
|
"border-bottom-color",
|
||||||
|
"border-left-style",
|
||||||
|
"border-left-width",
|
||||||
|
"border-left-color",
|
||||||
|
"border-radius",
|
||||||
|
"opacity",
|
||||||
|
"filter",
|
||||||
|
"list-style",
|
||||||
|
"outline",
|
||||||
|
"visibility",
|
||||||
|
"z-index",
|
||||||
|
"box-shadow",
|
||||||
|
"text-shadow",
|
||||||
|
"resize",
|
||||||
|
"transition"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
5
.vscode/settings.json
vendored
5
.vscode/settings.json
vendored
@ -1,3 +1,6 @@
|
|||||||
{
|
{
|
||||||
"cSpell.enabled": false
|
"cSpell.enabled": false,
|
||||||
|
"stylelint.enable": true,
|
||||||
|
"stylelint.configFile": ".stylelintrc",
|
||||||
|
"workbench.colorCustomizations": {}
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,9 @@
|
|||||||
module.exports = (grunt) ->
|
module.exports = (grunt) ->
|
||||||
require('load-grunt-tasks')(grunt)
|
# Load Grunt Tasks
|
||||||
|
require('load-grunt-tasks') grunt
|
||||||
|
|
||||||
grunt.initConfig(
|
# Project Configuration
|
||||||
|
grunt.initConfig
|
||||||
# NPM Package Declare
|
# NPM Package Declare
|
||||||
pkg: grunt.file.readJSON('package.json')
|
pkg: grunt.file.readJSON('package.json')
|
||||||
# Sass Compile
|
# Sass Compile
|
||||||
@ -26,19 +28,23 @@ module.exports = (grunt) ->
|
|||||||
annotation: 'dist/'
|
annotation: 'dist/'
|
||||||
exp:
|
exp:
|
||||||
options:
|
options:
|
||||||
processors: [require('autoprefixer')()]
|
processors: [
|
||||||
|
require('postcss-preset-env')()
|
||||||
|
require('autoprefixer')()
|
||||||
|
]
|
||||||
src: 'dist/bundle.css'
|
src: 'dist/bundle.css'
|
||||||
dest: 'dist/bundle.css'
|
dest: 'dist/bundle.css'
|
||||||
min:
|
min:
|
||||||
options:
|
options:
|
||||||
processors: [
|
processors: [
|
||||||
|
require('postcss-preset-env')()
|
||||||
require('autoprefixer')()
|
require('autoprefixer')()
|
||||||
require('cssnano')(
|
require('cssnano')(preset: 'default')
|
||||||
preset: 'default'
|
|
||||||
)
|
|
||||||
]
|
]
|
||||||
src: 'dist/bundle.min.css'
|
src: 'dist/bundle.min.css'
|
||||||
dest: 'dist/bundle.min.css'
|
dest: 'dist/bundle.min.css'
|
||||||
)
|
# Register Grunt Tasks
|
||||||
|
grunt.registerTask 'build', [
|
||||||
grunt.registerTask('build', ['sass', 'postcss'])
|
'sass'
|
||||||
|
'postcss'
|
||||||
|
]
|
||||||
|
21
LICENSE
Normal file
21
LICENSE
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2023 kuohuanhuan and other contributors
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
2740
package-lock.json
generated
2740
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
33
package.json
33
package.json
@ -1,7 +1,21 @@
|
|||||||
{
|
{
|
||||||
"name": "x-markdown-css",
|
"name": "x-markdown-css",
|
||||||
"version": "0.0.0-20230228.3",
|
"version": "0.0.0-20230301.2",
|
||||||
"description": "A simple and customizable Markdown CSS for everyone.",
|
"description": "A simple and customizable Markdown CSS for everyone.",
|
||||||
|
"keywords": [
|
||||||
|
"markdown",
|
||||||
|
"css",
|
||||||
|
"sass",
|
||||||
|
"scss",
|
||||||
|
"coffeescript",
|
||||||
|
"grunt",
|
||||||
|
"javascript",
|
||||||
|
"postcss",
|
||||||
|
"prose",
|
||||||
|
"blog",
|
||||||
|
"article",
|
||||||
|
"documentation"
|
||||||
|
],
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
@ -14,22 +28,31 @@
|
|||||||
},
|
},
|
||||||
"homepage": "https://github.com/kuohuanhuan/x-markdown-css#readme",
|
"homepage": "https://github.com/kuohuanhuan/x-markdown-css#readme",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=14"
|
"node": ">=16"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "grunt build"
|
"build": "grunt build",
|
||||||
|
"bump": "bumpp",
|
||||||
|
"lint": "stylelint **/*.scss --config .stylelintrc",
|
||||||
|
"lint:fix": "stylelint **/*.scss --config .stylelintrc --fix"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"coffeescript": "^2.7.0",
|
||||||
"sass": "^1.58.3"
|
"sass": "^1.58.3"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@lodder/grunt-postcss": "^3.1.1",
|
"@lodder/grunt-postcss": "^3.1.1",
|
||||||
"autoprefixer": "^10.4.13",
|
"autoprefixer": "^10.4.13",
|
||||||
"coffeescript": "^2.7.0",
|
"bumpp": "^9.0.0",
|
||||||
"cssnano": "^5.1.15",
|
"cssnano": "^5.1.15",
|
||||||
"grunt": "^1.6.1",
|
"grunt": "^1.6.1",
|
||||||
"grunt-sass": "^3.1.0",
|
"grunt-sass": "^3.1.0",
|
||||||
"load-grunt-tasks": "^5.1.0",
|
"load-grunt-tasks": "^5.1.0",
|
||||||
"postcss": "^8.4.21"
|
"postcss": "^8.4.21",
|
||||||
|
"postcss-preset-env": "^8.0.1",
|
||||||
|
"stylelint": "^15.2.0",
|
||||||
|
"stylelint-config-standard-scss": "^7.0.1",
|
||||||
|
"stylelint-order": "^6.0.2",
|
||||||
|
"stylelint-scss": "^4.4.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
1
src/scss/_partial/_all.scss
Normal file
1
src/scss/_partial/_all.scss
Normal file
@ -0,0 +1 @@
|
|||||||
|
@import 'title', 'text', 'link', 'code', 'quote', 'figure', 'list', 'table', 'media';
|
35
src/scss/_partial/code.scss
Normal file
35
src/scss/_partial/code.scss
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
code {
|
||||||
|
font-size: .85rem;
|
||||||
|
font-weight: 600;
|
||||||
|
color: var(--xm-c-dark);
|
||||||
|
&::before, &::after {
|
||||||
|
content: '`';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
pre {
|
||||||
|
overflow-x: auto;
|
||||||
|
margin-top: 1.75rem;
|
||||||
|
padding-top: .85rem, 1.15rem;
|
||||||
|
font-size: .85rem;
|
||||||
|
color: var(--xm-c-pre);
|
||||||
|
line-height: 1.75;
|
||||||
|
margin-bottom: 1.75rem;
|
||||||
|
border-radius: .375rem;
|
||||||
|
code {
|
||||||
|
padding: 0;
|
||||||
|
font-size: inherit;
|
||||||
|
font-family: inherit;
|
||||||
|
font-weight: 400;
|
||||||
|
color: inherit;
|
||||||
|
background: transparent;
|
||||||
|
border-width: 0;
|
||||||
|
border-radius: 0;
|
||||||
|
line-height: inherit;
|
||||||
|
&::before {
|
||||||
|
content: none;
|
||||||
|
}
|
||||||
|
&::after {
|
||||||
|
content: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
6
src/scss/_partial/container.scss
Normal file
6
src/scss/_partial/container.scss
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
@mixin container {
|
||||||
|
max-width: fit-content;
|
||||||
|
font-size: 1rem;
|
||||||
|
color: var(--xm-c-general);
|
||||||
|
line-height: 1.75;
|
||||||
|
}
|
14
src/scss/_partial/figure.scss
Normal file
14
src/scss/_partial/figure.scss
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
figure {
|
||||||
|
margin-top: 2rem;
|
||||||
|
margin-bottom: 2rem;
|
||||||
|
figcaption {
|
||||||
|
margin-top: .85rem;
|
||||||
|
font-size: .85rem;
|
||||||
|
color: var(--xm-c-figcaption);
|
||||||
|
line-height: 1.45;
|
||||||
|
}
|
||||||
|
> * {
|
||||||
|
margin-top: 0;
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
}
|
8
src/scss/_partial/link.scss
Normal file
8
src/scss/_partial/link.scss
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
a {
|
||||||
|
font-weight: 500;
|
||||||
|
text-decoration: none;
|
||||||
|
color: var(--xm-c-darker);
|
||||||
|
code {
|
||||||
|
color: var(--xm-c-code);
|
||||||
|
}
|
||||||
|
}
|
46
src/scss/_partial/list.scss
Normal file
46
src/scss/_partial/list.scss
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
li {
|
||||||
|
margin-top: .5rem;
|
||||||
|
margin-bottom: .5rem;
|
||||||
|
}
|
||||||
|
ol {
|
||||||
|
margin-top: 1.25rem;
|
||||||
|
margin-bottom: 1.25rem;
|
||||||
|
list-style-type: none;
|
||||||
|
> li {
|
||||||
|
position: relative;
|
||||||
|
padding-left: 1.75rem;
|
||||||
|
&::before {
|
||||||
|
content: counter(list-item, decimal) '.';
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
font-weight: 400;
|
||||||
|
color: var(--xm-c-ol-counter);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ul {
|
||||||
|
margin-top: 1.25rem;
|
||||||
|
margin-bottom: 1.25rem;
|
||||||
|
list-style-type: none;
|
||||||
|
> li {
|
||||||
|
position: relative;
|
||||||
|
padding-left: 1.75rem;
|
||||||
|
&::before {
|
||||||
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
top: .685rem;
|
||||||
|
left: .25rem;
|
||||||
|
width: .375rem;
|
||||||
|
height: .375rem;
|
||||||
|
background-color: var(--xm-c-ul-counter);
|
||||||
|
border-radius: 50%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ul ul,
|
||||||
|
ul ol,
|
||||||
|
ol ul,
|
||||||
|
ol ol {
|
||||||
|
margin-top: .75rem;
|
||||||
|
margin-bottom: .75rem;
|
||||||
|
}
|
5
src/scss/_partial/media.scss
Normal file
5
src/scss/_partial/media.scss
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
img,
|
||||||
|
video {
|
||||||
|
margin-top: 2rem;
|
||||||
|
margin-bottom: 2rem;
|
||||||
|
}
|
20
src/scss/_partial/quote.scss
Normal file
20
src/scss/_partial/quote.scss
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
blockquote,
|
||||||
|
q {
|
||||||
|
margin-top: 1.65rem;
|
||||||
|
margin-bottom: 1.65rem;
|
||||||
|
padding-left: 1rem;
|
||||||
|
font-weight: 500;
|
||||||
|
font-style: italic;
|
||||||
|
color: inherit;
|
||||||
|
border-color: var(--xm-c-blockquote-border);
|
||||||
|
border-left-width: .25rem;
|
||||||
|
quotes: '\201C''\201D''\2018''\2019';
|
||||||
|
p {
|
||||||
|
&:first-of-type::before {
|
||||||
|
content: open-quote;
|
||||||
|
}
|
||||||
|
&:last-of-type::after {
|
||||||
|
content: close-quote;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
46
src/scss/_partial/table.scss
Normal file
46
src/scss/_partial/table.scss
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
table {
|
||||||
|
margin-top: 2rem;
|
||||||
|
margin-bottom: 2rem;
|
||||||
|
width: 100%;
|
||||||
|
table-layout: auto;
|
||||||
|
font-size: .85rem;
|
||||||
|
text-align: left;
|
||||||
|
line-height: 1.75;
|
||||||
|
}
|
||||||
|
thead {
|
||||||
|
font-weight: 600;
|
||||||
|
color: var(--xm-c-thead);
|
||||||
|
border-bottom-width: 1px;
|
||||||
|
border-bottom-color: var(--xm-c-thead-border);
|
||||||
|
th {
|
||||||
|
vertical-align: bottom;
|
||||||
|
padding-right: .575rem;
|
||||||
|
padding-bottom: .575rem;
|
||||||
|
padding-left: .575rem;
|
||||||
|
&:first-child {
|
||||||
|
padding-left: 0;
|
||||||
|
}
|
||||||
|
&:last-child {
|
||||||
|
padding-right: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tbody {
|
||||||
|
tr {
|
||||||
|
border-bottom-width: 1px;
|
||||||
|
border-bottom-color: var(--xm-c-tr-border);
|
||||||
|
&:last-child {
|
||||||
|
border-bottom-width: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
td {
|
||||||
|
vertical-align: top;
|
||||||
|
padding: .575rem;
|
||||||
|
&:first-child {
|
||||||
|
padding-left: 0;
|
||||||
|
}
|
||||||
|
&:last-child {
|
||||||
|
padding-right: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
14
src/scss/_partial/text.scss
Normal file
14
src/scss/_partial/text.scss
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
p {
|
||||||
|
margin-top: 1.25rem;
|
||||||
|
margin-bottom: 1.25rem;
|
||||||
|
}
|
||||||
|
strong {
|
||||||
|
font-weight: 600;
|
||||||
|
color: var(--xm-c-dark);
|
||||||
|
}
|
||||||
|
b {
|
||||||
|
color: var(--xm-c-dark);
|
||||||
|
}
|
||||||
|
em {
|
||||||
|
color: inherit;
|
||||||
|
}
|
64
src/scss/_partial/title.scss
Normal file
64
src/scss/_partial/title.scss
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
h1 {
|
||||||
|
margin-top: 0;
|
||||||
|
margin-bottom: .8889rem;
|
||||||
|
font-size: 2.25rem;
|
||||||
|
font-weight: 800;
|
||||||
|
color: var(--xm-c-darker);
|
||||||
|
line-height: 1.15;
|
||||||
|
}
|
||||||
|
h2 {
|
||||||
|
margin-top: 2rem;
|
||||||
|
font-size: 1.5rem;
|
||||||
|
font-weight: 700;
|
||||||
|
color: var(--xm-c-dark);
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
line-height: 1.35;
|
||||||
|
code {
|
||||||
|
font-size: .85rem;
|
||||||
|
}
|
||||||
|
+ * {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
h3 {
|
||||||
|
margin-top: 1.6rem;
|
||||||
|
font-size: 1.25rem;
|
||||||
|
font-weight: 600;
|
||||||
|
color: inherit;
|
||||||
|
margin-bottom: .6rem;
|
||||||
|
line-height: 1.6;
|
||||||
|
opacity: .7;
|
||||||
|
code {
|
||||||
|
font-size: .9rem;
|
||||||
|
}
|
||||||
|
+ * {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
h4 {
|
||||||
|
margin-top: 1.5rem;
|
||||||
|
font-weight: 600;
|
||||||
|
color: inherit;
|
||||||
|
margin-bottom: .5rem;
|
||||||
|
line-height: 1.5;
|
||||||
|
+ * {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
h5,
|
||||||
|
h6 {
|
||||||
|
text-transform: uppercase;
|
||||||
|
margin-top: 20px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
font-weight: 500;
|
||||||
|
opacity: .5;
|
||||||
|
letter-spacing: 2px;
|
||||||
|
}
|
||||||
|
hr {
|
||||||
|
margin-top: 3rem;
|
||||||
|
border-color: var(--xm-c-hr-border);
|
||||||
|
margin-bottom: 3rem;
|
||||||
|
+ * {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
}
|
@ -1,11 +1,11 @@
|
|||||||
$shiki-light: #f8f8f8;
|
$shiki-light: #f8f8f8;
|
||||||
$shiki-dark: #0e0e0e;
|
$shiki-dark: #0e0e0e;
|
||||||
$link-border: hsla(0, 0%, 50%, .3);
|
$link-border: hsla(0deg 0 50% / .3);
|
||||||
$code: #111827;
|
$code: #111827;
|
||||||
$ol-counter: #6b7280;
|
$ol-counter: #6b7280;
|
||||||
$ul-counter: #d1d5db;
|
$ul-counter: #d1d5db;
|
||||||
$hr-border: hsla(0, 0%, 50%, .3);
|
$hr-border: hsla(0deg 0 50% / .3);
|
||||||
$blockquote-border: hsla(0, 0%, 50%, .3);
|
$blockquote-border: hsla(0deg 0 50% / .3);
|
||||||
$figcaption: #6b7280;
|
$figcaption: #6b7280;
|
||||||
$pre: #e5e7eb;
|
$pre: #e5e7eb;
|
||||||
$thead: #111827;
|
$thead: #111827;
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
$font-sans: 'Open Sans', 'Noto Sans TC', 'Inter', 'Roboto', 'Helvetica', 'Arial', sans-serif;
|
$font-sans: 'Open Sans', 'Inter', 'Roboto', 'Helvetica', 'Arial', 'Sarasa Gothic TC', 'Sarasa Gothic SC', 'Noto Sans TC', 'Noto Sans SC', 'Microsoft JhengHei', 'Microsoft YaHei', -apple-system, sans-serif;
|
||||||
$font-monospace: 'DM Mono', 'Jetbrains Mono', 'Fira Code', 'Input Mono', 'Ubuntu', monospace;
|
$font-mono: 'DM Mono', 'Fira Code', 'Jetbrains Mono', 'Input Mono', 'Menlo', 'MesloLGS NF', 'Ubuntu', monospace;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
.markdown-body {
|
.markdown-body {
|
||||||
color: var(--xm-c-general);
|
|
||||||
font-family: var(--xm-font-sans) !important;
|
font-family: var(--xm-font-sans) !important;
|
||||||
|
color: var(--xm-c-general);
|
||||||
pre {
|
pre {
|
||||||
&:not(.shiki, .highlight) {
|
&:not(.shiki, .highlight) {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
@ -12,7 +12,7 @@
|
|||||||
.highlight {
|
.highlight {
|
||||||
margin: .5rem 0;
|
margin: .5rem 0;
|
||||||
font-size: 1.05rem;
|
font-size: 1.05rem;
|
||||||
font-family: var(--xm-font-monospace) !important;
|
font-family: var(--xm-font-mono) !important;
|
||||||
line-height: 1.4;
|
line-height: 1.4;
|
||||||
&.shiki-light {
|
&.shiki-light {
|
||||||
background: var(--xm-c-shiki-light) !important;
|
background: var(--xm-c-shiki-light) !important;
|
||||||
@ -67,19 +67,13 @@
|
|||||||
margin-top: 1rem;
|
margin-top: 1rem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.dark {
|
.dark .shiki-light {
|
||||||
.shiki-light {
|
display: none;
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
html {
|
html:not(.dark) .shiki-dark {
|
||||||
&:not(.dark) {
|
display: none;
|
||||||
.shiki-dark {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
.itrem {
|
.item {
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
opacity: .6;
|
opacity: .6;
|
||||||
transition: .2s all ease-out;
|
transition: .2s all ease-out;
|
||||||
@ -103,72 +97,13 @@ html {
|
|||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
h1 {
|
h1,
|
||||||
&:hover {
|
h2,
|
||||||
.header-anchor {
|
h3,
|
||||||
opacity: .5;
|
h4,
|
||||||
}
|
h5,
|
||||||
}
|
|
||||||
&:focus {
|
|
||||||
.header-anchor {
|
|
||||||
opacity: .5;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
h2 {
|
|
||||||
&:hover {
|
|
||||||
.header-anchor {
|
|
||||||
opacity: .5;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
&:focus {
|
|
||||||
.header-anchor {
|
|
||||||
opacity: .5;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
h3 {
|
|
||||||
&:hover {
|
|
||||||
.header-anchor {
|
|
||||||
opacity: .5;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
&:focus {
|
|
||||||
.header-anchor {
|
|
||||||
opacity: .5;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
h4 {
|
|
||||||
&:hover {
|
|
||||||
.header-anchor {
|
|
||||||
opacity: .5;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
&:focus {
|
|
||||||
.header-anchor {
|
|
||||||
opacity: .5;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
h5 {
|
|
||||||
&:hover {
|
|
||||||
.header-anchor {
|
|
||||||
opacity: .5;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
&:focus {
|
|
||||||
.header-anchor {
|
|
||||||
opacity: .5;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
h6 {
|
h6 {
|
||||||
&:hover {
|
&:hover,
|
||||||
.header-anchor {
|
|
||||||
opacity: .5;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
&:focus {
|
&:focus {
|
||||||
.header-anchor {
|
.header-anchor {
|
||||||
opacity: .5;
|
opacity: .5;
|
||||||
|
@ -1,267 +1,6 @@
|
|||||||
.markdown-body,
|
@use '_partial/container' as *;
|
||||||
|
|
||||||
.prose {
|
.prose {
|
||||||
max-width: 65ch;
|
@include container;
|
||||||
font-size: 1rem;
|
@import '_partial/all';
|
||||||
color: var(--xm-c-general);
|
|
||||||
line-height: 1.75;
|
|
||||||
code {
|
|
||||||
font-size: .875rem;
|
|
||||||
font-weight: 600;
|
|
||||||
color: var(--xm-c-dark);
|
|
||||||
&::before, &::after {
|
|
||||||
content: '`';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
a {
|
|
||||||
font-weight: 500;
|
|
||||||
text-decoration: none;
|
|
||||||
color: var(--xm-c-darker);
|
|
||||||
code {
|
|
||||||
color: var(--xm-c-code);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
strong {
|
|
||||||
font-weight: 600;
|
|
||||||
color: var(--xm-c-dark);
|
|
||||||
}
|
|
||||||
li {
|
|
||||||
margin-top: .5rem;
|
|
||||||
margin-bottom: .5rem;
|
|
||||||
}
|
|
||||||
ol {
|
|
||||||
margin-top: 1.25rem;
|
|
||||||
margin-bottom: 1.25rem;
|
|
||||||
list-style-type: none;
|
|
||||||
> li {
|
|
||||||
position: relative;
|
|
||||||
padding-left: 1.75rem;
|
|
||||||
&::before {
|
|
||||||
content: counter(list-item, decimal) '.';
|
|
||||||
position: absolute;
|
|
||||||
left: 0;
|
|
||||||
font-weight: 400;
|
|
||||||
color: var(--xm-c-ol-counter);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
ul {
|
|
||||||
margin-top: 1.25rem;
|
|
||||||
margin-bottom: 1.25rem;
|
|
||||||
list-style-type: none;
|
|
||||||
> li {
|
|
||||||
position: relative;
|
|
||||||
padding-left: 1.75rem;
|
|
||||||
&::before {
|
|
||||||
content: '';
|
|
||||||
position: absolute;
|
|
||||||
top: calc(.875rem - .1875rem);
|
|
||||||
left: .25rem;
|
|
||||||
width: .375rem;
|
|
||||||
height: .375rem;
|
|
||||||
background-color: var(--xm-c-ul-counter);
|
|
||||||
border-radius: 50%;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
hr {
|
|
||||||
margin-top: 3rem;
|
|
||||||
border-color: var(--xm-c-hr-border);
|
|
||||||
margin-bottom: 3rem;
|
|
||||||
+ * {
|
|
||||||
margin-top: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
p {
|
|
||||||
margin-top: 1.25rem;
|
|
||||||
margin-bottom: 1.25rem;
|
|
||||||
}
|
|
||||||
blockquote,
|
|
||||||
q {
|
|
||||||
margin-top: 1.6rem;
|
|
||||||
padding-left: 1rem;
|
|
||||||
font-weight: 500;
|
|
||||||
font-style: italic;
|
|
||||||
color: inherit;
|
|
||||||
border-color: var(--xm-c-blockquote-color);
|
|
||||||
border-left-width: .25rem;
|
|
||||||
quotes: '\201C''\201D''\2018''\2019';
|
|
||||||
margin-bottom: 1.6rem;
|
|
||||||
p {
|
|
||||||
&:first-of-type::before {
|
|
||||||
content: open-quote;
|
|
||||||
}
|
|
||||||
&:last-of-type::after {
|
|
||||||
content: close-quote;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
h1 {
|
|
||||||
margin-top: 0;
|
|
||||||
margin-bottom: .8889rem;
|
|
||||||
font-size: 2.25rem;
|
|
||||||
font-weight: 800;
|
|
||||||
color: var(--xm-c-darker);
|
|
||||||
line-height: 1.1111;
|
|
||||||
}
|
|
||||||
h2 {
|
|
||||||
margin-top: 2rem;
|
|
||||||
font-size: 1.5rem;
|
|
||||||
font-weight: 700;
|
|
||||||
color: var(--xm-c-dark);
|
|
||||||
margin-bottom: 1rem;
|
|
||||||
line-height: 1.3334;
|
|
||||||
code {
|
|
||||||
font-size: .875rem;
|
|
||||||
}
|
|
||||||
+ * {
|
|
||||||
margin-top: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
h3 {
|
|
||||||
margin-top: 1.6rem;
|
|
||||||
font-size: 1.25rem;
|
|
||||||
font-weight: 600;
|
|
||||||
color: inherit;
|
|
||||||
margin-bottom: .6rem;
|
|
||||||
line-height: 1.6;
|
|
||||||
opacity: .7;
|
|
||||||
code {
|
|
||||||
font-size: .9rem;
|
|
||||||
}
|
|
||||||
+ * {
|
|
||||||
margin-top: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
h4 {
|
|
||||||
margin-top: 1.5rem;
|
|
||||||
font-weight: 600;
|
|
||||||
color: inherit;
|
|
||||||
margin-bottom: .5rem;
|
|
||||||
line-height: 1.5;
|
|
||||||
+ * {
|
|
||||||
margin-top: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
figure {
|
|
||||||
margin-top: 2rem;
|
|
||||||
margin-bottom: 2rem;
|
|
||||||
figcaption {
|
|
||||||
margin-top: .8571rem;
|
|
||||||
font-size: .875rem;
|
|
||||||
color: var(--xm-c-figcaption);
|
|
||||||
line-height: 1.4286;
|
|
||||||
}
|
|
||||||
> * {
|
|
||||||
margin-top: 0;
|
|
||||||
margin-bottom: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
pre {
|
|
||||||
overflow-x: auto;
|
|
||||||
margin-top: 1.7143rem;
|
|
||||||
padding-top: .8571rem, 1.1429rem;
|
|
||||||
font-size: .875rem;
|
|
||||||
color: var(--xm-c-pre);
|
|
||||||
line-height: 1.7143;
|
|
||||||
margin-bottom: 1.7143rem;
|
|
||||||
border-radius: .375rem;
|
|
||||||
code {
|
|
||||||
padding: 0;
|
|
||||||
font-size: inherit;
|
|
||||||
font-family: inherit;
|
|
||||||
font-weight: 400;
|
|
||||||
color: inherit;
|
|
||||||
background: transparent;
|
|
||||||
border-width: 0;
|
|
||||||
border-radius: 0;
|
|
||||||
line-height: inherit;
|
|
||||||
&::before {
|
|
||||||
content: none;
|
|
||||||
}
|
|
||||||
&::after {
|
|
||||||
content: none;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
table {
|
|
||||||
margin-top: 2rem;
|
|
||||||
margin-bottom: 2rem;
|
|
||||||
width: 100%;
|
|
||||||
table-layout: auto;
|
|
||||||
font-size: .875rem;
|
|
||||||
text-align: left;
|
|
||||||
line-height: 1.7143;
|
|
||||||
}
|
|
||||||
thead {
|
|
||||||
font-weight: 600;
|
|
||||||
color: var(--xm-c-thead);
|
|
||||||
border-bottom-width: 1px;
|
|
||||||
border-bottom-color: var(--xm-c-thead-border);
|
|
||||||
th {
|
|
||||||
vertical-align: bottom;
|
|
||||||
padding-right: .5714rem;
|
|
||||||
padding-bottom: .5714rem;
|
|
||||||
padding-left: .5714rem;
|
|
||||||
&:first-child {
|
|
||||||
padding-left: 0;
|
|
||||||
}
|
|
||||||
&:last-child {
|
|
||||||
padding-right: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
tbody {
|
|
||||||
tr {
|
|
||||||
border-bottom-width: 1px;
|
|
||||||
border-bottom-color: var(--xm-c-tr-border);
|
|
||||||
&:last-child {
|
|
||||||
border-bottom-width: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
td {
|
|
||||||
vertical-align: top;
|
|
||||||
padding: .5714rem;
|
|
||||||
&:first-child {
|
|
||||||
padding-left: 0;
|
|
||||||
}
|
|
||||||
&:last-child {
|
|
||||||
padding-right: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
img {
|
|
||||||
margin-top: 2rem;
|
|
||||||
margin-bottom: 2rem;
|
|
||||||
}
|
|
||||||
video {
|
|
||||||
margin-top: 2rem;
|
|
||||||
margin-bottom: 2rem;
|
|
||||||
}
|
|
||||||
h6 {
|
|
||||||
text-transform: uppercase;
|
|
||||||
margin-top: 20px;
|
|
||||||
margin-bottom: 10px;
|
|
||||||
font-weight: 500;
|
|
||||||
opacity: .5;
|
|
||||||
letter-spacing: 2px;
|
|
||||||
}
|
|
||||||
> :first-child {
|
|
||||||
margin-top: 0;
|
|
||||||
}
|
|
||||||
> :last-child {
|
|
||||||
margin-bottom: 0;
|
|
||||||
}
|
|
||||||
b {
|
|
||||||
color: var(--xm-c-dark);
|
|
||||||
}
|
|
||||||
em {
|
|
||||||
color: inherit;
|
|
||||||
}
|
|
||||||
ul ul,
|
|
||||||
ul ol,
|
|
||||||
ol ul,
|
|
||||||
ol ol {
|
|
||||||
margin-top: .75rem;
|
|
||||||
margin-bottom: .75rem;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user