1
0
mirror of https://github.com/kuohuanhuan/x-markdown-css.git synced 2024-11-25 06:18:19 +00:00

Compare commits

...

21 Commits

Author SHA1 Message Date
6b4fd5f2c5 chore: release v0.1.4 2023-03-08 18:49:35 +08:00
c8bc7d3438 feat(colors): rename $border-rev to $border-table 2023-03-08 18:45:18 +08:00
b44d47b14f chore: release v0.1.3 2023-03-07 22:29:52 +08:00
5fcbb64413 fix(figure): use correct color for figcaption 2023-03-07 22:28:53 +08:00
0af430670a style(comments): add comments to describe light/dark modes 2023-03-07 22:26:09 +08:00
47e16ecde7 fix(colors): solve deprecated grammars 2023-03-07 22:25:07 +08:00
bf04be0379 feat(quote): apply opacity: .75; instead of .8 on quotes 2023-03-07 22:22:48 +08:00
b43013e33e feat(table): use more flexible selector for thead and tbody 2023-03-07 22:18:31 +08:00
0f50a7c98d fix(media): remove hardcoded pixel height and width 2023-03-07 22:09:11 +08:00
f4d95387c3 style: run Stylelint to fix lint problems 2023-03-07 22:07:28 +08:00
42967ea775 feat(link): improve user experience with links 2023-03-07 22:04:15 +08:00
b4d1423d37 feat(colors): update default color palette 2023-03-07 21:59:39 +08:00
008564db1b chore: release v0.1.2 2023-03-07 21:18:34 +08:00
21de988cb9 feat(colors)!: rewrite color variables logic 2023-03-07 21:18:13 +08:00
5568aa278f chore: release v0.1.1-patch 2023-03-07 20:17:04 +08:00
919ebfaf39 chore(package)!: fix incorrect dependency 2023-03-07 20:16:20 +08:00
458b495b44 chore: release v0.1.1 2023-03-07 19:53:37 +08:00
ff23b42eec feat(title): improve .header-anchor display effect 2023-03-07 19:47:52 +08:00
32be4bf51a refactor: use @forward instead of @use in _all.scss 2023-03-07 18:57:50 +08:00
ce94858f01 feat(code): add specify styles for code blocks 2023-03-07 18:56:37 +08:00
6c0c7e7624 fix(code): remove Shiki integration 2023-03-07 18:38:01 +08:00
15 changed files with 99 additions and 131 deletions

61
package-lock.json generated
View File

