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

Compare commits

...

25 Commits

Author SHA1 Message Date
39c543c7f6 docs(readme): add usage in CSS files 2023-03-04 18:44:50 +08:00
b383912f30 docs(readme): replace node badge with ci one 2023-03-04 18:19:01 +08:00
74a4cda9d3 docs(readme): change the colors of the badges 2023-03-04 17:31:13 +08:00
13a8c92ebe chore(build): remove useless blank line in Gruntfile.coffee 2023-03-04 17:25:33 +08:00
7e5821b10d chore(config): add top comment to .editorconfig 2023-03-04 17:22:46 +08:00
a365317c85 refactor(fonts)!: add font-code to let managing code fonts more flexible 2023-03-04 17:19:15 +08:00
213ea5f44f refactor(vars): create modes directory 2023-03-04 16:53:06 +08:00
5ee77990a6 refactor(vars): organize variables 2023-03-04 16:49:47 +08:00
59745590c2 fix(vars): fix deprecated color expression in Sass 2023-03-04 16:46:29 +08:00
17631306a8 feat(vars)!: rename variable $general to $regular 2023-03-04 16:36:56 +08:00
d8f3f549dc docs(readme): rename "Uses" section and add description 2023-03-04 16:30:38 +08:00
f988a9dddb chore: release v0.0.1-patch.3 2023-03-03 22:54:56 +08:00
3f5fc5f93b docs(readme): move development infos into a independent section 2023-03-03 22:54:37 +08:00
1b2245bab9 chore: release v0.0.1-patch.2 2023-03-03 22:47:54 +08:00
7b50254f83 docs(readme): fix typo in "Usage" block 2023-03-03 22:47:39 +08:00
5f9424617e chore: release v0.0.1-patch.1 2023-03-03 22:46:22 +08:00
f169a6c49a docs(readme): add usage in Sass / SCSS 2023-03-03 22:46:03 +08:00
ba62d6e364 chore: release v0.0.1-patch.0 2023-03-03 21:09:54 +08:00
d7c5188b7d docs(readme): add "Browsers Support" block 2023-03-03 21:09:33 +08:00
de8b9d621c chore(ci): include all files in dist instead of the dir to build.tar.gz 2023-03-03 20:58:09 +08:00
8bb74891ce chore(ci): add LTS to Ubuntu 22.04 comment 2023-03-03 20:54:14 +08:00
d33f046030 chore: release v0.0.1 2023-03-03 20:15:39 +08:00
bd8d8822e5 revert: 706720b8fe 2023-03-03 20:15:12 +08:00
d9678940f2 chore: release v0.0.0-20230303.9 2023-03-03 20:09:40 +08:00
706720b8fe chore(ci): use windows-2022 instead of ubuntu-22.04 to release 2023-03-03 20:07:17 +08:00
20 changed files with 101 additions and 61 deletions

View File

@ -1,3 +1,5 @@
# EditorConfig <http://editorconfig.org>
root = true root = true
[*] [*]

View File

@ -11,7 +11,7 @@ on:
jobs: jobs:
# Test Lint # Test Lint
lint: lint:
# Use Ubuntu 22.04 # Use Ubuntu 22.04 LTS
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
# Step I # Step I

View File

