mirror of
https://github.com/kuohuanhuan/x-markdown-css.git
synced 2024-11-25 06:18:19 +00:00
Compare commits
70 Commits
v0.0.0-202
...
v0.1.5
Author | SHA1 | Date | |
---|---|---|---|
132eb4ff72
|
|||
4a9dbe84aa
|
|||
ba95b90714 | |||
6b4fd5f2c5
|
|||
c8bc7d3438
|
|||
b44d47b14f
|
|||
5fcbb64413
|
|||
0af430670a
|
|||
47e16ecde7
|
|||
bf04be0379
|
|||
b43013e33e
|
|||
0f50a7c98d
|
|||
f4d95387c3
|
|||
42967ea775
|
|||
b4d1423d37
|
|||
008564db1b
|
|||
21de988cb9
|
|||
5568aa278f
|
|||
919ebfaf39
|
|||
458b495b44
|
|||
ff23b42eec
|
|||
32be4bf51a
|
|||
ce94858f01
|
|||
6c0c7e7624
|
|||
10ae6dc593
|
|||
28fcbf66a8
|
|||
e9264bfa01
|
|||
0e6c171424
|
|||
d45e09d7bf
|
|||
eb2e5f532a
|
|||
2e99e64a3e
|
|||
877ea710d6
|
|||
df63212d6d
|
|||
ee89b96068
|
|||
63a6fc2072
|
|||
e54282e5f8
|
|||
2b9619f2e2
|
|||
2cb60cc6c4
|
|||
beedb0e803
|
|||
77e57fe3ae
|
|||
5f45d99381
|
|||
936615f48c
|
|||
06f383891e
|
|||
e7b3d3eb8d
|
|||
7ffabe53bd
|
|||
95a1576179
|
|||
cfa79e400a
|
|||
39c543c7f6
|
|||
b383912f30
|
|||
74a4cda9d3
|
|||
13a8c92ebe
|
|||
7e5821b10d
|
|||
a365317c85
|
|||
213ea5f44f
|
|||
5ee77990a6
|
|||
59745590c2
|
|||
17631306a8
|
|||
d8f3f549dc
|
|||
f988a9dddb
|
|||
3f5fc5f93b
|
|||
1b2245bab9
|
|||
7b50254f83
|
|||
5f9424617e
|
|||
f169a6c49a
|
|||
ba62d6e364
|
|||
d7c5188b7d
|
|||
de8b9d621c
|
|||
8bb74891ce
|
|||
d33f046030
|
|||
bd8d8822e5
|
@ -1,3 +1,5 @@
|
||||
# EditorConfig <http://editorconfig.org>
|
||||
|
||||
root = true
|
||||
|
||||
[*]
|
||||
|
10
.github/workflows/ci.yml
vendored
10
.github/workflows/ci.yml
vendored
@ -4,6 +4,12 @@ on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
paths:
|
||||
- src/**.scss
|
||||
- package.json
|
||||
- Gruntfile.coffee
|
||||
- .stylelintrc
|
||||
- .stylelintignore
|
||||
pull_request:
|
||||
branches:
|
||||
- master
|
||||
@ -11,7 +17,7 @@ on:
|
||||
jobs:
|
||||
# Test Lint
|
||||
lint:
|
||||
# Use Ubuntu 22.04
|
||||
# Use Ubuntu 22.04 LTS
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
# Step I
|
||||
@ -21,7 +27,7 @@ jobs:
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 18
|
||||
node-version: lts/*
|
||||
registry-url: https://registry.npmjs.com
|
||||
# Step III
|
||||
- name: Install Dependencies
|
||||
|
6
.github/workflows/release.yml
vendored
6
.github/workflows/release.yml
vendored
@ -1,9 +1,9 @@
|
||||
name: Build and Release
|
||||
name: Release
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- 'v*'
|
||||
- v*
|
||||
|
||||
jobs:
|
||||
# NPM Registry & GitHub Release
|
||||
@ -20,7 +20,7 @@ jobs:
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 18
|
||||
node-version: lts/*
|
||||
registry-url: https://registry.npmjs.com
|
||||
# Step III
|
||||
- name: Install Dependencies
|
||||
|
19
.stylelintrc
19
.stylelintrc
@ -1,21 +1,4 @@
|
||||
{
|
||||
"ignoreDisables": true,
|
||||
"extends": [
|
||||
"stylelint-config-standard-scss",
|
||||
"stylelint-config-hudochenkov/order"
|
||||
],
|
||||
"plugins": ["stylelint-scss"],
|
||||
"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,
|
||||
"no-invalid-position-at-import-rule": null,
|
||||
"number-leading-zero": "never",
|
||||
"property-no-vendor-prefix": true,
|
||||
"rule-empty-line-before": null
|
||||
}
|
||||
"extends": "@kuohuanhuan/stylelint-config"
|
||||
}
|
||||
|
@ -1,7 +1,6 @@
|
||||
module.exports = (grunt) ->
|
||||
# Load Grunt Tasks
|
||||
require('load-grunt-tasks') grunt
|
||||
|
||||
# Project Configuration
|
||||
grunt.initConfig
|
||||
# NPM Package Declare
|
||||
|
54
README.md
54
README.md
@ -2,25 +2,47 @@
|
||||
|
||||
<center>
|
||||
|
||||
[](https://www.npmjs.com/package/x-markdown-css)
|
||||
[](https://github.com/kuohuanhuan/x-markdown-css/blob/master/package.json)
|
||||
[](https://github.com/kuohuanhuan/x-markdown-css/blob/master/LICENSE)
|
||||
[](https://www.npmjs.com/package/x-markdown-css)
|
||||
[](https://github.com/kuohuanhuan/x-markdown-css/actions/workflows/ci.yml)
|
||||
[](https://github.com/kuohuanhuan/x-markdown-css/blob/master/LICENSE)
|
||||
|
||||
</center>
|
||||
|
||||
> A simple and customizable markdown CSS stylesheet for everyone.
|
||||
|
||||
## Requirement
|
||||
## Browsers Support
|
||||
|
||||
According to [.browserslistrc](https://github.com/kuohuanhuan/x-markdown-css/blob/master/.browserslistrc), `x-markdown-css` supports **all browsers support CSS variables.**
|
||||
|
||||
## Get Started
|
||||
|
||||
Visit the [Wiki](https://github.com/kuohuanhuan/x-markdown-css/wiki) page for more information.
|
||||
|
||||
## Built with
|
||||
|
||||
The following tools and suite libraries made the development of `x-markdown-css` possible:
|
||||
|
||||
- [SCSS](https://sass-lang.com)
|
||||
- [Stylelint](https://stylelint.io)
|
||||
- [Grunt](https://gruntjs.com)
|
||||
- [PostCSS](https://postcss.org)
|
||||
- [cssnano](https://cssnano.co)
|
||||
|
||||
*...and much more.*
|
||||
|
||||
## Development
|
||||
|
||||
### Requirement
|
||||
|
||||
- Node.js >= 16
|
||||
|
||||
## Install
|
||||
### Install
|
||||
|
||||
```sh
|
||||
npm i
|
||||
```
|
||||
|
||||
## Build
|
||||
### Build
|
||||
|
||||
```sh
|
||||
npm run build
|
||||
@ -38,26 +60,6 @@ or
|
||||
npx grunt build
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
You can use the minified CSS file with a CDN service:
|
||||
|
||||
- UNPKG: `https://unpkg.com/x-markdown-css@latest/dist/bundle.min.css`
|
||||
- jsDelivr: `https://fastly.jsdelivr.net/npm/x-markdown-css@latest/dist/bundle.min.css`
|
||||
- CDNJS: *Coming soon. **Waiting for you to make `x-markdown-css` [popular enough](https://github.com/cdnjs/packages/blob/master/CONTRIBUTING.md#policy-rules-and-guidelines)**!*
|
||||
|
||||
> *ps. `bundle.css` without `.min` stands for unminified version.*
|
||||
|
||||
## Uses
|
||||
|
||||
- [SCSS](https://sass-lang.com)
|
||||
- [Stylelint](https://stylelint.io)
|
||||
- [Grunt](https://gruntjs.com)
|
||||
- [PostCSS](https://postcss.org)
|
||||
- [cssnano](https://cssnano.co)
|
||||
|
||||
*...and much more.*
|
||||
|
||||
## Contributing
|
||||
|
||||
PRs, issues and feature requests are welcome!
|
||||
|
293
package-lock.json
generated
293
package-lock.json
generated
@ -1,18 +1,19 @@
|
||||
{
|
||||
"name": "x-markdown-css",
|
||||
"version": "0.0.0-20230303.9",
|
||||
"version": "0.1.5",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "x-markdown-css",
|
||||
"version": "0.0.0-20230302.2",
|
||||
"version": "0.1.4",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"coffeescript": "^2.7.0",
|
||||
"sass": "^1.58.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@kuohuanhuan/stylelint-config": "^0.0.4",
|
||||
"@lodder/grunt-postcss": "^3.1.1",
|
||||
"autoprefixer": "^10.4.13",
|
||||
"bumpp": "^9.0.0",
|
||||
@ -22,10 +23,7 @@
|
||||
"load-grunt-tasks": "^5.1.0",
|
||||
"postcss": "^8.4.21",
|
||||
"postcss-preset-env": "^8.0.1",
|
||||
"stylelint": "^15.2.0",
|
||||
"stylelint-config-hudochenkov": "^9.0.0",
|
||||
"stylelint-config-standard-scss": "^7.0.1",
|
||||
"stylelint-scss": "^4.4.0"
|
||||
"stylelint": "^15.2.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=16"
|
||||
@ -621,6 +619,19 @@
|
||||
"node": ">=10"
|
||||
}
|
||||
},
|
||||
"node_modules/@kuohuanhuan/stylelint-config": {
|
||||
"version": "0.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@kuohuanhuan/stylelint-config/-/stylelint-config-0.0.4.tgz",
|
||||
"integrity": "sha512-/BNDzhnjeddfeKqQtd6qk0WkC1jiWg2c9mheKTo4CMXXgcgNznGoaMjtTEGhxXD4C6xg4Fl0U6IBOxL+fgOE+A==",
|
||||
"dev": true,
|
||||
"peerDependencies": {
|
||||
"bumpp": "^9.0.0",
|
||||
"postcss-scss": "^4.0.6",
|
||||
"stylelint": "^15.2.0",
|
||||
"stylelint-order": "^6.0.2",
|
||||
"stylelint-scss": "^4.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@lodder/grunt-postcss": {
|
||||
"version": "3.1.1",
|
||||
"resolved": "https://registry.npmjs.org/@lodder/grunt-postcss/-/grunt-postcss-3.1.1.tgz",
|
||||
@ -822,10 +833,16 @@
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/async": {
|
||||
"version": "3.2.4",
|
||||
"resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz",
|
||||
"integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/autoprefixer": {
|
||||
"version": "10.4.13",
|
||||
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.13.tgz",
|
||||
"integrity": "sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==",
|
||||
"version": "10.4.14",
|
||||
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz",
|
||||
"integrity": "sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
@ -838,8 +855,8 @@
|
||||
}
|
||||
],
|
||||
"dependencies": {
|
||||
"browserslist": "^4.21.4",
|
||||
"caniuse-lite": "^1.0.30001426",
|
||||
"browserslist": "^4.21.5",
|
||||
"caniuse-lite": "^1.0.30001464",
|
||||
"fraction.js": "^4.2.0",
|
||||
"normalize-range": "^0.1.2",
|
||||
"picocolors": "^1.0.0",
|
||||
@ -1006,9 +1023,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/caniuse-lite": {
|
||||
"version": "1.0.30001458",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001458.tgz",
|
||||
"integrity": "sha512-lQ1VlUUq5q9ro9X+5gOEyH7i3vm+AYVT1WDCVB69XOZ17KZRhnZ9J0Sqz7wTHQaLBJccNCHq8/Ww5LlOIZbB0w==",
|
||||
"version": "1.0.30001464",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001464.tgz",
|
||||
"integrity": "sha512-oww27MtUmusatpRpCGSOneQk2/l5czXANDSFvsc7VuOQ86s3ANhZetpwXNf1zY/zdfP63Xvjz325DAdAoES13g==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
@ -1173,21 +1190,6 @@
|
||||
"node": ">= 8"
|
||||
}
|
||||
},
|
||||
"node_modules/cross-spawn/node_modules/which": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
|
||||
"integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"isexe": "^2.0.0"
|
||||
},
|
||||
"bin": {
|
||||
"node-which": "bin/node-which"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 8"
|
||||
}
|
||||
},
|
||||
"node_modules/css-blank-pseudo": {
|
||||
"version": "5.0.2",
|
||||
"resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-5.0.2.tgz",
|
||||
@ -1282,16 +1284,16 @@
|
||||
}
|
||||
},
|
||||
"node_modules/css-tree": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz",
|
||||
"integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==",
|
||||
"version": "2.3.1",
|
||||
"resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz",
|
||||
"integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"mdn-data": "2.0.14",
|
||||
"source-map": "^0.6.1"
|
||||
"mdn-data": "2.0.30",
|
||||
"source-map-js": "^1.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8.0.0"
|
||||
"node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/css-what": {
|
||||
@ -1416,6 +1418,25 @@
|
||||
"node": ">=8.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/csso/node_modules/css-tree": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz",
|
||||
"integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"mdn-data": "2.0.14",
|
||||
"source-map": "^0.6.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/csso/node_modules/mdn-data": {
|
||||
"version": "2.0.14",
|
||||
"resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz",
|
||||
"integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/dateformat": {
|
||||
"version": "4.6.3",
|
||||
"resolved": "https://registry.npmjs.org/dateformat/-/dateformat-4.6.3.tgz",
|
||||
@ -1568,9 +1589,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/electron-to-chromium": {
|
||||
"version": "1.4.313",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.313.tgz",
|
||||
"integrity": "sha512-QckB9OVqr2oybjIrbMI99uF+b9+iTja5weFe0ePbqLb5BHqXOJUO1SG6kDj/1WtWPRIBr51N153AEq8m7HuIaA==",
|
||||
"version": "1.4.322",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.322.tgz",
|
||||
"integrity": "sha512-KovjizNC9XB7dno/2GjxX8VS0SlfPpCjtyoKft+bCO+UfD8bFy16hY4Sh9s0h9BDxbRH2U0zX5VBjpM1LTcNlg==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/emoji-regex": {
|
||||
@ -1939,6 +1960,18 @@
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/global-prefix/node_modules/which": {
|
||||
"version": "1.3.1",
|
||||
"resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
|
||||
"integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"isexe": "^2.0.0"
|
||||
},
|
||||
"bin": {
|
||||
"which": "bin/which"
|
||||
}
|
||||
},
|
||||
"node_modules/globby": {
|
||||
"version": "11.1.0",
|
||||
"resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
|
||||
@ -2079,27 +2112,6 @@
|
||||
"node": ">=10"
|
||||
}
|
||||
},
|
||||
"node_modules/grunt-legacy-util/node_modules/async": {
|
||||
"version": "3.2.4",
|
||||
"resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz",
|
||||
"integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/grunt-legacy-util/node_modules/which": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
|
||||
"integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"isexe": "^2.0.0"
|
||||
},
|
||||
"bin": {
|
||||
"node-which": "bin/node-which"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 8"
|
||||
}
|
||||
},
|
||||
"node_modules/grunt-sass": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/grunt-sass/-/grunt-sass-3.1.0.tgz",
|
||||
@ -2543,9 +2555,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/lilconfig": {
|
||||
"version": "2.0.6",
|
||||
"resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz",
|
||||
"integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==",
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz",
|
||||
"integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
@ -2686,9 +2698,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/mdn-data": {
|
||||
"version": "2.0.14",
|
||||
"resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz",
|
||||
"integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==",
|
||||
"version": "2.0.30",
|
||||
"resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz",
|
||||
"integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/meow": {
|
||||
@ -4126,6 +4138,7 @@
|
||||
"url": "https://tidelift.com/funding/github/npm/postcss-scss"
|
||||
}
|
||||
],
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=12.0"
|
||||
},
|
||||
@ -4166,9 +4179,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/postcss-sorting": {
|
||||
"version": "8.0.1",
|
||||
"resolved": "https://registry.npmjs.org/postcss-sorting/-/postcss-sorting-8.0.1.tgz",
|
||||
"integrity": "sha512-go9Zoxx7KQH+uLrJ9xa5wRErFeXu01ydA6O8m7koPXkmAN7Ts//eRcIqjo0stBR4+Nir2gMYDOWAOx7O5EPUZA==",
|
||||
"version": "8.0.2",
|
||||
"resolved": "https://registry.npmjs.org/postcss-sorting/-/postcss-sorting-8.0.2.tgz",
|
||||
"integrity": "sha512-M9dkSrmU00t/jK7rF6BZSZauA5MAaBW4i5EnJXspMwt4iqTh/L9j6fgMnbElEOfyRyfLfVbIHj/R52zHzAPe1Q==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"peerDependencies": {
|
||||
@ -4656,9 +4669,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/spdx-correct": {
|
||||
"version": "3.1.1",
|
||||
"resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
|
||||
"integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==",
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz",
|
||||
"integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"spdx-expression-parse": "^3.0.0",
|
||||
@ -4829,85 +4842,15 @@
|
||||
"url": "https://opencollective.com/stylelint"
|
||||
}
|
||||
},
|
||||
"node_modules/stylelint-config-hudochenkov": {
|
||||
"version": "9.0.0",
|
||||
"resolved": "https://registry.npmjs.org/stylelint-config-hudochenkov/-/stylelint-config-hudochenkov-9.0.0.tgz",
|
||||
"integrity": "sha512-IOiSA2URkeIxEbn/Vl7OnkovjFci2o5n4qdC8gMuVkygeqCt7y3JJvagbRGgBoIvr3ldus/WBIEHRr+y8ZLXMw==",
|
||||
"dev": true,
|
||||
"peerDependencies": {
|
||||
"stylelint": "^15.0.0",
|
||||
"stylelint-order": "^6.0.2"
|
||||
}
|
||||
},
|
||||
"node_modules/stylelint-config-recommended": {
|
||||
"version": "10.0.1",
|
||||
"resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-10.0.1.tgz",
|
||||
"integrity": "sha512-TQ4xQ48tW4QSlODcti7pgSRqBZcUaBzuh0jPpfiMhwJKBPkqzTIAU+IrSWL/7BgXlOM90DjB7YaNgFpx8QWhuA==",
|
||||
"dev": true,
|
||||
"peerDependencies": {
|
||||
"stylelint": "^15.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/stylelint-config-recommended-scss": {
|
||||
"version": "9.0.1",
|
||||
"resolved": "https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-9.0.1.tgz",
|
||||
"integrity": "sha512-qAmz/TdrqslwiMTuLM3QXeISUkfEDUXGMfRBCHm/xrkCJNnQefv+mzG2mWTsWkqcVk8HAyUkug10dwAcYp2fCQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"postcss-scss": "^4.0.2",
|
||||
"stylelint-config-recommended": "^10.0.1",
|
||||
"stylelint-scss": "^4.4.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"postcss": "^8.3.3",
|
||||
"stylelint": "^15.0.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"postcss": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/stylelint-config-standard": {
|
||||
"version": "30.0.1",
|
||||
"resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-30.0.1.tgz",
|
||||
"integrity": "sha512-NbeHOmpRQhjZh5XB1B/S4MLRWvz4xxAxeDBjzl0tY2xEcayNhLbaRGF0ZQzq+DQZLCcPpOHeS2Ru1ydbkhkmLg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"stylelint-config-recommended": "^10.0.1"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"stylelint": "^15.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/stylelint-config-standard-scss": {
|
||||
"version": "7.0.1",
|
||||
"resolved": "https://registry.npmjs.org/stylelint-config-standard-scss/-/stylelint-config-standard-scss-7.0.1.tgz",
|
||||
"integrity": "sha512-m5sRdtsB1F5fnC1Ozla7ryftU47wVpO+HWd+JQTqeoG0g/oPh5EfbWfcVHbNCEtuoHfALIySiUWS20pz2hX6jA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"stylelint-config-recommended-scss": "^9.0.0",
|
||||
"stylelint-config-standard": "^30.0.1"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"postcss": "^8.3.3",
|
||||
"stylelint": "^15.0.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"postcss": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/stylelint-order": {
|
||||
"version": "6.0.2",
|
||||
"resolved": "https://registry.npmjs.org/stylelint-order/-/stylelint-order-6.0.2.tgz",
|
||||
"integrity": "sha512-yuac0BE6toHd27wUPvYVVQicAJthKFIv1HPQFH3Q0dExiO3Z6Uam7geoO0tUd5Z9ddsATYK++1qWNDX4RxMH5Q==",
|
||||
"version": "6.0.3",
|
||||
"resolved": "https://registry.npmjs.org/stylelint-order/-/stylelint-order-6.0.3.tgz",
|
||||
"integrity": "sha512-1j1lOb4EU/6w49qZeT2SQVJXm0Ht+Qnq9GMfUa3pMwoyojIWfuA+JUDmoR97Bht1RLn4ei0xtLGy87M7d29B1w==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"postcss": "^8.4.21",
|
||||
"postcss-sorting": "^8.0.1"
|
||||
"postcss-sorting": "^8.0.2"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"stylelint": "^14.0.0 || ^15.0.0"
|
||||
@ -4918,6 +4861,7 @@
|
||||
"resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-4.4.0.tgz",
|
||||
"integrity": "sha512-Qy66a+/30aylFhPmUArHhVsHOun1qrO93LGT15uzLuLjWS7hKDfpFm34mYo1ndR4MCo8W4bEZM1+AlJRJORaaw==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"lodash": "^4.17.21",
|
||||
"postcss-media-query-parser": "^0.2.3",
|
||||
@ -4935,19 +4879,6 @@
|
||||
"integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/stylelint/node_modules/css-tree": {
|
||||
"version": "2.3.1",
|
||||
"resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz",
|
||||
"integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"mdn-data": "2.0.30",
|
||||
"source-map-js": "^1.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/stylelint/node_modules/global-modules": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz",
|
||||
@ -4983,11 +4914,17 @@
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/stylelint/node_modules/mdn-data": {
|
||||
"version": "2.0.30",
|
||||
"resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz",
|
||||
"integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==",
|
||||
"dev": true
|
||||
"node_modules/stylelint/node_modules/which": {
|
||||
"version": "1.3.1",
|
||||
"resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
|
||||
"integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"isexe": "^2.0.0"
|
||||
},
|
||||
"bin": {
|
||||
"which": "bin/which"
|
||||
}
|
||||
},
|
||||
"node_modules/supports-color": {
|
||||
"version": "7.2.0",
|
||||
@ -5053,6 +4990,25 @@
|
||||
"node": ">=10.13.0"
|
||||
}
|
||||
},
|
||||
"node_modules/svgo/node_modules/css-tree": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz",
|
||||
"integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"mdn-data": "2.0.14",
|
||||
"source-map": "^0.6.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/svgo/node_modules/mdn-data": {
|
||||
"version": "2.0.14",
|
||||
"resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz",
|
||||
"integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/table": {
|
||||
"version": "6.8.1",
|
||||
"resolved": "https://registry.npmjs.org/table/-/table-6.8.1.tgz",
|
||||
@ -5208,15 +5164,18 @@
|
||||
}
|
||||
},
|
||||
"node_modules/which": {
|
||||
"version": "1.3.1",
|
||||
"resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
|
||||
"integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
|
||||
"integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"isexe": "^2.0.0"
|
||||
},
|
||||
"bin": {
|
||||
"which": "bin/which"
|
||||
"node-which": "bin/node-which"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 8"
|
||||
}
|
||||
},
|
||||
"node_modules/wrappy": {
|
||||
|
17
package.json
17
package.json
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "x-markdown-css",
|
||||
"version": "0.0.0-20230303.9",
|
||||
"version": "0.1.5",
|
||||
"description": "A simple and customizable markdown CSS stylesheet for everyone.",
|
||||
"keywords": [
|
||||
"markdown",
|
||||
@ -16,13 +16,18 @@
|
||||
"article",
|
||||
"documentation"
|
||||
],
|
||||
"sass": "src/index.scss",
|
||||
"main": "dist/bundle.min.css",
|
||||
"style": "dist/bundle.min.css",
|
||||
"sass": "src/index.scss",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/kuohuanhuan/x-markdown-css.git"
|
||||
},
|
||||
"author": "kuohuanhuan",
|
||||
"author": {
|
||||
"name": "kuohuanhuan",
|
||||
"email": "hi@nekohuan.cyou",
|
||||
"url": "https://nekohuan.cyou"
|
||||
},
|
||||
"license": "MIT",
|
||||
"bugs": {
|
||||
"url": "https://github.com/kuohuanhuan/x-markdown-css/issues"
|
||||
@ -42,6 +47,7 @@
|
||||
"sass": "^1.58.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@kuohuanhuan/stylelint-config": "^0.0.4",
|
||||
"@lodder/grunt-postcss": "^3.1.1",
|
||||
"autoprefixer": "^10.4.13",
|
||||
"bumpp": "^9.0.0",
|
||||
@ -51,9 +57,6 @@
|
||||
"load-grunt-tasks": "^5.1.0",
|
||||
"postcss": "^8.4.21",
|
||||
"postcss-preset-env": "^8.0.1",
|
||||
"stylelint": "^15.2.0",
|
||||
"stylelint-config-hudochenkov": "^9.0.0",
|
||||
"stylelint-config-standard-scss": "^7.0.1",
|
||||
"stylelint-scss": "^4.4.0"
|
||||
"stylelint": "^15.2.0"
|
||||
}
|
||||
}
|
||||
|
7
src/_content.scss
Normal file
7
src/_content.scss
Normal file
@ -0,0 +1,7 @@
|
||||
@use 'sass:meta';
|
||||
@use 'partials/container';
|
||||
|
||||
.markdown-body {
|
||||
@include container.container;
|
||||
@include meta.load-css('partials/all');
|
||||
}
|
22
src/_vars.scss
Normal file
22
src/_vars.scss
Normal file
@ -0,0 +1,22 @@
|
||||
@use 'sass:meta';
|
||||
@use 'variables/constants';
|
||||
@use 'variables/modes/light';
|
||||
@use 'variables/modes/dark';
|
||||
|
||||
:root {
|
||||
@each $name, $val in meta.module-variables('constants') {
|
||||
--xm-#{$name}: #{$val};
|
||||
}
|
||||
}
|
||||
|
||||
.markdown-body {
|
||||
@each $name, $val in meta.module-variables('light') {
|
||||
--xm-c-#{$name}: #{$val};
|
||||
}
|
||||
}
|
||||
|
||||
.dark .markdown-body {
|
||||
@each $name, $val in meta.module-variables('dark') {
|
||||
--xm-c-#{$name}: #{$val};
|
||||
}
|
||||
}
|
@ -1,4 +1,2 @@
|
||||
@use 'scss/vars' as *;
|
||||
|
||||
@import 'scss/markdown';
|
||||
@import 'scss/prose';
|
||||
@use 'vars';
|
||||
@use 'content';
|
||||
|
9
src/partials/_all.scss
Normal file
9
src/partials/_all.scss
Normal file
@ -0,0 +1,9 @@
|
||||
@forward 'title';
|
||||
@forward 'text';
|
||||
@forward 'link';
|
||||
@forward 'code';
|
||||
@forward 'quote';
|
||||
@forward 'figure';
|
||||
@forward 'list';
|
||||
@forward 'table';
|
||||
@forward 'media';
|
10
src/partials/_container.scss
Normal file
10
src/partials/_container.scss
Normal file
@ -0,0 +1,10 @@
|
||||
@mixin container {
|
||||
max-width: fit-content;
|
||||
color: var(--xm-c-regular);
|
||||
font-size: 1rem;
|
||||
font-family: var(--xm-font-display) !important;
|
||||
line-height: 1.75;
|
||||
&:first-child {
|
||||
margin-top: 1rem;
|
||||
}
|
||||
}
|
@ -1,20 +1,21 @@
|
||||
code {
|
||||
color: var(--xm-c-dark);
|
||||
color: var(--xm-c-deep);
|
||||
font-weight: 600;
|
||||
font-size: .875rem;
|
||||
font-family: var(--xm-font-mono);
|
||||
font-family: var(--xm-font-code);
|
||||
&::before,
|
||||
&::after {
|
||||
content: '`';
|
||||
}
|
||||
}
|
||||
|
||||
pre {
|
||||
overflow-x: auto;
|
||||
margin-top: 1.75rem;
|
||||
margin-bottom: 1.75rem;
|
||||
padding-top: .875rem, 1.15rem;
|
||||
border-radius: .375rem;
|
||||
color: var(--xm-c-pre);
|
||||
color: var(--xm-c-deep);
|
||||
font-size: .875rem;
|
||||
line-height: 1.75;
|
||||
code {
|
||||
@ -32,4 +33,10 @@ pre {
|
||||
content: none;
|
||||
}
|
||||
}
|
||||
&:has(code) {
|
||||
margin: .5rem 0;
|
||||
font-size: 1.05rem;
|
||||
font-family: var(--xm-font-code);
|
||||
line-height: 1.4;
|
||||
}
|
||||
}
|
@ -3,7 +3,7 @@ figure {
|
||||
margin-bottom: 2rem;
|
||||
figcaption {
|
||||
margin-top: .875rem;
|
||||
color: var(--xm-c-figcaption);
|
||||
color: var(--xm-c-shallow);
|
||||
font-size: .875rem;
|
||||
line-height: 1.45;
|
||||
}
|
19
src/partials/link.scss
Normal file
19
src/partials/link.scss
Normal file
@ -0,0 +1,19 @@
|
||||
a {
|
||||
border-bottom: 1px solid var(--xm-c-border);
|
||||
color: var(--xm-c-deeper);
|
||||
font-weight: 500;
|
||||
text-decoration: none;
|
||||
transition: border .3s ease-in-out;
|
||||
code {
|
||||
color: var(--xm-c-deep);
|
||||
}
|
||||
&:hover {
|
||||
border-bottom: 1px solid var(--xm-c-regular);
|
||||
}
|
||||
&:not([href]) {
|
||||
border-bottom: none;
|
||||
color: inherit;
|
||||
font-weight: normal;
|
||||
transition: none;
|
||||
}
|
||||
}
|
@ -2,6 +2,7 @@ li {
|
||||
margin-top: .5rem;
|
||||
margin-bottom: .5rem;
|
||||
}
|
||||
|
||||
ol {
|
||||
margin-top: 1.25rem;
|
||||
margin-bottom: 1.25rem;
|
||||
@ -13,11 +14,12 @@ ol {
|
||||
content: counter(list-item, decimal) '.';
|
||||
position: absolute;
|
||||
left: 0;
|
||||
color: var(--xm-c-ol-counter);
|
||||
color: var(--xm-c-shallow);
|
||||
font-weight: 400;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ul {
|
||||
margin-top: 1.25rem;
|
||||
margin-bottom: 1.25rem;
|
||||
@ -33,10 +35,11 @@ ul {
|
||||
width: .375rem;
|
||||
height: .375rem;
|
||||
border-radius: 50%;
|
||||
background-color: var(--xm-c-ul-counter);
|
||||
background-color: var(--xm-c-shallower);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ul ul,
|
||||
ul ol,
|
||||
ol ul,
|
17
src/partials/media.scss
Normal file
17
src/partials/media.scss
Normal file
@ -0,0 +1,17 @@
|
||||
img {
|
||||
display: block;
|
||||
max-width: 92%;
|
||||
margin: 1rem auto;
|
||||
border-radius: .2rem;
|
||||
}
|
||||
|
||||
video {
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
iframe {
|
||||
display: flex;
|
||||
width: 92%;
|
||||
margin: auto;
|
||||
border-radius: .2rem;
|
||||
}
|
@ -2,12 +2,14 @@ blockquote,
|
||||
q {
|
||||
margin-top: 1.65rem;
|
||||
margin-bottom: 1.65rem;
|
||||
padding-left: 1rem;
|
||||
border-left: .25rem solid var(--xm-c-quote-border);
|
||||
padding: .6rem 1.2rem;
|
||||
border-left: .25rem solid var(--xm-c-border);
|
||||
color: inherit;
|
||||
font-weight: 500;
|
||||
font-style: italic;
|
||||
line-height: 1.5rem;
|
||||
quotes: '\201C''\201D''\2018''\2019';
|
||||
opacity: .75;
|
||||
p {
|
||||
&:first-of-type::before {
|
||||
content: open-quote;
|
||||
@ -16,4 +18,12 @@ q {
|
||||
content: close-quote;
|
||||
}
|
||||
}
|
||||
> * {
|
||||
&:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
&:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
}
|
19
src/partials/table.scss
Normal file
19
src/partials/table.scss
Normal file
@ -0,0 +1,19 @@
|
||||
table {
|
||||
overflow: auto;
|
||||
width: 100%;
|
||||
border-spacing: 0;
|
||||
border-collapse: collapse;
|
||||
th,
|
||||
td {
|
||||
padding: 6px 13px;
|
||||
border: 1.5px solid var(--xm-c-border-table);
|
||||
}
|
||||
thead th {
|
||||
font-weight: 700;
|
||||
}
|
||||
tbody tr {
|
||||
&:hover {
|
||||
background-color: var(--xm-c-shallowest);
|
||||
}
|
||||
}
|
||||
}
|
@ -2,13 +2,16 @@ p {
|
||||
margin-top: 1.25rem;
|
||||
margin-bottom: 1.25rem;
|
||||
}
|
||||
|
||||
strong {
|
||||
color: var(--xm-c-dark);
|
||||
color: var(--xm-c-deep);
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
b {
|
||||
color: var(--xm-c-dark);
|
||||
color: var(--xm-c-deep);
|
||||
}
|
||||
|
||||
em {
|
||||
color: inherit;
|
||||
}
|
@ -1,15 +1,16 @@
|
||||
h1 {
|
||||
margin-top: 0;
|
||||
margin-bottom: .875rem;
|
||||
color: var(--xm-c-darker);
|
||||
color: var(--xm-c-deeper);
|
||||
font-weight: 800;
|
||||
font-size: 2.25rem;
|
||||
line-height: 1.15;
|
||||
}
|
||||
|
||||
h2 {
|
||||
margin-top: 2rem;
|
||||
margin-bottom: 1rem;
|
||||
color: var(--xm-c-dark);
|
||||
color: var(--xm-c-deep);
|
||||
font-weight: 700;
|
||||
font-size: 1.5rem;
|
||||
line-height: 1.35;
|
||||
@ -20,6 +21,7 @@ h2 {
|
||||
margin-top: 0;
|
||||
}
|
||||
}
|
||||
|
||||
h3 {
|
||||
margin-top: 1.6rem;
|
||||
margin-bottom: .6rem;
|
||||
@ -35,6 +37,7 @@ h3 {
|
||||
margin-top: 0;
|
||||
}
|
||||
}
|
||||
|
||||
h4 {
|
||||
margin-top: 1.5rem;
|
||||
margin-bottom: .5rem;
|
||||
@ -45,6 +48,7 @@ h4 {
|
||||
margin-top: 0;
|
||||
}
|
||||
}
|
||||
|
||||
h5,
|
||||
h6 {
|
||||
margin-top: 20px;
|
||||
@ -54,11 +58,40 @@ h6 {
|
||||
text-transform: uppercase;
|
||||
opacity: .5;
|
||||
}
|
||||
|
||||
hr {
|
||||
margin-top: 3rem;
|
||||
margin-bottom: 3rem;
|
||||
width: 50px;
|
||||
margin-top: 2rem;
|
||||
margin-bottom: 2rem;
|
||||
border-color: var(--xm-c-hr-border);
|
||||
+ * {
|
||||
margin-top: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.header-anchor {
|
||||
float: left;
|
||||
margin-top: 0;
|
||||
margin-left: -1.25rem;
|
||||
padding-right: .5rem;
|
||||
border: 0 !important;
|
||||
font-weight: 600;
|
||||
font-size: inherit;
|
||||
text-decoration: none;
|
||||
opacity: 0;
|
||||
&:hover,
|
||||
&:focus {
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
|
||||
@for $i from 1 through 6 {
|
||||
h#{$i} {
|
||||
&:hover,
|
||||
&:focus {
|
||||
.header-anchor {
|
||||
opacity: .35 + $i * .025;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1,103 +0,0 @@
|
||||
.markdown-body {
|
||||
color: var(--xm-c-general);
|
||||
font-family: var(--xm-font-display) !important;
|
||||
pre:not(.shiki, .highlight) {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
background: transparent;
|
||||
}
|
||||
.shiki,
|
||||
.highlight {
|
||||
margin: .5rem 0;
|
||||
font-size: 1.05rem;
|
||||
font-family: var(--xm-font-mono) !important;
|
||||
line-height: 1.4;
|
||||
&.shiki-light {
|
||||
background: var(--xm-c-shiki-light) !important;
|
||||
}
|
||||
&.shiki-dark {
|
||||
background: var(--xm-c-shiki-dark) !important;
|
||||
}
|
||||
}
|
||||
img {
|
||||
width: 100%;
|
||||
}
|
||||
a {
|
||||
border-bottom: 1px solid var(--xm-c-link-border);
|
||||
font-weight: inherit;
|
||||
text-decoration: none;
|
||||
transition: border .3s ease-in-out;
|
||||
&:hover {
|
||||
border-bottom: 1px solid var(--xm-c-general);
|
||||
}
|
||||
code {
|
||||
color: inherit;
|
||||
}
|
||||
}
|
||||
hr {
|
||||
width: 50px;
|
||||
margin-top: 2rem;
|
||||
margin-bottom: 2rem;
|
||||
}
|
||||
blockquote,
|
||||
q {
|
||||
padding: .6rem 1.2rem;
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
line-height: 1.5rem;
|
||||
opacity: .8;
|
||||
> * {
|
||||
&:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
&:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
p:first-of-type {
|
||||
&::before,
|
||||
&::after {
|
||||
content: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
&:first-child {
|
||||
margin-top: 1rem;
|
||||
}
|
||||
}
|
||||
html:not(.dark) .shiki-dark,
|
||||
.dark .shiki-light {
|
||||
display: none;
|
||||
}
|
||||
.item {
|
||||
text-decoration: none;
|
||||
opacity: .6;
|
||||
transition: .2s all ease-out;
|
||||
&:hover {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
.header-anchor {
|
||||
float: left;
|
||||
margin-top: .125rem;
|
||||
margin-left: -1.25rem;
|
||||
padding-right: .5rem;
|
||||
border: 0 !important;
|
||||
font-size: .875rem;
|
||||
text-decoration: none;
|
||||
opacity: 0;
|
||||
&:hover,
|
||||
&:focus {
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
@for $i from 1 through 6 {
|
||||
h#{$i} {
|
||||
&:hover,
|
||||
&:focus {
|
||||
.header-anchor {
|
||||
opacity: .35 + $i * .025;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1 +0,0 @@
|
||||
@import 'title', 'text', 'link', 'code', 'quote', 'figure', 'list', 'table', 'media';
|
@ -1,6 +0,0 @@
|
||||
@mixin container {
|
||||
max-width: fit-content;
|
||||
color: var(--xm-c-general);
|
||||
font-size: 1rem;
|
||||
line-height: 1.75;
|
||||
}
|
@ -1,8 +0,0 @@
|
||||
a {
|
||||
color: var(--xm-c-darker);
|
||||
font-weight: 500;
|
||||
text-decoration: none;
|
||||
code {
|
||||
color: var(--xm-c-code);
|
||||
}
|
||||
}
|
@ -1,5 +0,0 @@
|
||||
img,
|
||||
video {
|
||||
margin-top: 2rem;
|
||||
margin-bottom: 2rem;
|
||||
}
|
@ -1,44 +0,0 @@
|
||||
table {
|
||||
width: 100%;
|
||||
margin-top: 2rem;
|
||||
margin-bottom: 2rem;
|
||||
table-layout: auto;
|
||||
font-size: .875rem;
|
||||
line-height: 1.75;
|
||||
text-align: left;
|
||||
}
|
||||
thead {
|
||||
border-bottom-width: 1px;
|
||||
border-bottom-color: var(--xm-c-thead-border);
|
||||
color: var(--xm-c-thead);
|
||||
font-weight: 600;
|
||||
th {
|
||||
vertical-align: bottom;
|
||||
padding-left: auto .575rem .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;
|
||||
}
|
||||
}
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
@use 'partials/container' as *;
|
||||
|
||||
.prose {
|
||||
@include container;
|
||||
@import 'partials/all';
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
$shiki-light: #f8f8f8;
|
||||
$shiki-dark: #0e0e0e;
|
||||
$link-border: hsla(0deg 0 50% / .3);
|
||||
$code: #111827;
|
||||
$ol-counter: #6b7280;
|
||||
$ul-counter: #d1d5db;
|
||||
$hr-border: hsla(0deg 0 50% / .3);
|
||||
$quote-border: hsla(0deg 0 50% / .3);
|
||||
$figcaption: #6b7280;
|
||||
$pre: #e5e7eb;
|
||||
$thead: #111827;
|
||||
$thead-border: #d1d5db;
|
||||
$tr-border: #e5e7eb;
|
@ -1,3 +0,0 @@
|
||||
$general: #bbb;
|
||||
$dark: #ddd;
|
||||
$darker: #fff;
|
@ -1,3 +0,0 @@
|
||||
$general: #555;
|
||||
$dark: #222;
|
||||
$darker: #000;
|
@ -1,25 +0,0 @@
|
||||
@use 'sass:meta' as *;
|
||||
|
||||
@use 'variables/constants';
|
||||
@use 'variables/colors';
|
||||
@use 'variables/light';
|
||||
@use 'variables/dark';
|
||||
|
||||
:root {
|
||||
@each $name, $val in module-variables('constants') {
|
||||
--xm-#{$name}: #{$val};
|
||||
}
|
||||
@each $name, $val in module-variables('colors') {
|
||||
--xm-c-#{$name}: #{$val};
|
||||
}
|
||||
}
|
||||
.markdown-body {
|
||||
@each $name, $val in module-variables('light') {
|
||||
--xm-c-#{$name}: #{$val};
|
||||
}
|
||||
}
|
||||
.dark .markdown-body {
|
||||
@each $name, $val in module-variables('dark') {
|
||||
--xm-c-#{$name}: #{$val};
|
||||
}
|
||||
}
|
@ -1,5 +1,8 @@
|
||||
// Font stack
|
||||
$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-serif: 'Merriweather', 'Georgia', 'Times New Roman', 'Times', 'Source Han Serif Traditional Chinese', 'Source Han Serif Simplified Chinese', 'Noto Serif TC', 'Noto Serif SC', serif;
|
||||
$font-mono: 'DM Mono', 'Fira Code', 'Jetbrains Mono', 'Input Mono', 'Menlo', 'MesloLGS NF', 'Ubuntu', monospace;
|
||||
$font-mono: 'DM Mono', 'Fira Code', 'Jetbrains Mono', 'Input Mono', 'Menlo', 'MesloLGS NF', 'Ubuntu', 'Sarasa Gothic TC', 'Sarasa Gothic SC', monospace;
|
||||
|
||||
// Font defaults
|
||||
$font-display: var(--xm-font-sans);
|
||||
$font-code: var(--xm-font-mono);
|
10
src/variables/modes/_dark.scss
Normal file
10
src/variables/modes/_dark.scss
Normal file
@ -0,0 +1,10 @@
|
||||
// Dark mode
|
||||
|
||||
$shallowest: #212121;
|
||||
$shallower: #555;
|
||||
$shallow: #777;
|
||||
$regular: #bbb;
|
||||
$deep: #ddd;
|
||||
$deeper: #fff;
|
||||
$border: hsla(0deg 0% 75% / .35);
|
||||
$border-table: hsla(0deg 0% 40% / .75);
|
10
src/variables/modes/_light.scss
Normal file
10
src/variables/modes/_light.scss
Normal file
@ -0,0 +1,10 @@
|
||||
// Light mode
|
||||
|
||||
$shallowest: #f8f8f8;
|
||||
$shallower: #ddd;
|
||||
$shallow: #bbb;
|
||||
$regular: #555;
|
||||
$deep: #222;
|
||||
$deeper: #000;
|
||||
$border: hsla(0deg 0% 50% / .35);
|
||||
$border-table: hsla(0deg 0% 50% / .5);
|
Reference in New Issue
Block a user