@ -1,19 +1,19 @@
{ {
"name": "x-markdown-css", "name": "x-markdown-css",
"version": "0.1.0", "version": "0.1.4",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "x-markdown-css", "name": "x-markdown-css",
"version": "0.0.5", "version": "0.1.1",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"coffeescript": "^2.7.0", "coffeescript": "^2.7.0",
"sass": "^1.58.3" "sass": "^1.58.3"
}, },
"devDependencies": { "devDependencies": {
"@kuohuanhuan/stylelint-config": "^0.0.3", "@kuohuanhuan/stylelint-config": "^0.0.4",
"@lodder/grunt-postcss": "^3.1.1", "@lodder/grunt-postcss": "^3.1.1",
"autoprefixer": "^10.4.13", "autoprefixer": "^10.4.13",
"bumpp": "^9.0.0", "bumpp": "^9.0.0",
@ -620,14 +620,13 @@
} }
}, },
"node_modules/@kuohuanhuan/stylelint-config": { "node_modules/@kuohuanhuan/stylelint-config": {
"version": "0.0.3", "version": "0.0.4",
"resolved": "https://registry.npmjs.org/@kuohuanhuan/stylelint-config/-/stylelint-config-0.0.3.tgz", "resolved": "https://registry.npmjs.org/@kuohuanhuan/stylelint-config/-/stylelint-config-0.0.4.tgz",
"integrity": "sha512-Z8TayDNZ/LolcOSYbEdrch0hSmIVrS/wBVAsuwZAfsIkqaCKRhoBydv+pN9CQeFxkYqyVjvNhYiEKORu/ZsrTA==", "integrity": "sha512-/BNDzhnjeddfeKqQtd6qk0WkC1jiWg2c9mheKTo4CMXXgcgNznGoaMjtTEGhxXD4C6xg4Fl0U6IBOxL+fgOE+A==",
"dev": true, "dev": true,
"peerDependencies": { "peerDependencies": {
"bumpp": "^9.0.0", "bumpp": "^9.0.0",
"postcss-scss": "^4.0.6", "postcss-scss": "^4.0.6",
"prettier": "2.8.4",
"stylelint": "^15.2.0", "stylelint": "^15.2.0",
"stylelint-order": "^6.0.2", "stylelint-order": "^6.0.2",
"stylelint-scss": "^4.4.0" "stylelint-scss": "^4.4.0"
@ -1024,9 +1023,9 @@
} }
}, },
"node_modules/caniuse-lite": { "node_modules/caniuse-lite": {
"version": "1.0.30001460", "version": "1.0.30001462",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001460.tgz", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001462.tgz",
"integrity": "sha512-Bud7abqjvEjipUkpLs4D7gR0l8hBYBHoa+tGtKJHvT2AYzLp1z7EmVkUT4ERpVUfca8S2HGIVs883D8pUH1ZzQ==", "integrity": "sha512-PDd20WuOBPiasZ7KbFnmQRyuLE7cFXW2PVd7dmALzbkUXEP46upAuCDm9eY9vho8fgNMGmbAX92QBZHzcnWIqw==",
"dev": true, "dev": true,
"funding": [ "funding": [
{ {
@ -1590,9 +1589,9 @@
"dev": true "dev": true
}, },
"node_modules/electron-to-chromium": { "node_modules/electron-to-chromium": {
"version": "1.4.320", "version": "1.4.322",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.320.tgz", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.322.tgz",
"integrity": "sha512-h70iRscrNluMZPVICXYl5SSB+rBKo22XfuIS1ER0OQxQZpKTnFpuS6coj7wY9M/3trv7OR88rRMOlKmRvDty7Q==", "integrity": "sha512-KovjizNC9XB7dno/2GjxX8VS0SlfPpCjtyoKft+bCO+UfD8bFy16hY4Sh9s0h9BDxbRH2U0zX5VBjpM1LTcNlg==",
"dev": true "dev": true
}, },
"node_modules/emoji-regex": { "node_modules/emoji-regex": {
@ -4180,9 +4179,9 @@
} }
}, },
"node_modules/postcss-sorting": { "node_modules/postcss-sorting": {
"version": "8.0.1", "version": "8.0.2",
"resolved": "https://registry.npmjs.org/postcss-sorting/-/postcss-sorting-8.0.1.tgz", "resolved": "https://registry.npmjs.org/postcss-sorting/-/postcss-sorting-8.0.2.tgz",
"integrity": "sha512-go9Zoxx7KQH+uLrJ9xa5wRErFeXu01ydA6O8m7koPXkmAN7Ts//eRcIqjo0stBR4+Nir2gMYDOWAOx7O5EPUZA==", "integrity": "sha512-M9dkSrmU00t/jK7rF6BZSZauA5MAaBW4i5EnJXspMwt4iqTh/L9j6fgMnbElEOfyRyfLfVbIHj/R52zHzAPe1Q==",
"dev": true, "dev": true,
"peer": true, "peer": true,
"peerDependencies": { "peerDependencies": {
@ -4226,22 +4225,6 @@
"integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
"dev": true "dev": true
}, },
"node_modules/prettier": {
"version": "2.8.4",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.4.tgz",
"integrity": "sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw==",
"dev": true,
"peer": true,
"bin": {
"prettier": "bin-prettier.js"
},
"engines": {
"node": ">=10.13.0"
},
"funding": {
"url": "https://github.com/prettier/prettier?sponsor=1"
}
},
"node_modules/pretty-bytes": { "node_modules/pretty-bytes": {
"version": "5.6.0", "version": "5.6.0",
"resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz",
@ -4686,9 +4669,9 @@
} }
}, },
"node_modules/spdx-correct": { "node_modules/spdx-correct": {
"version": "3.1.1", "version": "3.2.0",
"resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz",
"integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"spdx-expression-parse": "^3.0.0", "spdx-expression-parse": "^3.0.0",
@ -4860,14 +4843,14 @@
} }
}, },
"node_modules/stylelint-order": { "node_modules/stylelint-order": {
"version": "6.0.2", "version": "6.0.3",
"resolved": "https://registry.npmjs.org/stylelint-order/-/stylelint-order-6.0.2.tgz", "resolved": "https://registry.npmjs.org/stylelint-order/-/stylelint-order-6.0.3.tgz",
"integrity": "sha512-yuac0BE6toHd27wUPvYVVQicAJthKFIv1HPQFH3Q0dExiO3Z6Uam7geoO0tUd5Z9ddsATYK++1qWNDX4RxMH5Q==", "integrity": "sha512-1j1lOb4EU/6w49qZeT2SQVJXm0Ht+Qnq9GMfUa3pMwoyojIWfuA+JUDmoR97Bht1RLn4ei0xtLGy87M7d29B1w==",
"dev": true, "dev": true,
"peer": true, "peer": true,
"dependencies": { "dependencies": {
"postcss": "^8.4.21", "postcss": "^8.4.21",
"postcss-sorting": "^8.0.1" "postcss-sorting": "^8.0.2"
}, },
"peerDependencies": { "peerDependencies": {
"stylelint": "^14.0.0 || ^15.0.0" "stylelint": "^14.0.0 || ^15.0.0"

View File

@ -1,6 +1,6 @@
{ {
"name": "x-markdown-css", "name": "x-markdown-css",
"version": "0.1.0", "version": "0.1.4",
"description": "A simple and customizable markdown CSS stylesheet for everyone.", "description": "A simple and customizable markdown CSS stylesheet for everyone.",
"keywords": [ "keywords": [
"markdown", "markdown",
@ -47,7 +47,7 @@
"sass": "^1.58.3" "sass": "^1.58.3"
}, },
"devDependencies": { "devDependencies": {
"@kuohuanhuan/stylelint-config": "^0.0.3", "@kuohuanhuan/stylelint-config": "^0.0.4",
"@lodder/grunt-postcss": "^3.1.1", "@lodder/grunt-postcss": "^3.1.1",
"autoprefixer": "^10.4.13", "autoprefixer": "^10.4.13",
"bumpp": "^9.0.0", "bumpp": "^9.0.0",

View File

@ -1,6 +1,5 @@
@use 'sass:meta'; @use 'sass:meta';
@use 'variables/constants'; @use 'variables/constants';
@use 'variables/colors';
@use 'variables/modes/light'; @use 'variables/modes/light';
@use 'variables/modes/dark'; @use 'variables/modes/dark';
@ -8,10 +7,6 @@
@each $name, $val in meta.module-variables('constants') { @each $name, $val in meta.module-variables('constants') {
--xm-#{$name}: #{$val}; --xm-#{$name}: #{$val};
} }
@each $name, $val in meta.module-variables('colors') {
--xm-c-#{$name}: #{$val};
}
} }
.markdown-body { .markdown-body {

View File

@ -1,9 +1,9 @@
@use 'title'; @forward 'title';
@use 'text'; @forward 'text';
@use 'link'; @forward 'link';
@use 'code'; @forward 'code';
@use 'quote'; @forward 'quote';
@use 'figure'; @forward 'figure';
@use 'list'; @forward 'list';
@use 'table'; @forward 'table';
@use 'media'; @forward 'media';

View File

@ -15,7 +15,7 @@ pre {
margin-bottom: 1.75rem; margin-bottom: 1.75rem;
padding-top: .875rem, 1.15rem; padding-top: .875rem, 1.15rem;
border-radius: .375rem; border-radius: .375rem;
color: var(--xm-c-pre); color: var(--xm-c-deep);
font-size: .875rem; font-size: .875rem;
line-height: 1.75; line-height: 1.75;
code { code {
@ -33,11 +33,10 @@ pre {
content: none; content: none;
} }
} }
} &:has(code) {
margin: .5rem 0;
.shiki { font-size: 1.05rem;
margin: .5rem 0; font-family: var(--xm-font-code);
font-size: 1.05rem; line-height: 1.4;
font-family: var(--xm-font-code) !important; }
line-height: 1.4;
} }

View File

@ -3,7 +3,7 @@ figure {
margin-bottom: 2rem; margin-bottom: 2rem;
figcaption { figcaption {
margin-top: .875rem; margin-top: .875rem;
color: var(--xm-c-figcaption); color: var(--xm-c-shallow);
font-size: .875rem; font-size: .875rem;
line-height: 1.45; line-height: 1.45;
} }

View File

@ -1,13 +1,19 @@
a { a {
border-bottom: 1px solid var(--xm-c-a-border); border-bottom: 1px solid var(--xm-c-border);
color: var(--xm-c-deeper); color: var(--xm-c-deeper);
font-weight: 500; font-weight: 500;
text-decoration: none; text-decoration: none;
transition: border .3s ease-in-out; transition: border .3s ease-in-out;
code { code {
color: var(--xm-c-code); color: var(--xm-c-deep);
} }
&:hover { &:hover {
border-bottom: 1px solid var(--xm-c-regular); border-bottom: 1px solid var(--xm-c-regular);
} }
&:not([href]) {
border-bottom: none;
color: inherit;
font-weight: normal;
transition: none;
}
} }

View File

@ -14,7 +14,7 @@ ol {
content: counter(list-item, decimal) '.'; content: counter(list-item, decimal) '.';
position: absolute; position: absolute;
left: 0; left: 0;
color: var(--xm-c-ol-counter); color: var(--xm-c-shallow);
font-weight: 400; font-weight: 400;
} }
} }
@ -35,7 +35,7 @@ ul {
width: .375rem; width: .375rem;
height: .375rem; height: .375rem;
border-radius: 50%; border-radius: 50%;
background-color: var(--xm-c-ul-counter); background-color: var(--xm-c-shallower);
} }
} }
} }

