mirror of
				https://github.com/kuohuanhuan/x-markdown-css.git
				synced 2024-11-25 06:18:19 +00:00 
			
		
		
		
	Compare commits
	
		
			2 Commits
		
	
	
		
			master
			...
			3e1fb0425a
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						
						
							
						
						3e1fb0425a
	
				 | 
					
					
						|||
| 
						
						
							
						
						e12c48b107
	
				 | 
					
					
						
							
								
								
									
										8
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
								
							@ -4,12 +4,6 @@ on:
 | 
			
		||||
  push:
 | 
			
		||||
    branches:
 | 
			
		||||
      - master
 | 
			
		||||
    paths:
 | 
			
		||||
      - src/**.scss
 | 
			
		||||
      - package.json
 | 
			
		||||
      - Gruntfile.coffee
 | 
			
		||||
      - .stylelintrc
 | 
			
		||||
      - .stylelintignore
 | 
			
		||||
  pull_request:
 | 
			
		||||
    branches:
 | 
			
		||||
      - master
 | 
			
		||||
@ -27,7 +21,7 @@ jobs:
 | 
			
		||||
      - name: Setup Node.js
 | 
			
		||||
        uses: actions/setup-node@v3
 | 
			
		||||
        with:
 | 
			
		||||
          node-version: lts/*
 | 
			
		||||
          node-version: 18
 | 
			
		||||
          registry-url: https://registry.npmjs.com
 | 
			
		||||
      # Step III
 | 
			
		||||
      - name: Install Dependencies
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										10
									
								
								.github/workflows/release.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										10
									
								
								.github/workflows/release.yml
									
									
									
									
										vendored
									
									
								
							@ -1,15 +1,15 @@
 | 
			
		||||
name: Release
 | 
			
		||||
name: Build and Release
 | 
			
		||||
 | 
			
		||||
on:
 | 
			
		||||
  push:
 | 
			
		||||
    tags:
 | 
			
		||||
      - v*
 | 
			
		||||
      - 'v*'
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  # NPM Registry & GitHub Release
 | 
			
		||||
  release:
 | 
			
		||||
    # Use Windows Server 2022
 | 
			
		||||
    runs-on: windows-2022
 | 
			
		||||
    # Use Ubuntu 22.04 LTS
 | 
			
		||||
    runs-on: ubuntu-22.04
 | 
			
		||||
    steps:
 | 
			
		||||
      # Step I
 | 
			
		||||
      - name: Get Source Code
 | 
			
		||||
@ -20,7 +20,7 @@ jobs:
 | 
			
		||||
      - name: Setup Node.js
 | 
			
		||||
        uses: actions/setup-node@v3
 | 
			
		||||
        with:
 | 
			
		||||
          node-version: lts/*
 | 
			
		||||
          node-version: 18
 | 
			
		||||
          registry-url: https://registry.npmjs.com
 | 
			
		||||
      # Step III
 | 
			
		||||
      - name: Install Dependencies
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										19
									
								
								.stylelintrc
									
									
									
									
									
								
							
							
						
						
									
										19
									
								
								.stylelintrc
									
									
									
									
									
								
							@ -1,4 +1,21 @@
 | 
			
		||||
{
 | 
			
		||||
  "ignoreDisables": true,
 | 
			
		||||
  "extends": "@kuohuanhuan/stylelint-config"
 | 
			
		||||
  "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
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										36
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										36
									
								
								README.md
									
									
									
									
									
								
							@ -1,9 +1,5 @@
 | 
			
		||||
<h1 align="center">x-markdown-css</h1>
 | 
			
		||||
 | 
			
		||||
> [!IMPORTANT]  
 | 
			
		||||
> I am working on a new CSS styling library, so `x-markdown-css` is deprecated.  
 | 
			
		||||
> PS. Sass dev team supports Palestine Hamas. **I am dropping it.**
 | 
			
		||||
 | 
			
		||||
<center>
 | 
			
		||||
 | 
			
		||||
[](https://www.npmjs.com/package/x-markdown-css)
 | 
			
		||||
@ -18,9 +14,37 @@
 | 
			
		||||
 | 
			
		||||
According to [.browserslistrc](https://github.com/kuohuanhuan/x-markdown-css/blob/master/.browserslistrc), `x-markdown-css` supports **all browsers support CSS variables.**
 | 
			
		||||
 | 
			
		||||
## Get Started
 | 
			
		||||
## Usage
 | 
			
		||||
 | 
			
		||||
Visit the [Wiki](https://github.com/kuohuanhuan/x-markdown-css/wiki) page for more information.
 | 
			
		||||
You can use `x-markdown-css` with:
 | 
			
		||||
 | 
			
		||||
1. A CDN service:
 | 
			
		||||
 | 
			
		||||
- UNPKG: `https://unpkg.com/x-markdown-css`
 | 
			
		||||
- jsDelivr: `https://fastly.jsdelivr.net/npm/x-markdown-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.*
 | 
			
		||||
 | 
			
		||||
1. 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
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										1841
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										1841
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										16
									
								
								package.json
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								package.json
									
									
									
									
									
								
							@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
  "name": "x-markdown-css",
 | 
			
		||||
  "version": "0.1.6",
 | 
			
		||||
  "version": "0.0.5",
 | 
			
		||||
  "description": "A simple and customizable markdown CSS stylesheet for everyone.",
 | 
			
		||||
  "keywords": [
 | 
			
		||||
    "markdown",
 | 
			
		||||
@ -23,11 +23,7 @@
 | 
			
		||||
    "type": "git",
 | 
			
		||||
    "url": "git+https://github.com/kuohuanhuan/x-markdown-css.git"
 | 
			
		||||
  },
 | 
			
		||||
  "author": {
 | 
			
		||||
    "name": "kuohuanhuan",
 | 
			
		||||
    "email": "hi@nekohuan.cyou",
 | 
			
		||||
    "url": "https://nekohuan.cyou"
 | 
			
		||||
  },
 | 
			
		||||
  "author": "kuohuanhuan",
 | 
			
		||||
  "license": "MIT",
 | 
			
		||||
  "bugs": {
 | 
			
		||||
    "url": "https://github.com/kuohuanhuan/x-markdown-css/issues"
 | 
			
		||||
@ -47,16 +43,18 @@
 | 
			
		||||
    "sass": "^1.58.3"
 | 
			
		||||
  },
 | 
			
		||||
  "devDependencies": {
 | 
			
		||||
    "@kuohuanhuan/stylelint-config": "^0.0.5",
 | 
			
		||||
    "@lodder/grunt-postcss": "^3.1.1",
 | 
			
		||||
    "autoprefixer": "^10.4.13",
 | 
			
		||||
    "bumpp": "^9.0.0",
 | 
			
		||||
    "cssnano": "^6.0.0",
 | 
			
		||||
    "cssnano": "^5.1.15",
 | 
			
		||||
    "grunt": "^1.6.1",
 | 
			
		||||
    "grunt-sass": "^3.1.0",
 | 
			
		||||
    "load-grunt-tasks": "^5.1.0",
 | 
			
		||||
    "postcss": "^8.4.21",
 | 
			
		||||
    "postcss-preset-env": "^8.0.1",
 | 
			
		||||
    "stylelint": "^15.2.0"
 | 
			
		||||
    "stylelint": "^15.2.0",
 | 
			
		||||
    "stylelint-config-hudochenkov": "^9.0.0",
 | 
			
		||||
    "stylelint-config-standard-scss": "^7.0.1",
 | 
			
		||||
    "stylelint-scss": "^4.4.0"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -1,7 +0,0 @@
 | 
			
		||||
@use 'sass:meta';
 | 
			
		||||
@use 'partials/container';
 | 
			
		||||
 | 
			
		||||
.markdown-body {
 | 
			
		||||
  @include container.container;
 | 
			
		||||
  @include meta.load-css('partials/all');
 | 
			
		||||
}
 | 
			
		||||
@ -1,22 +0,0 @@
 | 
			
		||||
@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,2 +1,4 @@
 | 
			
		||||
@use 'vars';
 | 
			
		||||
@use 'content';
 | 
			
		||||
@use 'scss/vars' as *;
 | 
			
		||||
 | 
			
		||||
@import 'scss/markdown';
 | 
			
		||||
@import 'scss/prose';
 | 
			
		||||
 | 
			
		||||
@ -1,9 +0,0 @@
 | 
			
		||||
@forward 'title';
 | 
			
		||||
@forward 'text';
 | 
			
		||||
@forward 'link';
 | 
			
		||||
@forward 'code';
 | 
			
		||||
@forward 'quote';
 | 
			
		||||
@forward 'figure';
 | 
			
		||||
@forward 'list';
 | 
			
		||||
@forward 'table';
 | 
			
		||||
@forward 'media';
 | 
			
		||||
@ -1,19 +0,0 @@
 | 
			
		||||
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;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@ -1,17 +0,0 @@
 | 
			
		||||
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;
 | 
			
		||||
}
 | 
			
		||||
@ -1,19 +0,0 @@
 | 
			
		||||
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);
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										103
									
								
								src/scss/markdown.scss
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										103
									
								
								src/scss/markdown.scss
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,103 @@
 | 
			
		||||
.markdown-body {
 | 
			
		||||
  color: var(--xm-c-regular);
 | 
			
		||||
  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-code) !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-regular);
 | 
			
		||||
    }
 | 
			
		||||
    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
									
								
								src/scss/partials/_all.scss
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								src/scss/partials/_all.scss
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1 @@
 | 
			
		||||
@import 'title', 'text', 'link', 'code', 'quote', 'figure', 'list', 'table', 'media';
 | 
			
		||||
@ -2,9 +2,5 @@
 | 
			
		||||
  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;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@ -8,14 +8,13 @@ code {
 | 
			
		||||
    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-deep);
 | 
			
		||||
  color: var(--xm-c-pre);
 | 
			
		||||
  font-size: .875rem;
 | 
			
		||||
  line-height: 1.75;
 | 
			
		||||
  code {
 | 
			
		||||
@ -33,10 +32,4 @@ 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-shallow);
 | 
			
		||||
    color: var(--xm-c-figcaption);
 | 
			
		||||
    font-size: .875rem;
 | 
			
		||||
    line-height: 1.45;
 | 
			
		||||
  }
 | 
			
		||||
							
								
								
									
										8
									
								
								src/scss/partials/link.scss
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								src/scss/partials/link.scss
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,8 @@
 | 
			
		||||
a {
 | 
			
		||||
  color: var(--xm-c-deeper);
 | 
			
		||||
  font-weight: 500;
 | 
			
		||||
  text-decoration: none;
 | 
			
		||||
  code {
 | 
			
		||||
    color: var(--xm-c-code);
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@ -2,7 +2,6 @@ li {
 | 
			
		||||
  margin-top: .5rem;
 | 
			
		||||
  margin-bottom: .5rem;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
ol {
 | 
			
		||||
  margin-top: 1.25rem;
 | 
			
		||||
  margin-bottom: 1.25rem;
 | 
			
		||||
@ -14,12 +13,11 @@ ol {
 | 
			
		||||
      content: counter(list-item, decimal) '.';
 | 
			
		||||
      position: absolute;
 | 
			
		||||
      left: 0;
 | 
			
		||||
      color: var(--xm-c-shallow);
 | 
			
		||||
      color: var(--xm-c-ol-counter);
 | 
			
		||||
      font-weight: 400;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
ul {
 | 
			
		||||
  margin-top: 1.25rem;
 | 
			
		||||
  margin-bottom: 1.25rem;
 | 
			
		||||
@ -35,11 +33,10 @@ ul {
 | 
			
		||||
      width: .375rem;
 | 
			
		||||
      height: .375rem;
 | 
			
		||||
      border-radius: 50%;
 | 
			
		||||
      background-color: var(--xm-c-shallower);
 | 
			
		||||
      background-color: var(--xm-c-ul-counter);
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
ul ul,
 | 
			
		||||
ul ol,
 | 
			
		||||
ol ul,
 | 
			
		||||
							
								
								
									
										5
									
								
								src/scss/partials/media.scss
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								src/scss/partials/media.scss
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,5 @@
 | 
			
		||||
img,
 | 
			
		||||
video {
 | 
			
		||||
  margin-top: 2rem;
 | 
			
		||||
  margin-bottom: 2rem;
 | 
			
		||||
}
 | 
			
		||||
@ -2,14 +2,12 @@ blockquote,
 | 
			
		||||
q {
 | 
			
		||||
  margin-top: 1.65rem;
 | 
			
		||||
  margin-bottom: 1.65rem;
 | 
			
		||||
  padding: .6rem 1.2rem;
 | 
			
		||||
  border-left: .25rem solid var(--xm-c-border);
 | 
			
		||||
  padding-left: 1rem;
 | 
			
		||||
  border-left: .25rem solid var(--xm-c-quote-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;
 | 
			
		||||
@ -18,12 +16,4 @@ q {
 | 
			
		||||
      content: close-quote;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  > * {
 | 
			
		||||
    &:first-child {
 | 
			
		||||
      margin-top: 0;
 | 
			
		||||
    }
 | 
			
		||||
    &:last-child {
 | 
			
		||||
      margin-bottom: 0;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										44
									
								
								src/scss/partials/table.scss
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								src/scss/partials/table.scss
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,44 @@
 | 
			
		||||
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;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@ -2,16 +2,13 @@ p {
 | 
			
		||||
  margin-top: 1.25rem;
 | 
			
		||||
  margin-bottom: 1.25rem;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
strong {
 | 
			
		||||
  color: var(--xm-c-deep);
 | 
			
		||||
  font-weight: 600;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
b {
 | 
			
		||||
  color: var(--xm-c-deep);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
em {
 | 
			
		||||
  color: inherit;
 | 
			
		||||
}
 | 
			
		||||
@ -6,7 +6,6 @@ h1 {
 | 
			
		||||
  font-size: 2.25rem;
 | 
			
		||||
  line-height: 1.15;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
h2 {
 | 
			
		||||
  margin-top: 2rem;
 | 
			
		||||
  margin-bottom: 1rem;
 | 
			
		||||
@ -21,7 +20,6 @@ h2 {
 | 
			
		||||
    margin-top: 0;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
h3 {
 | 
			
		||||
  margin-top: 1.6rem;
 | 
			
		||||
  margin-bottom: .6rem;
 | 
			
		||||
@ -37,7 +35,6 @@ h3 {
 | 
			
		||||
    margin-top: 0;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
h4 {
 | 
			
		||||
  margin-top: 1.5rem;
 | 
			
		||||
  margin-bottom: .5rem;
 | 
			
		||||
@ -48,7 +45,6 @@ h4 {
 | 
			
		||||
    margin-top: 0;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
h5,
 | 
			
		||||
h6 {
 | 
			
		||||
  margin-top: 20px;
 | 
			
		||||
@ -58,40 +54,11 @@ h6 {
 | 
			
		||||
  text-transform: uppercase;
 | 
			
		||||
  opacity: .5;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
hr {
 | 
			
		||||
  width: 50px;
 | 
			
		||||
  margin-top: 2rem;
 | 
			
		||||
  margin-bottom: 2rem;
 | 
			
		||||
  margin-top: 3rem;
 | 
			
		||||
  margin-bottom: 3rem;
 | 
			
		||||
  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;
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										6
									
								
								src/scss/prose.scss
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								src/scss/prose.scss
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,6 @@
 | 
			
		||||
@use 'partials/container' as *;
 | 
			
		||||
 | 
			
		||||
.prose {
 | 
			
		||||
  @include container;
 | 
			
		||||
  @import 'partials/all';
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										18
									
								
								src/scss/variables/_colors.scss
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								src/scss/variables/_colors.scss
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,18 @@
 | 
			
		||||
// Colors
 | 
			
		||||
$pre: #e5e7eb;
 | 
			
		||||
$code: #111827;
 | 
			
		||||
$figcaption: #6b7280;
 | 
			
		||||
$thead: #111827;
 | 
			
		||||
$ol-counter: #6b7280;
 | 
			
		||||
$ul-counter: #d1d5db;
 | 
			
		||||
 | 
			
		||||
// Border
 | 
			
		||||
$link-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;
 | 
			
		||||
 | 
			
		||||
// Shiki (code highlight)
 | 
			
		||||
$shiki-light: #f8f8f8;
 | 
			
		||||
$shiki-dark: #0e0e0e;
 | 
			
		||||
							
								
								
									
										3
									
								
								src/scss/variables/modes/_dark.scss
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								src/scss/variables/modes/_dark.scss
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,3 @@
 | 
			
		||||
$regular: #bbb;
 | 
			
		||||
$deep: #ddd;
 | 
			
		||||
$deeper: #fff;
 | 
			
		||||
							
								
								
									
										3
									
								
								src/scss/variables/modes/_light.scss
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								src/scss/variables/modes/_light.scss
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,3 @@
 | 
			
		||||
$regular: #555;
 | 
			
		||||
$deep: #222;
 | 
			
		||||
$deeper: #000;
 | 
			
		||||
							
								
								
									
										26
									
								
								src/scss/vars.scss
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								src/scss/vars.scss
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,26 @@
 | 
			
		||||
@use 'sass:meta' as *;
 | 
			
		||||
 | 
			
		||||
@use 'variables/constants';
 | 
			
		||||
@use 'variables/colors';
 | 
			
		||||
 | 
			
		||||
@use 'variables/modes/light';
 | 
			
		||||
@use 'variables/modes/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,10 +0,0 @@
 | 
			
		||||
// 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);
 | 
			
		||||
@ -1,10 +0,0 @@
 | 
			
		||||
// 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