@ -8,7 +8,7 @@ on:
jobs: jobs:
# NPM Registry & GitHub Release # NPM Registry & GitHub Release
release: release:
# Use Ubuntu 22.04 # Use Ubuntu 22.04 LTS
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
# Step I # Step I
@ -33,7 +33,7 @@ jobs:
uses: TheDoctor0/zip-release@0.7.1 uses: TheDoctor0/zip-release@0.7.1
with: with:
type: tar type: tar
path: dist/ path: dist/*
filename: build.tar.gz filename: build.tar.gz
# Step VI # Step VI
- name: Publish to NPM Registry - name: Publish to NPM Registry
@ -46,7 +46,7 @@ jobs:
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# Step VIII # Step VIII
# - Pre-release # / pre-release
- name: GitHub Release (pre-release) - name: GitHub Release (pre-release)
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') && contains(github.ref, '-') if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') && contains(github.ref, '-')
uses: softprops/action-gh-release@v1 uses: softprops/action-gh-release@v1
@ -55,7 +55,7 @@ jobs:
files: | files: |
dist/* dist/*
build.tar.gz build.tar.gz
# - Release # / release
- name: GitHub Release (release) - name: GitHub Release (release)
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') && contains(github.ref, '-') == false if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') && contains(github.ref, '-') == false
uses: softprops/action-gh-release@v1 uses: softprops/action-gh-release@v1

View File

@ -1,7 +1,6 @@
module.exports = (grunt) -> module.exports = (grunt) ->
# Load Grunt Tasks # Load Grunt Tasks
require('load-grunt-tasks') grunt require('load-grunt-tasks') grunt
# Project Configuration # Project Configuration
grunt.initConfig grunt.initConfig
# NPM Package Declare # NPM Package Declare

View File

@ -2,25 +2,75 @@
<center> <center>
[![Version](https://img.shields.io/npm/v/x-markdown-css.svg)](https://www.npmjs.com/package/x-markdown-css) [![NPM Version](https://img.shields.io/npm/v/x-markdown-css)](https://www.npmjs.com/package/x-markdown-css)
[![Node.js Requirement](https://img.shields.io/badge/node-%3E%3D16-blue.svg)](https://github.com/kuohuanhuan/x-markdown-css/blob/master/package.json) [![GitHub Actions](https://img.shields.io/github/actions/workflow/status/kuohuanhuan/x-markdown-css/ci.yml)](https://github.com/kuohuanhuan/x-markdown-css/actions/workflows/ci.yml)
[![MIT License](https://img.shields.io/github/license/kuohuanhuan/x-markdown-css)](https://github.com/kuohuanhuan/x-markdown-css/blob/master/LICENSE) [![MIT License](https://img.shields.io/github/license/kuohuanhuan/x-markdown-css?color=blue)](https://github.com/kuohuanhuan/x-markdown-css/blob/master/LICENSE)
</center> </center>
> A simple and customizable markdown CSS stylesheet for everyone. > 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.**
## Usage
You can use `x-markdown-css` with:
1. 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. Note that `bundle.css` without `.min` stands for unminified version.*
2. A CSS (with Node.js) / Sass / SCSS project:
First, install it with NPM ([PNPM](https://pnpm.io) or [Yarn](https://yarnpkg.com) also works):
```sh
npm i x-markdown-css@latest
```
Then, add it to your `.css` / `.sass` / `.scss` file.
For example, in CSS / SCSS you do:
```css
@import 'x-markdown-css';
```
> *ps. Note that no path or file extention is required
> since the `style` and `sass` field in `package.json` is filled.
> Just simply use `'x-markdown-css'` to import it.*
## 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 - Node.js >= 16
## Install ### Install
```sh ```sh
npm i npm i
``` ```
## Build ### Build
```sh ```sh
npm run build npm run build
@ -38,26 +88,6 @@ or
npx grunt build 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 ## Contributing
PRs, issues and feature requests are welcome! PRs, issues and feature requests are welcome!

2
package-lock.json generated
View File

@ -1,6 +1,6 @@
{ {
"name": "x-markdown-css", "name": "x-markdown-css",
"version": "0.0.0-20230303.7", "version": "0.0.1-patch.3",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {

View File

@ -1,6 +1,6 @@
{ {
"name": "x-markdown-css", "name": "x-markdown-css",
"version": "0.0.0-20230303.7", "version": "0.0.1-patch.3",
"description": "A simple and customizable markdown CSS stylesheet for everyone.", "description": "A simple and customizable markdown CSS stylesheet for everyone.",
"keywords": [ "keywords": [
"markdown", "markdown",

View File

@ -1,5 +1,5 @@
.markdown-body { .markdown-body {
color: var(--xm-c-general); color: var(--xm-c-regular);
font-family: var(--xm-font-display) !important; font-family: var(--xm-font-display) !important;
pre:not(.shiki, .highlight) { pre:not(.shiki, .highlight) {
margin: 0; margin: 0;
@ -10,7 +10,7 @@
.highlight { .highlight {
margin: .5rem 0; margin: .5rem 0;
font-size: 1.05rem; font-size: 1.05rem;
font-family: var(--xm-font-mono) !important; font-family: var(--xm-font-code) !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;
@ -28,7 +28,7 @@
text-decoration: none; text-decoration: none;
transition: border .3s ease-in-out; transition: border .3s ease-in-out;
&:hover { &:hover {
border-bottom: 1px solid var(--xm-c-general); border-bottom: 1px solid var(--xm-c-regular);
} }
code { code {
color: inherit; color: inherit;

View File

@ -1,6 +1,6 @@
@mixin container { @mixin container {
max-width: fit-content; max-width: fit-content;
color: var(--xm-c-general); color: var(--xm-c-regular);
font-size: 1rem; font-size: 1rem;
line-height: 1.75; line-height: 1.75;
} }

View File

@ -1,8 +1,8 @@
code { code {
color: var(--xm-c-dark); color: var(--xm-c-deep);
font-weight: 600; font-weight: 600;
font-size: .875rem; font-size: .875rem;
font-family: var(--xm-font-mono); font-family: var(--xm-font-code);
&::before, &::before,
&::after { &::after {
content: '`'; content: '`';

View File

@ -1,5 +1,5 @@
a { a {
color: var(--xm-c-darker); color: var(--xm-c-deeper);
font-weight: 500; font-weight: 500;
text-decoration: none; text-decoration: none;
code { code {

View File

@ -3,11 +3,11 @@ p {
margin-bottom: 1.25rem; margin-bottom: 1.25rem;
} }
strong { strong {
color: var(--xm-c-dark); color: var(--xm-c-deep);
font-weight: 600; font-weight: 600;
} }
b { b {
color: var(--xm-c-dark); color: var(--xm-c-deep);
} }
em { em {
color: inherit; color: inherit;

View File

@ -1,7 +1,7 @@
h1 { h1 {
margin-top: 0; margin-top: 0;
margin-bottom: .875rem; margin-bottom: .875rem;
color: var(--xm-c-darker); color: var(--xm-c-deeper);
font-weight: 800; font-weight: 800;
font-size: 2.25rem; font-size: 2.25rem;
line-height: 1.15; line-height: 1.15;
@ -9,7 +9,7 @@ h1 {
h2 { h2 {
margin-top: 2rem; margin-top: 2rem;
margin-bottom: 1rem; margin-bottom: 1rem;
color: var(--xm-c-dark); color: var(--xm-c-deep);
font-weight: 700; font-weight: 700;
font-size: 1.5rem; font-size: 1.5rem;
line-height: 1.35; line-height: 1.35;

View File

@ -1,13 +1,18 @@
$shiki-light: #f8f8f8; // Colors
$shiki-dark: #0e0e0e; $pre: #e5e7eb;
$link-border: hsla(0deg 0 50% / .3);
$code: #111827; $code: #111827;
$figcaption: #6b7280;
$thead: #111827;
$ol-counter: #6b7280; $ol-counter: #6b7280;
$ul-counter: #d1d5db; $ul-counter: #d1d5db;
$hr-border: hsla(0deg 0 50% / .3);
$quote-border: hsla(0deg 0 50% / .3); // Border
$figcaption: #6b7280; $link-border: hsla(0deg 0% 50% / .3);
$pre: #e5e7eb; $hr-border: hsla(0deg 0% 50% / .3);
$thead: #111827; $quote-border: hsla(0deg 0% 50% / .3);
$thead-border: #d1d5db; $thead-border: #d1d5db;
$tr-border: #e5e7eb; $tr-border: #e5e7eb;
// Shiki (code highlight)
$shiki-light: #f8f8f8;
$shiki-dark: #0e0e0e;

View File

@ -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-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-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', monospace;
// Font defaults
$font-display: var(--xm-font-sans); $font-display: var(--xm-font-sans);
$font-code: var(--xm-font-mono);

View File

@ -1,3 +0,0 @@
$general: #bbb;
$dark: #ddd;
$darker: #fff;

View File

@ -1,3 +0,0 @@
$general: #555;
$dark: #222;
$darker: #000;

View File

@ -0,0 +1,3 @@
$regular: #bbb;
$deep: #ddd;
$deeper: #fff;

View File

@ -0,0 +1,3 @@
$regular: #555;
$deep: #222;
$deeper: #000;

View File

@ -2,8 +2,9 @@
@use 'variables/constants'; @use 'variables/constants';
@use 'variables/colors'; @use 'variables/colors';
@use 'variables/light';
@use 'variables/dark'; @use 'variables/modes/light';
@use 'variables/modes/dark';
:root { :root {
@each $name, $val in module-variables('constants') { @each $name, $val in module-variables('constants') {