View File

@ -1,6 +1,17 @@
img, img {
video { display: block;
width: 100%; max-width: 92%;
margin-top: 2rem; margin: 1rem auto;
margin-bottom: 2rem; border-radius: .2rem;
}
video {
margin: auto;
}
iframe {
display: flex;
width: 92%;
margin: auto;
border-radius: .2rem;
} }

View File

@ -3,13 +3,13 @@ q {
margin-top: 1.65rem; margin-top: 1.65rem;
margin-bottom: 1.65rem; margin-bottom: 1.65rem;
padding: .6rem 1.2rem; padding: .6rem 1.2rem;
border-left: .25rem solid var(--xm-c-quote-border); border-left: .25rem solid var(--xm-c-border);
color: inherit; color: inherit;
font-weight: 500; font-weight: 500;
font-style: italic; font-style: italic;
line-height: 1.5rem; line-height: 1.5rem;
quotes: '\201C''\201D''\2018''\2019'; quotes: '\201C''\201D''\2018''\2019';
opacity: .8; opacity: .75;
p { p {
&:first-of-type::before { &:first-of-type::before {
content: open-quote; content: open-quote;

View File

@ -1,46 +1,19 @@
table { table {
overflow: auto;
width: 100%; width: 100%;
margin-top: 2rem; border-spacing: 0;
margin-bottom: 2rem; border-collapse: collapse;
table-layout: auto; th,
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 { td {
vertical-align: top; padding: 6px 13px;
padding: .575rem; border: 1.5px solid var(--xm-c-border-table);
&:first-child { }
padding-left: 0; thead th {
} font-weight: 700;
&:last-child { }
padding-right: 0; tbody tr {
&:hover {
background-color: var(--xm-c-shallowest);
} }
} }
} }

View File

@ -71,11 +71,12 @@ hr {
.header-anchor { .header-anchor {
float: left; float: left;
margin-top: .125rem; margin-top: 0;
margin-left: -1.25rem; margin-left: -1.25rem;
padding-right: .5rem; padding-right: .5rem;
border: 0 !important; border: 0 !important;
font-size: .875rem; font-weight: 600;
font-size: inherit;
text-decoration: none; text-decoration: none;
opacity: 0; opacity: 0;
&:hover, &:hover,

View File

@ -1,14 +0,0 @@
// Colors
$pre: #e5e7eb;
$code: #111827;
$figcaption: #6b7280;
$thead: #111827;
$ol-counter: #6b7280;
$ul-counter: #d1d5db;
// Border
$a-border: hsla(0deg 0% 50% / .3);
$hr-border: hsla(0deg 0% 50% / .3);
$quote-border: hsla(0deg 0% 50% / .3);
$thead-border: #d1d5db;
$tr-border: #e5e7eb;

View File

@ -1,3 +1,10 @@
// Dark mode
$shallowest: #212121;
$shallower: #555;
$shallow: #777;
$regular: #bbb; $regular: #bbb;
$deep: #ddd; $deep: #ddd;
$deeper: #fff; $deeper: #fff;
$border: hsla(0deg 0% 75% / .35);
$border-table: hsla(0deg 0% 40% / .75);

View File

@ -1,3 +1,10 @@
// Light mode
$shallowest: #f8f8f8;
$shallower: #ddd;
$shallow: #bbb;
$regular: #555; $regular: #555;
$deep: #222; $deep: #222;
$deeper: #000; $deeper: #000;
$border: hsla(0deg 0% 50% / .35);
$border-table: hsla(0deg 0% 50% / .5);