mirror of
				https://github.com/kuohuanhuan/x-markdown-css.git
				synced 2024-11-25 06:18:19 +00:00 
			
		
		
		
	Compare commits
	
		
			146 Commits
		
	
	
		
			v0.0.0-202
			...
			10ae6dc593
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						
						
							
						
						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
	
				 | 
					
					
						|||
| 
						
						
							
						
						d9678940f2
	
				 | 
					
					
						|||
| 
						
						
							
						
						706720b8fe
	
				 | 
					
					
						|||
| 
						
						
							
						
						ff06dee900
	
				 | 
					
					
						|||
| 
						
						
							
						
						80ccac3dd1
	
				 | 
					
					
						|||
| 
						
						
							
						
						229680ca85
	
				 | 
					
					
						|||
| 
						
						
							
						
						e3fcf96559
	
				 | 
					
					
						|||
| 
						
						
							
						
						c77fbd21ae
	
				 | 
					
					
						|||
| 
						
						
							
						
						a4f5996f04
	
				 | 
					
					
						|||
| 
						
						
							
						
						cb009147b9
	
				 | 
					
					
						|||
| 
						
						
							
						
						188ac468fd
	
				 | 
					
					
						|||
| 
						
						
							
						
						24056e42d5
	
				 | 
					
					
						|||
| 
						
						
							
						
						274fc0fb31
	
				 | 
					
					
						|||
| 
						
						
							
						
						e83212e00f
	
				 | 
					
					
						|||
| 
						
						
							
						
						40a50968ed
	
				 | 
					
					
						|||
| 
						
						
							
						
						1a62e1258e
	
				 | 
					
					
						|||
| 
						
						
							
						
						648738b890
	
				 | 
					
					
						|||
| 
						
						
							
						
						7dc2238fdf
	
				 | 
					
					
						|||
| 
						
						
							
						
						65b4b24002
	
				 | 
					
					
						|||
| 
						
						
							
						
						94e8477077
	
				 | 
					
					
						|||
| 
						
						
							
						
						4bbc199636
	
				 | 
					
					
						|||
| 
						
						
							
						
						fd57e4bc4f
	
				 | 
					
					
						|||
| 
						
						
							
						
						ab38a24a75
	
				 | 
					
					
						|||
| 
						
						
							
						
						93e2f86137
	
				 | 
					
					
						|||
| 
						
						
							
						
						e622185bbf
	
				 | 
					
					
						|||
| 
						
						
							
						
						78cf02d7b8
	
				 | 
					
					
						|||
| 
						
						
							
						
						eba9d56ae6
	
				 | 
					
					
						|||
| 
						
						
							
						
						2da4f4deb2
	
				 | 
					
					
						|||
| 
						
						
							
						
						cd9ecdfed3
	
				 | 
					
					
						|||
| 
						
						
							
						
						9bf22aa5bd
	
				 | 
					
					
						|||
| 
						
						
							
						
						e6718acc37
	
				 | 
					
					
						|||
| 
						
						
							
						
						15ef37c0d2
	
				 | 
					
					
						|||
| 
						
						
							
						
						6fd50e0707
	
				 | 
					
					
						|||
| 
						
						
							
						
						8da53d8cde
	
				 | 
					
					
						|||
| 
						
						
							
						
						decfa2c47c
	
				 | 
					
					
						|||
| 
						
						
							
						
						58317f99cb
	
				 | 
					
					
						|||
| 
						
						
							
						
						a3f9084a2e
	
				 | 
					
					
						|||
| 
						
						
							
						
						26d5c7966f
	
				 | 
					
					
						|||
| 
						
						
							
						
						296bf3016e
	
				 | 
					
					
						|||
| 
						
						
							
						
						a40c973e46
	
				 | 
					
					
						|||
| 
						
						
							
						
						29b45f6a7f
	
				 | 
					
					
						|||
| 
						
						
							
						
						c2bd2cb722
	
				 | 
					
					
						|||
| 
						
						
							
						
						bd2f74a3b2
	
				 | 
					
					
						|||
| 
						
						
							
						
						d69a4ea949
	
				 | 
					
					
						|||
| 
						
						
							
						
						95de198e34
	
				 | 
					
					
						|||
| 
						
						
							
						
						782b6f24e2
	
				 | 
					
					
						|||
| 
						
						
							
						
						f967cc6bad
	
				 | 
					
					
						|||
| 
						
						
							
						
						32058aa5d3
	
				 | 
					
					
						|||
| 
						
						
							
						
						02d03e7633
	
				 | 
					
					
						|||
| 
						
						
							
						
						2042d6be41
	
				 | 
					
					
						|||
| 
						
						
							
						
						e90679a4ac
	
				 | 
					
					
						|||
| 
						
						
							
						
						9a81468182
	
				 | 
					
					
						|||
| 
						
						
							
						
						ec673759d2
	
				 | 
					
					
						|||
| 
						
						
							
						
						f68921d9d0
	
				 | 
					
					
						|||
| 
						
						
							
						
						ae19499146
	
				 | 
					
					
						|||
| 
						
						
							
						
						7ab2bd67ea
	
				 | 
					
					
						|||
| 
						
						
							
						
						a307ac8851
	
				 | 
					
					
						|||
| 
						
						
							
						
						58d893bc24
	
				 | 
					
					
						|||
| 
						
						
							
						
						e13c83de24
	
				 | 
					
					
						|||
| 
						
						
							
						
						3ddc662741
	
				 | 
					
					
						|||
| 
						
						
							
						
						17c8caaa11
	
				 | 
					
					
						|||
| 
						
						
							
						
						7684e092da
	
				 | 
					
					
						|||
| 
						
						
							
						
						5b0584ce4b
	
				 | 
					
					
						|||
| 
						
						
							
						
						a3f3100f2c
	
				 | 
					
					
						|||
| 
						
						
							
						
						ea73260661
	
				 | 
					
					
						|||
| 
						
						
							
						
						51046f4088
	
				 | 
					
					
						|||
| 
						
						
							
						
						a7492b1975
	
				 | 
					
					
						|||
| 
						
						
							
						
						6179dc8634
	
				 | 
					
					
						|||
| 
						
						
							
						
						941e73a889
	
				 | 
					
					
						|||
| 
						
						
							
						
						af46b8e083
	
				 | 
					
					
						|||
| 
						
						
							
						
						e2aeb767cd
	
				 | 
					
					
						|||
| 
						
						
							
						
						6616b76811
	
				 | 
					
					
						|||
| 
						
						
							
						
						8be8e8793e
	
				 | 
					
					
						|||
| 
						
						
							
						
						2aa806938e
	
				 | 
					
					
						|||
| 
						
						
							
						
						ebac47e0d7
	
				 | 
					
					
						|||
| 
						
						
							
						
						61079f3627
	
				 | 
					
					
						|||
| 
						
						
							
						
						e9c955a8f1
	
				 | 
					
					
						|||
| 
						
						
							
						
						3db644fa05
	
				 | 
					
					
						|||
| 
						
						
							
						
						ca1ccd9b4b
	
				 | 
					
					
						|||
| 
						
						
							
						
						f9ffa18565
	
				 | 
					
					
						|||
| 
						
						
							
						
						0dc71d9a54
	
				 | 
					
					
						|||
| 
						
						
							
						
						5fc2c0a068
	
				 | 
					
					
						|||
| 
						
						
							
						
						aa8823c6eb
	
				 | 
					
					
						|||
| 
						
						
							
						
						61b7e4ef05
	
				 | 
					
					
						|||
| 
						
						
							
						
						cc6bea29ef
	
				 | 
					
					
						|||
| 
						
						
							
						
						d95065f5d2
	
				 | 
					
					
						|||
| 
						
						
							
						
						1bb7e502ac
	
				 | 
					
					
						|||
| 
						
						
							
						
						de50484e3b
	
				 | 
					
					
						|||
| 
						
						
							
						
						6fbb266d10
	
				 | 
					
					
						|||
| 
						
						
							
						
						4bc0772d38
	
				 | 
					
					
						|||
| 
						
						
							
						
						3728e8325a
	
				 | 
					
					
						|||
| 
						
						
							
						
						016746659a
	
				 | 
					
					
						|||
| 
						
						
							
						
						2626938bc7
	
				 | 
					
					
						|||
| 
						
						
							
						
						2212a48426
	
				 | 
					
					
						|||
| 
						
						
							
						
						f0965419e6
	
				 | 
					
					
						|||
| 
						
						
							
						
						de1f09bce4
	
				 | 
					
					
						|||
| 
						
						
							
						
						c6ca99239e
	
				 | 
					
					
						|||
| 
						
						
							
						
						c0d2969d87
	
				 | 
					
					
						|||
| 
						
						
							
						
						2ffbf81303
	
				 | 
					
					
						|||
| 
						
						
							
						
						865a3d89d7
	
				 | 
					
					
						|||
| 
						
						
							
						
						51f21ee9a7
	
				 | 
					
					
						
@ -1,4 +1,4 @@
 | 
			
		||||
# Browserslist <https://browsersl.ist>
 | 
			
		||||
 | 
			
		||||
defaults
 | 
			
		||||
since 2012
 | 
			
		||||
supports css-variables
 | 
			
		||||
 | 
			
		||||
@ -1,3 +1,5 @@
 | 
			
		||||
# EditorConfig <http://editorconfig.org>
 | 
			
		||||
 | 
			
		||||
root = true
 | 
			
		||||
 | 
			
		||||
[*]
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										71
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										71
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,71 @@
 | 
			
		||||
name: CI
 | 
			
		||||
 | 
			
		||||
on:
 | 
			
		||||
  push:
 | 
			
		||||
    branches:
 | 
			
		||||
      - master
 | 
			
		||||
    paths:
 | 
			
		||||
      - src/**.scss
 | 
			
		||||
      - package.json
 | 
			
		||||
      - Gruntfile.coffee
 | 
			
		||||
      - .stylelintrc
 | 
			
		||||
      - .stylelintignore
 | 
			
		||||
  pull_request:
 | 
			
		||||
    branches:
 | 
			
		||||
      - master
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  # Test Lint
 | 
			
		||||
  lint:
 | 
			
		||||
    # Use Ubuntu 22.04 LTS
 | 
			
		||||
    runs-on: ubuntu-22.04
 | 
			
		||||
    steps:
 | 
			
		||||
      # Step I
 | 
			
		||||
      - name: Get Source Code
 | 
			
		||||
        uses: actions/checkout@v3
 | 
			
		||||
      # Step II
 | 
			
		||||
      - name: Setup Node.js
 | 
			
		||||
        uses: actions/setup-node@v3
 | 
			
		||||
        with:
 | 
			
		||||
          node-version: lts/*
 | 
			
		||||
          registry-url: https://registry.npmjs.com
 | 
			
		||||
      # Step III
 | 
			
		||||
      - name: Install Dependencies
 | 
			
		||||
        run: npm ci
 | 
			
		||||
      # Step IV
 | 
			
		||||
      - name: Test Lint
 | 
			
		||||
        run: npm run lint
 | 
			
		||||
  # Test Build
 | 
			
		||||
  build:
 | 
			
		||||
    # Use Ubuntu Linux, Windows and OS X
 | 
			
		||||
    runs-on: ${{ matrix.os }}
 | 
			
		||||
    strategy:
 | 
			
		||||
      matrix:
 | 
			
		||||
        node-version: [16, 18, latest]
 | 
			
		||||
        os: [ubuntu-latest, windows-latest, macos-latest]
 | 
			
		||||
      fail-fast: false
 | 
			
		||||
    steps:
 | 
			
		||||
      # Step I
 | 
			
		||||
      - name: Get Source Code
 | 
			
		||||
        uses: actions/checkout@v3
 | 
			
		||||
      # Step II
 | 
			
		||||
      - name: Setup Node.js
 | 
			
		||||
        uses: actions/setup-node@v3
 | 
			
		||||
        with:
 | 
			
		||||
          node-version: ${{ matrix.node-version }}
 | 
			
		||||
          registry-url: https://registry.npmjs.com
 | 
			
		||||
      # Step III
 | 
			
		||||
      - name: Install Dependencies
 | 
			
		||||
        run: npm ci
 | 
			
		||||
      # Step IV
 | 
			
		||||
      - name: Test Build
 | 
			
		||||
        run: npm run build
 | 
			
		||||
      # Step V
 | 
			
		||||
      - name: Upload Artifact
 | 
			
		||||
        uses: actions/upload-artifact@v3
 | 
			
		||||
        with:
 | 
			
		||||
          name: built-on__os_${{ matrix.os }}__nodejs_${{ matrix.node-version }}
 | 
			
		||||
          path: dist/
 | 
			
		||||
          retention-days: 3
 | 
			
		||||
 | 
			
		||||
# Authored by @kuohuanhuan.
 | 
			
		||||
							
								
								
									
										34
									
								
								.github/workflows/release.yaml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										34
									
								
								.github/workflows/release.yaml
									
									
									
									
										vendored
									
									
								
							@ -1,34 +0,0 @@
 | 
			
		||||
name: Build and Release
 | 
			
		||||
 | 
			
		||||
on:
 | 
			
		||||
  push:
 | 
			
		||||
    tags:
 | 
			
		||||
      - 'v*'
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  # NPM Registry Release
 | 
			
		||||
  release:
 | 
			
		||||
    # Use Ubuntu 22.04
 | 
			
		||||
    runs-on: ubuntu-22.04
 | 
			
		||||
    steps:
 | 
			
		||||
      # Step I
 | 
			
		||||
      - name: Get Source Code
 | 
			
		||||
        uses: actions/checkout@v3
 | 
			
		||||
        with:
 | 
			
		||||
          fetch-depth: 0
 | 
			
		||||
      # Step II
 | 
			
		||||
      - name: Install Dependencies
 | 
			
		||||
        run: npm ci
 | 
			
		||||
      # Step III
 | 
			
		||||
      - name: Build Project
 | 
			
		||||
        run: npm run build
 | 
			
		||||
      # Step IV
 | 
			
		||||
      - name: Publish to NPM Registry
 | 
			
		||||
        uses: JS-DevTools/npm-publish@v1
 | 
			
		||||
        with:
 | 
			
		||||
          token: ${{ secrets.NPM_TOKEN }}
 | 
			
		||||
      # Step V
 | 
			
		||||
      - name: Generate Changelog
 | 
			
		||||
        run: npx changelogithub@0.12
 | 
			
		||||
        env:
 | 
			
		||||
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
							
								
								
									
										68
									
								
								.github/workflows/release.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										68
									
								
								.github/workflows/release.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,68 @@
 | 
			
		||||
name: Release
 | 
			
		||||
 | 
			
		||||
on:
 | 
			
		||||
  push:
 | 
			
		||||
    tags:
 | 
			
		||||
      - 'v*'
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  # NPM Registry & GitHub Release
 | 
			
		||||
  release:
 | 
			
		||||
    # Use Windows Server 2022
 | 
			
		||||
    runs-on: windows-2022
 | 
			
		||||
    steps:
 | 
			
		||||
      # Step I
 | 
			
		||||
      - name: Get Source Code
 | 
			
		||||
        uses: actions/checkout@v3
 | 
			
		||||
        with:
 | 
			
		||||
          fetch-depth: 0
 | 
			
		||||
      # Step II
 | 
			
		||||
      - name: Setup Node.js
 | 
			
		||||
        uses: actions/setup-node@v3
 | 
			
		||||
        with:
 | 
			
		||||
          node-version: lts/*
 | 
			
		||||
          registry-url: https://registry.npmjs.com
 | 
			
		||||
      # Step III
 | 
			
		||||
      - name: Install Dependencies
 | 
			
		||||
        run: npm ci
 | 
			
		||||
      # Step IV
 | 
			
		||||
      - name: Build Project
 | 
			
		||||
        run: npm run build
 | 
			
		||||
      # Step V
 | 
			
		||||
      - name: Create tar.gz File
 | 
			
		||||
        uses: TheDoctor0/zip-release@0.7.1
 | 
			
		||||
        with:
 | 
			
		||||
          type: tar
 | 
			
		||||
          path: dist/
 | 
			
		||||
          filename: build.tar.gz
 | 
			
		||||
      # Step VI
 | 
			
		||||
      - name: Publish to NPM Registry
 | 
			
		||||
        uses: rxfork/npm-publish@v1
 | 
			
		||||
        with:
 | 
			
		||||
          token: ${{ secrets.NPM_TOKEN }}
 | 
			
		||||
      # Step VII
 | 
			
		||||
      - name: Generate Changelog
 | 
			
		||||
        run: npx changelogithub@0.12
 | 
			
		||||
        env:
 | 
			
		||||
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
      # Step VIII
 | 
			
		||||
      # / pre-release
 | 
			
		||||
      - name: GitHub Release (pre-release)
 | 
			
		||||
        if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') && contains(github.ref, '-')
 | 
			
		||||
        uses: softprops/action-gh-release@v1
 | 
			
		||||
        with:
 | 
			
		||||
          prerelease: true
 | 
			
		||||
          files: |
 | 
			
		||||
            dist/*
 | 
			
		||||
            build.tar.gz
 | 
			
		||||
      # / release
 | 
			
		||||
      - name: GitHub Release (release)
 | 
			
		||||
        if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') && contains(github.ref, '-') == false
 | 
			
		||||
        uses: softprops/action-gh-release@v1
 | 
			
		||||
        with:
 | 
			
		||||
          prerelease: false
 | 
			
		||||
          files: |
 | 
			
		||||
            dist/*
 | 
			
		||||
            build.tar.gz
 | 
			
		||||
 | 
			
		||||
# Authored by @kuohuanhuan.
 | 
			
		||||
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@ -1 +1,2 @@
 | 
			
		||||
node_modules/
 | 
			
		||||
dist/
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										4
									
								
								.npmignore
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								.npmignore
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,4 @@
 | 
			
		||||
build.tar.gz
 | 
			
		||||
node_modules/
 | 
			
		||||
.github/
 | 
			
		||||
.vscode/
 | 
			
		||||
							
								
								
									
										2
									
								
								.stylelintignore
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								.stylelintignore
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,2 @@
 | 
			
		||||
dist/*.css
 | 
			
		||||
node_modules/
 | 
			
		||||
							
								
								
									
										4
									
								
								.stylelintrc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								.stylelintrc
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,4 @@
 | 
			
		||||
{
 | 
			
		||||
  "ignoreDisables": true,
 | 
			
		||||
  "extends": "@kuohuanhuan/stylelint-config"
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										7
									
								
								.vscode/extensions.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								.vscode/extensions.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,7 @@
 | 
			
		||||
{
 | 
			
		||||
  "recommendations": [
 | 
			
		||||
    "editorconfig.editorconfig",
 | 
			
		||||
    "stylelint.vscode-stylelint",
 | 
			
		||||
    "ecmel.vscode-html-css"
 | 
			
		||||
  ]
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										5
									
								
								.vscode/settings.json
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								.vscode/settings.json
									
									
									
									
										vendored
									
									
								
							@ -1,3 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
  "cSpell.enabled": false
 | 
			
		||||
  "cSpell.enabled": false,
 | 
			
		||||
  "stylelint.enable": true,
 | 
			
		||||
  "stylelint.configFile": ".stylelintrc",
 | 
			
		||||
  "workbench.colorCustomizations": {}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										26
									
								
								CONTRIBUTING.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								CONTRIBUTING.md
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,26 @@
 | 
			
		||||
# Contributing
 | 
			
		||||
 | 
			
		||||
This document describes contribution guidelines for `x-markdown-css`.
 | 
			
		||||
 | 
			
		||||
## Coding Style
 | 
			
		||||
 | 
			
		||||
The project `x-markdown-css` uses [Stylelint](https://stylelint.io) to manage the SCSS coding style in a holistic way. In the meantime, please:
 | 
			
		||||
 | 
			
		||||
- **DO** give priority to the current style of the project or file you're changing even if it diverges from the general guidelines or your preferences.
 | 
			
		||||
- **DO NOT** send PRs for style changes. For example, do not send PRs that are focused on changing `.stylelintrc` rules.
 | 
			
		||||
- **DO NOT** send PRs for upgrading code to use newer language features, though it's ok to use newer language features as part of new code that's written.
 | 
			
		||||
- **DO NOT** send PRs for linting existing code.
 | 
			
		||||
 | 
			
		||||
## Pull Requests
 | 
			
		||||
 | 
			
		||||
- **DO** submit all code changes via pull requests (PRs) rather than through a direct commit. PRs will be reviewed and potentially merged by the repo maintainers after a peer review that includes at least one maintainer.
 | 
			
		||||
- **DO** give PRs short-but-descriptive names (e.g. "Fix layout drift (solve #123)", not just "Solve issue #123")
 | 
			
		||||
- **DO** refer to any relevant issues, and include [keywords](https://help.github.com/articles/closing-issues-via-commit-messages) that automatically close issues when the PR is merged.
 | 
			
		||||
- **DO** tag any users that should know about and/or review the change.
 | 
			
		||||
- **DO** ensure each commit successfully builds and passes Stylelint. The entire PR must pass all tests in the Continuous Integration (CI) system before it'll be merged.
 | 
			
		||||
- **DO** address PR feedback in an additional commit(s) rather than amending the existing commits, and only rebase/squash them when necessary.  This makes it easier for reviewers to track changes.
 | 
			
		||||
- **BE CAREFUL OF** submitting "work in progress" PRs. Generally, a PR should only be submitted when it is considered ready for review and subsequent merging by the contributor.
 | 
			
		||||
- **DO NOT** send PRs only for changing build environments (begins with `chore:`), although the tool(s) might be outdated.
 | 
			
		||||
- **DO NOT** fix merge conflicts using a merge commit. Prefer `git rebase`.
 | 
			
		||||
- **DO NOT** mix independent, unrelated changes in one PR. Separate real product/test code changes from larger code formatting/dead code removal changes. Separate unrelated fixes into separate PRs, especially if they are in different partials.
 | 
			
		||||
- *The last one and also the most important*: **DO NOT** destroy the existing codebase.
 | 
			
		||||
@ -1,7 +1,8 @@
 | 
			
		||||
module.exports = (grunt) ->
 | 
			
		||||
  require('load-grunt-tasks')(grunt)
 | 
			
		||||
 | 
			
		||||
  grunt.initConfig(
 | 
			
		||||
  # Load Grunt Tasks
 | 
			
		||||
  require('load-grunt-tasks') grunt
 | 
			
		||||
  # Project Configuration
 | 
			
		||||
  grunt.initConfig
 | 
			
		||||
    # NPM Package Declare
 | 
			
		||||
    pkg: grunt.file.readJSON('package.json')
 | 
			
		||||
    # Sass Compile
 | 
			
		||||
@ -26,19 +27,31 @@ module.exports = (grunt) ->
 | 
			
		||||
          annotation: 'dist/'
 | 
			
		||||
      exp:
 | 
			
		||||
        options:
 | 
			
		||||
          processors: [require('autoprefixer')()]
 | 
			
		||||
          processors: [
 | 
			
		||||
            require('postcss-preset-env')(
 | 
			
		||||
              features:
 | 
			
		||||
                'custom-properties': false
 | 
			
		||||
            )
 | 
			
		||||
            require('autoprefixer')()
 | 
			
		||||
          ]
 | 
			
		||||
        src: 'dist/bundle.css'
 | 
			
		||||
        dest: 'dist/bundle.css'
 | 
			
		||||
      min:
 | 
			
		||||
        options:
 | 
			
		||||
          processors: [
 | 
			
		||||
            require('autoprefixer')()
 | 
			
		||||
            require('cssnano')(
 | 
			
		||||
              preset: 'default'
 | 
			
		||||
            require('postcss-preset-env')(
 | 
			
		||||
              features:
 | 
			
		||||
                'custom-properties': false
 | 
			
		||||
            )
 | 
			
		||||
            require('autoprefixer')()
 | 
			
		||||
            require('cssnano')(preset: 'default')
 | 
			
		||||
          ]
 | 
			
		||||
        src: 'dist/bundle.min.css'
 | 
			
		||||
        dest: 'dist/bundle.min.css'
 | 
			
		||||
  )
 | 
			
		||||
  # Register Grunt Tasks
 | 
			
		||||
  grunt.registerTask 'build', [
 | 
			
		||||
    'sass'
 | 
			
		||||
    'postcss'
 | 
			
		||||
  ]
 | 
			
		||||
 | 
			
		||||
  grunt.registerTask('build', ['sass', 'postcss'])
 | 
			
		||||
# Authored by @kuohuanhuan.
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										70
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										70
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,70 @@
 | 
			
		||||
<h1 align="center">x-markdown-css</h1>
 | 
			
		||||
 | 
			
		||||
<center>
 | 
			
		||||
 | 
			
		||||
[](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.
 | 
			
		||||
 | 
			
		||||
## 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
 | 
			
		||||
 | 
			
		||||
```sh
 | 
			
		||||
npm i
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
### Build
 | 
			
		||||
 | 
			
		||||
```sh
 | 
			
		||||
npm run build
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
or
 | 
			
		||||
 | 
			
		||||
```sh
 | 
			
		||||
grunt build
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
or
 | 
			
		||||
 | 
			
		||||
```sh
 | 
			
		||||
npx grunt build
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
## Contributing
 | 
			
		||||
 | 
			
		||||
PRs, issues and feature requests are welcome!  
 | 
			
		||||
Feel free to check [Issues](https://github.com/kuohuanhuan/x-markdown-css/issues) page. You can also take a look at the [Contributing Guide](https://github.com/kuohuanhuan/x-markdown-css/blob/master/CONTRIBUTING.md).
 | 
			
		||||
 | 
			
		||||
## License
 | 
			
		||||
 | 
			
		||||
Copyright (c) 2023 [kuohuanhuan](https://github.com/kuohuanhuan), licensed under [MIT](https://github.com/kuohuanhuan/x-markdown-css/blob/master/LICENSE).
 | 
			
		||||
							
								
								
									
										2522
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2522
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										25
									
								
								package.json
									
									
									
									
									
								
							
							
						
						
									
										25
									
								
								package.json
									
									
									
									
									
								
							@ -1,7 +1,7 @@
 | 
			
		||||
{
 | 
			
		||||
  "name": "x-markdown-css",
 | 
			
		||||
  "version": "0.0.0-20230228.9",
 | 
			
		||||
  "description": "A simple and customizable Markdown CSS for everyone.",
 | 
			
		||||
  "version": "0.1.0",
 | 
			
		||||
  "description": "A simple and customizable markdown CSS stylesheet for everyone.",
 | 
			
		||||
  "keywords": [
 | 
			
		||||
    "markdown",
 | 
			
		||||
    "css",
 | 
			
		||||
@ -16,29 +16,38 @@
 | 
			
		||||
    "article",
 | 
			
		||||
    "documentation"
 | 
			
		||||
  ],
 | 
			
		||||
  "main": "index.js",
 | 
			
		||||
  "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"
 | 
			
		||||
  },
 | 
			
		||||
  "homepage": "https://github.com/kuohuanhuan/x-markdown-css#readme",
 | 
			
		||||
  "engines": {
 | 
			
		||||
    "node": ">=14"
 | 
			
		||||
    "node": ">=16"
 | 
			
		||||
  },
 | 
			
		||||
  "scripts": {
 | 
			
		||||
    "build": "grunt build",
 | 
			
		||||
    "bump": "bumpp"
 | 
			
		||||
    "bump": "bumpp",
 | 
			
		||||
    "lint": "stylelint **/*.scss --config .stylelintrc",
 | 
			
		||||
    "lint:fix": "stylelint **/*.scss --config .stylelintrc --fix"
 | 
			
		||||
  },
 | 
			
		||||
  "dependencies": {
 | 
			
		||||
    "coffeescript": "^2.7.0",
 | 
			
		||||
    "sass": "^1.58.3"
 | 
			
		||||
  },
 | 
			
		||||
  "devDependencies": {
 | 
			
		||||
    "@kuohuanhuan/stylelint-config": "^0.0.3",
 | 
			
		||||
    "@lodder/grunt-postcss": "^3.1.1",
 | 
			
		||||
    "autoprefixer": "^10.4.13",
 | 
			
		||||
    "bumpp": "^9.0.0",
 | 
			
		||||
@ -46,6 +55,8 @@
 | 
			
		||||
    "grunt": "^1.6.1",
 | 
			
		||||
    "grunt-sass": "^3.1.0",
 | 
			
		||||
    "load-grunt-tasks": "^5.1.0",
 | 
			
		||||
    "postcss": "^8.4.21"
 | 
			
		||||
    "postcss": "^8.4.21",
 | 
			
		||||
    "postcss-preset-env": "^8.0.1",
 | 
			
		||||
    "stylelint": "^15.2.0"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										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');
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										27
									
								
								src/_vars.scss
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								src/_vars.scss
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,27 @@
 | 
			
		||||
@use 'sass:meta';
 | 
			
		||||
@use 'variables/constants';
 | 
			
		||||
@use 'variables/colors';
 | 
			
		||||
@use 'variables/modes/light';
 | 
			
		||||
@use 'variables/modes/dark';
 | 
			
		||||
 | 
			
		||||
:root {
 | 
			
		||||
  @each $name, $val in meta.module-variables('constants') {
 | 
			
		||||
    --xm-#{$name}: #{$val};
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  @each $name, $val in meta.module-variables('colors') {
 | 
			
		||||
    --xm-c-#{$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 @@
 | 
			
		||||
@use 'title';
 | 
			
		||||
@use 'text';
 | 
			
		||||
@use 'link';
 | 
			
		||||
@use 'code';
 | 
			
		||||
@use 'quote';
 | 
			
		||||
@use 'figure';
 | 
			
		||||
@use 'list';
 | 
			
		||||
@use 'table';
 | 
			
		||||
@use '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;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										43
									
								
								src/partials/code.scss
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								src/partials/code.scss
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,43 @@
 | 
			
		||||
code {
 | 
			
		||||
  color: var(--xm-c-deep);
 | 
			
		||||
  font-weight: 600;
 | 
			
		||||
  font-size: .875rem;
 | 
			
		||||
  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);
 | 
			
		||||
  font-size: .875rem;
 | 
			
		||||
  line-height: 1.75;
 | 
			
		||||
  code {
 | 
			
		||||
    padding: 0;
 | 
			
		||||
    border-width: 0;
 | 
			
		||||
    border-radius: 0;
 | 
			
		||||
    background: transparent;
 | 
			
		||||
    color: inherit;
 | 
			
		||||
    font-weight: 400;
 | 
			
		||||
    font-size: inherit;
 | 
			
		||||
    font-family: inherit;
 | 
			
		||||
    line-height: inherit;
 | 
			
		||||
    &::before,
 | 
			
		||||
    &::after {
 | 
			
		||||
      content: none;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.shiki {
 | 
			
		||||
  margin: .5rem 0;
 | 
			
		||||
  font-size: 1.05rem;
 | 
			
		||||
  font-family: var(--xm-font-code) !important;
 | 
			
		||||
  line-height: 1.4;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										14
									
								
								src/partials/figure.scss
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								src/partials/figure.scss
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,14 @@
 | 
			
		||||
figure {
 | 
			
		||||
  margin-top: 2rem;
 | 
			
		||||
  margin-bottom: 2rem;
 | 
			
		||||
  figcaption {
 | 
			
		||||
    margin-top: .875rem;
 | 
			
		||||
    color: var(--xm-c-figcaption);
 | 
			
		||||
    font-size: .875rem;
 | 
			
		||||
    line-height: 1.45;
 | 
			
		||||
  }
 | 
			
		||||
  > * {
 | 
			
		||||
    margin-top: 0;
 | 
			
		||||
    margin-bottom: 0;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										13
									
								
								src/partials/link.scss
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								src/partials/link.scss
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,13 @@
 | 
			
		||||
a {
 | 
			
		||||
  border-bottom: 1px solid var(--xm-c-a-border);
 | 
			
		||||
  color: var(--xm-c-deeper);
 | 
			
		||||
  font-weight: 500;
 | 
			
		||||
  text-decoration: none;
 | 
			
		||||
  transition: border .3s ease-in-out;
 | 
			
		||||
  code {
 | 
			
		||||
    color: var(--xm-c-code);
 | 
			
		||||
  }
 | 
			
		||||
  &:hover {
 | 
			
		||||
    border-bottom: 1px solid var(--xm-c-regular);
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										49
									
								
								src/partials/list.scss
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								src/partials/list.scss
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,49 @@
 | 
			
		||||
li {
 | 
			
		||||
  margin-top: .5rem;
 | 
			
		||||
  margin-bottom: .5rem;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
ol {
 | 
			
		||||
  margin-top: 1.25rem;
 | 
			
		||||
  margin-bottom: 1.25rem;
 | 
			
		||||
  list-style-type: none;
 | 
			
		||||
  > li {
 | 
			
		||||
    position: relative;
 | 
			
		||||
    padding-left: 1.75rem;
 | 
			
		||||
    &::before {
 | 
			
		||||
      content: counter(list-item, decimal) '.';
 | 
			
		||||
      position: absolute;
 | 
			
		||||
      left: 0;
 | 
			
		||||
      color: var(--xm-c-ol-counter);
 | 
			
		||||
      font-weight: 400;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
ul {
 | 
			
		||||
  margin-top: 1.25rem;
 | 
			
		||||
  margin-bottom: 1.25rem;
 | 
			
		||||
  list-style-type: none;
 | 
			
		||||
  > li {
 | 
			
		||||
    position: relative;
 | 
			
		||||
    padding-left: 1.75rem;
 | 
			
		||||
    &::before {
 | 
			
		||||
      content: '';
 | 
			
		||||
      position: absolute;
 | 
			
		||||
      top: .675rem;
 | 
			
		||||
      left: .25rem;
 | 
			
		||||
      width: .375rem;
 | 
			
		||||
      height: .375rem;
 | 
			
		||||
      border-radius: 50%;
 | 
			
		||||
      background-color: var(--xm-c-ul-counter);
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
ul ul,
 | 
			
		||||
ul ol,
 | 
			
		||||
ol ul,
 | 
			
		||||
ol ol {
 | 
			
		||||
  margin-top: .75rem;
 | 
			
		||||
  margin-bottom: .75rem;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										6
									
								
								src/partials/media.scss
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								src/partials/media.scss
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,6 @@
 | 
			
		||||
img,
 | 
			
		||||
video {
 | 
			
		||||
  width: 100%;
 | 
			
		||||
  margin-top: 2rem;
 | 
			
		||||
  margin-bottom: 2rem;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										29
									
								
								src/partials/quote.scss
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								src/partials/quote.scss
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,29 @@
 | 
			
		||||
blockquote,
 | 
			
		||||
q {
 | 
			
		||||
  margin-top: 1.65rem;
 | 
			
		||||
  margin-bottom: 1.65rem;
 | 
			
		||||
  padding: .6rem 1.2rem;
 | 
			
		||||
  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: .8;
 | 
			
		||||
  p {
 | 
			
		||||
    &:first-of-type::before {
 | 
			
		||||
      content: open-quote;
 | 
			
		||||
    }
 | 
			
		||||
    &:last-of-type::after {
 | 
			
		||||
      content: close-quote;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  > * {
 | 
			
		||||
    &:first-child {
 | 
			
		||||
      margin-top: 0;
 | 
			
		||||
    }
 | 
			
		||||
    &:last-child {
 | 
			
		||||
      margin-bottom: 0;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										46
									
								
								src/partials/table.scss
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								src/partials/table.scss
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,46 @@
 | 
			
		||||
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;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										17
									
								
								src/partials/text.scss
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								src/partials/text.scss
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,17 @@
 | 
			
		||||
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;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										96
									
								
								src/partials/title.scss
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										96
									
								
								src/partials/title.scss
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,96 @@
 | 
			
		||||
h1 {
 | 
			
		||||
  margin-top: 0;
 | 
			
		||||
  margin-bottom: .875rem;
 | 
			
		||||
  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-deep);
 | 
			
		||||
  font-weight: 700;
 | 
			
		||||
  font-size: 1.5rem;
 | 
			
		||||
  line-height: 1.35;
 | 
			
		||||
  code {
 | 
			
		||||
    font-size: .875rem;
 | 
			
		||||
  }
 | 
			
		||||
  + * {
 | 
			
		||||
    margin-top: 0;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
h3 {
 | 
			
		||||
  margin-top: 1.6rem;
 | 
			
		||||
  margin-bottom: .6rem;
 | 
			
		||||
  color: inherit;
 | 
			
		||||
  font-weight: 600;
 | 
			
		||||
  font-size: 1.25rem;
 | 
			
		||||
  line-height: 1.6;
 | 
			
		||||
  opacity: .7;
 | 
			
		||||
  code {
 | 
			
		||||
    font-size: .9rem;
 | 
			
		||||
  }
 | 
			
		||||
  + * {
 | 
			
		||||
    margin-top: 0;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
h4 {
 | 
			
		||||
  margin-top: 1.5rem;
 | 
			
		||||
  margin-bottom: .5rem;
 | 
			
		||||
  color: inherit;
 | 
			
		||||
  font-weight: 600;
 | 
			
		||||
  line-height: 1.5;
 | 
			
		||||
  + * {
 | 
			
		||||
    margin-top: 0;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
h5,
 | 
			
		||||
h6 {
 | 
			
		||||
  margin-top: 20px;
 | 
			
		||||
  margin-bottom: 10px;
 | 
			
		||||
  font-weight: 500;
 | 
			
		||||
  letter-spacing: 2px;
 | 
			
		||||
  text-transform: uppercase;
 | 
			
		||||
  opacity: .5;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
hr {
 | 
			
		||||
  width: 50px;
 | 
			
		||||
  margin-top: 2rem;
 | 
			
		||||
  margin-bottom: 2rem;
 | 
			
		||||
  border-color: var(--xm-c-hr-border);
 | 
			
		||||
  + * {
 | 
			
		||||
    margin-top: 0;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.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,2 +0,0 @@
 | 
			
		||||
$font-sans: 'Open Sans', 'Inter', 'Roboto', 'Helvetica', 'Arial', 'Noto Sans TC', 'Noto Sans SC', 'Sarasa Gothic TC', 'Sarasa Gothic SC', 'Microsoft JhengHei', 'Microsoft YaHei', -apple-system, sans-serif;
 | 
			
		||||
$font-mono: 'DM Mono', 'Fira Code', 'Jetbrains Mono', 'Input Mono', 'Menlo', 'MesloLGS NF', 'Ubuntu', monospace;
 | 
			
		||||
@ -1,3 +0,0 @@
 | 
			
		||||
$general: #bbb;
 | 
			
		||||
$dark: #ddd;
 | 
			
		||||
$darker: #fff;
 | 
			
		||||
@ -1,3 +0,0 @@
 | 
			
		||||
$general: #555;
 | 
			
		||||
$dark: #222;
 | 
			
		||||
$darker: #000;
 | 
			
		||||
@ -1,177 +0,0 @@
 | 
			
		||||
.markdown-body {
 | 
			
		||||
  color: var(--xm-c-general);
 | 
			
		||||
  font-family: var(--xm-font-sans) !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 {
 | 
			
		||||
    font-weight: inherit;
 | 
			
		||||
    text-decoration: none;
 | 
			
		||||
    border-bottom: 1px solid var(--xm-c-link-border);
 | 
			
		||||
    transition: border .3s ease-in-out;
 | 
			
		||||
    &:hover {
 | 
			
		||||
      border-bottom: 1px solid var(--xm-c-general);
 | 
			
		||||
    }
 | 
			
		||||
    code {
 | 
			
		||||
      color: inherit;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  hr {
 | 
			
		||||
    margin: 2rem auto;
 | 
			
		||||
    width: 50px;
 | 
			
		||||
  }
 | 
			
		||||
  blockquote {
 | 
			
		||||
    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 {
 | 
			
		||||
        content: none;
 | 
			
		||||
      }
 | 
			
		||||
      &:first-of-type::after {
 | 
			
		||||
        content: none;
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  &:first-child {
 | 
			
		||||
    margin-top: 1rem;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
.dark {
 | 
			
		||||
  .shiki-light {
 | 
			
		||||
    display: none;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
html {
 | 
			
		||||
  &:not(.dark) {
 | 
			
		||||
    .shiki-dark {
 | 
			
		||||
      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.2rem;
 | 
			
		||||
  padding-right: .5rem;
 | 
			
		||||
  font-size: .85rem;
 | 
			
		||||
  text-decoration: none;
 | 
			
		||||
  border: 0 !important;
 | 
			
		||||
  opacity: 0;
 | 
			
		||||
  &:hover {
 | 
			
		||||
    text-decoration: none;
 | 
			
		||||
  }
 | 
			
		||||
  &:focus {
 | 
			
		||||
    text-decoration: none;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
h1 {
 | 
			
		||||
  &:hover {
 | 
			
		||||
    .header-anchor {
 | 
			
		||||
      opacity: .5;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  &:focus {
 | 
			
		||||
    .header-anchor {
 | 
			
		||||
      opacity: .5;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
h2 {
 | 
			
		||||
  &:hover {
 | 
			
		||||
    .header-anchor {
 | 
			
		||||
      opacity: .5;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  &:focus {
 | 
			
		||||
    .header-anchor {
 | 
			
		||||
      opacity: .5;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
h3 {
 | 
			
		||||
  &:hover {
 | 
			
		||||
    .header-anchor {
 | 
			
		||||
      opacity: .5;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  &:focus {
 | 
			
		||||
    .header-anchor {
 | 
			
		||||
      opacity: .5;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
h4 {
 | 
			
		||||
  &:hover {
 | 
			
		||||
    .header-anchor {
 | 
			
		||||
      opacity: .5;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  &:focus {
 | 
			
		||||
    .header-anchor {
 | 
			
		||||
      opacity: .5;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
h5 {
 | 
			
		||||
  &:hover {
 | 
			
		||||
    .header-anchor {
 | 
			
		||||
      opacity: .5;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  &:focus {
 | 
			
		||||
    .header-anchor {
 | 
			
		||||
      opacity: .5;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
h6 {
 | 
			
		||||
  &:hover {
 | 
			
		||||
    .header-anchor {
 | 
			
		||||
      opacity: .5;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  &:focus {
 | 
			
		||||
    .header-anchor {
 | 
			
		||||
      opacity: .5;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@ -1,267 +0,0 @@
 | 
			
		||||
.markdown-body,
 | 
			
		||||
.prose {
 | 
			
		||||
  max-width: 65ch;
 | 
			
		||||
  font-size: 1rem;
 | 
			
		||||
  color: var(--xm-c-general);
 | 
			
		||||
  line-height: 1.75;
 | 
			
		||||
  code {
 | 
			
		||||
    font-size: .875rem;
 | 
			
		||||
    font-weight: 600;
 | 
			
		||||
    color: var(--xm-c-dark);
 | 
			
		||||
    &::before, &::after {
 | 
			
		||||
      content: '`';
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  a {
 | 
			
		||||
    font-weight: 500;
 | 
			
		||||
    text-decoration: none;
 | 
			
		||||
    color: var(--xm-c-darker);
 | 
			
		||||
    code {
 | 
			
		||||
      color: var(--xm-c-code);
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  strong {
 | 
			
		||||
    font-weight: 600;
 | 
			
		||||
    color: var(--xm-c-dark);
 | 
			
		||||
  }
 | 
			
		||||
  li {
 | 
			
		||||
    margin-top: .5rem;
 | 
			
		||||
    margin-bottom: .5rem;
 | 
			
		||||
  }
 | 
			
		||||
  ol {
 | 
			
		||||
    margin-top: 1.25rem;
 | 
			
		||||
    margin-bottom: 1.25rem;
 | 
			
		||||
    list-style-type: none;
 | 
			
		||||
    > li {
 | 
			
		||||
      position: relative;
 | 
			
		||||
      padding-left: 1.75rem;
 | 
			
		||||
      &::before {
 | 
			
		||||
        content: counter(list-item, decimal) '.';
 | 
			
		||||
        position: absolute;
 | 
			
		||||
        left: 0;
 | 
			
		||||
        font-weight: 400;
 | 
			
		||||
        color: var(--xm-c-ol-counter);
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  ul {
 | 
			
		||||
    margin-top: 1.25rem;
 | 
			
		||||
    margin-bottom: 1.25rem;
 | 
			
		||||
    list-style-type: none;
 | 
			
		||||
    > li {
 | 
			
		||||
      position: relative;
 | 
			
		||||
      padding-left: 1.75rem;
 | 
			
		||||
      &::before {
 | 
			
		||||
        content: '';
 | 
			
		||||
        position: absolute;
 | 
			
		||||
        top: calc(.875rem - .1875rem);
 | 
			
		||||
        left: .25rem;
 | 
			
		||||
        width: .375rem;
 | 
			
		||||
        height: .375rem;
 | 
			
		||||
        background-color: var(--xm-c-ul-counter);
 | 
			
		||||
        border-radius: 50%;
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  hr {
 | 
			
		||||
    margin-top: 3rem;
 | 
			
		||||
    border-color: var(--xm-c-hr-border);
 | 
			
		||||
    margin-bottom: 3rem;
 | 
			
		||||
    + * {
 | 
			
		||||
      margin-top: 0;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  p {
 | 
			
		||||
    margin-top: 1.25rem;
 | 
			
		||||
    margin-bottom: 1.25rem;
 | 
			
		||||
  }
 | 
			
		||||
  blockquote,
 | 
			
		||||
  q {
 | 
			
		||||
    margin-top: 1.6rem;
 | 
			
		||||
    padding-left: 1rem;
 | 
			
		||||
    font-weight: 500;
 | 
			
		||||
    font-style: italic;
 | 
			
		||||
    color: inherit;
 | 
			
		||||
    border-color: var(--xm-c-blockquote-color);
 | 
			
		||||
    border-left-width: .25rem;
 | 
			
		||||
    quotes: '\201C''\201D''\2018''\2019';
 | 
			
		||||
    margin-bottom: 1.6rem;
 | 
			
		||||
    p {
 | 
			
		||||
      &:first-of-type::before {
 | 
			
		||||
        content: open-quote;
 | 
			
		||||
      }
 | 
			
		||||
      &:last-of-type::after {
 | 
			
		||||
        content: close-quote;
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  h1 {
 | 
			
		||||
    margin-top: 0;
 | 
			
		||||
    margin-bottom: .8889rem;
 | 
			
		||||
    font-size: 2.25rem;
 | 
			
		||||
    font-weight: 800;
 | 
			
		||||
    color: var(--xm-c-darker);
 | 
			
		||||
    line-height: 1.1111;
 | 
			
		||||
  }
 | 
			
		||||
  h2 {
 | 
			
		||||
    margin-top: 2rem;
 | 
			
		||||
    font-size: 1.5rem;
 | 
			
		||||
    font-weight: 700;
 | 
			
		||||
    color: var(--xm-c-dark);
 | 
			
		||||
    margin-bottom: 1rem;
 | 
			
		||||
    line-height: 1.3334;
 | 
			
		||||
    code {
 | 
			
		||||
      font-size: .875rem;
 | 
			
		||||
    }
 | 
			
		||||
    + * {
 | 
			
		||||
      margin-top: 0;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  h3 {
 | 
			
		||||
    margin-top: 1.6rem;
 | 
			
		||||
    font-size: 1.25rem;
 | 
			
		||||
    font-weight: 600;
 | 
			
		||||
    color: inherit;
 | 
			
		||||
    margin-bottom: .6rem;
 | 
			
		||||
    line-height: 1.6;
 | 
			
		||||
    opacity: .7;
 | 
			
		||||
    code {
 | 
			
		||||
      font-size: .9rem;
 | 
			
		||||
    }
 | 
			
		||||
    + * {
 | 
			
		||||
      margin-top: 0;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  h4 {
 | 
			
		||||
    margin-top: 1.5rem;
 | 
			
		||||
    font-weight: 600;
 | 
			
		||||
    color: inherit;
 | 
			
		||||
    margin-bottom: .5rem;
 | 
			
		||||
    line-height: 1.5;
 | 
			
		||||
    + * {
 | 
			
		||||
      margin-top: 0;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  figure {
 | 
			
		||||
    margin-top: 2rem;
 | 
			
		||||
    margin-bottom: 2rem;
 | 
			
		||||
    figcaption {
 | 
			
		||||
      margin-top: .8571rem;
 | 
			
		||||
      font-size: .875rem;
 | 
			
		||||
      color: var(--xm-c-figcaption);
 | 
			
		||||
      line-height: 1.4286;
 | 
			
		||||
    }
 | 
			
		||||
    > * {
 | 
			
		||||
      margin-top: 0;
 | 
			
		||||
      margin-bottom: 0;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  pre {
 | 
			
		||||
    overflow-x: auto;
 | 
			
		||||
    margin-top: 1.7143rem;
 | 
			
		||||
    padding-top: .8571rem, 1.1429rem;
 | 
			
		||||
    font-size: .875rem;
 | 
			
		||||
    color: var(--xm-c-pre);
 | 
			
		||||
    line-height: 1.7143;
 | 
			
		||||
    margin-bottom: 1.7143rem;
 | 
			
		||||
    border-radius: .375rem;
 | 
			
		||||
    code {
 | 
			
		||||
      padding: 0;
 | 
			
		||||
      font-size: inherit;
 | 
			
		||||
      font-family: inherit;
 | 
			
		||||
      font-weight: 400;
 | 
			
		||||
      color: inherit;
 | 
			
		||||
      background: transparent;
 | 
			
		||||
      border-width: 0;
 | 
			
		||||
      border-radius: 0;
 | 
			
		||||
      line-height: inherit;
 | 
			
		||||
      &::before {
 | 
			
		||||
        content: none;
 | 
			
		||||
      }
 | 
			
		||||
      &::after {
 | 
			
		||||
        content: none;
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  table {
 | 
			
		||||
    margin-top: 2rem;
 | 
			
		||||
    margin-bottom: 2rem;
 | 
			
		||||
    width: 100%;
 | 
			
		||||
    table-layout: auto;
 | 
			
		||||
    font-size: .875rem;
 | 
			
		||||
    text-align: left;
 | 
			
		||||
    line-height: 1.7143;
 | 
			
		||||
  }
 | 
			
		||||
  thead {
 | 
			
		||||
    font-weight: 600;
 | 
			
		||||
    color: var(--xm-c-thead);
 | 
			
		||||
    border-bottom-width: 1px;
 | 
			
		||||
    border-bottom-color: var(--xm-c-thead-border);
 | 
			
		||||
    th {
 | 
			
		||||
      vertical-align: bottom;
 | 
			
		||||
      padding-right: .5714rem;
 | 
			
		||||
      padding-bottom: .5714rem;
 | 
			
		||||
      padding-left: .5714rem;
 | 
			
		||||
      &:first-child {
 | 
			
		||||
        padding-left: 0;
 | 
			
		||||
      }
 | 
			
		||||
      &:last-child {
 | 
			
		||||
        padding-right: 0;
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  tbody {
 | 
			
		||||
    tr {
 | 
			
		||||
      border-bottom-width: 1px;
 | 
			
		||||
      border-bottom-color: var(--xm-c-tr-border);
 | 
			
		||||
      &:last-child {
 | 
			
		||||
        border-bottom-width: 0;
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
    td {
 | 
			
		||||
      vertical-align: top;
 | 
			
		||||
      padding: .5714rem;
 | 
			
		||||
      &:first-child {
 | 
			
		||||
        padding-left: 0;
 | 
			
		||||
      }
 | 
			
		||||
      &:last-child {
 | 
			
		||||
        padding-right: 0;
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  img {
 | 
			
		||||
    margin-top: 2rem;
 | 
			
		||||
    margin-bottom: 2rem;
 | 
			
		||||
  }
 | 
			
		||||
  video {
 | 
			
		||||
    margin-top: 2rem;
 | 
			
		||||
    margin-bottom: 2rem;
 | 
			
		||||
  }
 | 
			
		||||
  h6 {
 | 
			
		||||
    text-transform: uppercase;
 | 
			
		||||
    margin-top: 20px;
 | 
			
		||||
    margin-bottom: 10px;
 | 
			
		||||
    font-weight: 500;
 | 
			
		||||
    opacity: .5;
 | 
			
		||||
    letter-spacing: 2px;
 | 
			
		||||
  }
 | 
			
		||||
  > :first-child {
 | 
			
		||||
    margin-top: 0;
 | 
			
		||||
  }
 | 
			
		||||
  > :last-child {
 | 
			
		||||
    margin-bottom: 0;
 | 
			
		||||
  }
 | 
			
		||||
  b {
 | 
			
		||||
    color: var(--xm-c-dark);
 | 
			
		||||
  }
 | 
			
		||||
  em {
 | 
			
		||||
    color: inherit;
 | 
			
		||||
  }
 | 
			
		||||
  ul ul,
 | 
			
		||||
  ul ol,
 | 
			
		||||
  ol ul,
 | 
			
		||||
  ol ol {
 | 
			
		||||
    margin-top: .75rem;
 | 
			
		||||
    margin-bottom: .75rem;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@ -1,25 +0,0 @@
 | 
			
		||||
@use 'sass:meta' as *;
 | 
			
		||||
 | 
			
		||||
@use '_vars/constants';
 | 
			
		||||
@use '_vars/colors';
 | 
			
		||||
@use '_vars/light';
 | 
			
		||||
@use '_vars/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,13 +1,14 @@
 | 
			
		||||
$shiki-light: #f8f8f8;
 | 
			
		||||
$shiki-dark: #0e0e0e;
 | 
			
		||||
$link-border: hsla(0, 0%, 50%, .3);
 | 
			
		||||
// Colors
 | 
			
		||||
$pre: #e5e7eb;
 | 
			
		||||
$code: #111827;
 | 
			
		||||
$figcaption: #6b7280;
 | 
			
		||||
$thead: #111827;
 | 
			
		||||
$ol-counter: #6b7280;
 | 
			
		||||
$ul-counter: #d1d5db;
 | 
			
		||||
$hr-border: hsla(0, 0%, 50%, .3);
 | 
			
		||||
$blockquote-border: hsla(0, 0%, 50%, .3);
 | 
			
		||||
$figcaption: #6b7280;
 | 
			
		||||
$pre: #e5e7eb;
 | 
			
		||||
$thead: #111827;
 | 
			
		||||
 | 
			
		||||
// 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;
 | 
			
		||||
							
								
								
									
										8
									
								
								src/variables/_constants.scss
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								src/variables/_constants.scss
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +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', 'Sarasa Gothic TC', 'Sarasa Gothic SC', monospace;
 | 
			
		||||
 | 
			
		||||
// Font defaults
 | 
			
		||||
$font-display: var(--xm-font-sans);
 | 
			
		||||
$font-code: var(--xm-font-mono);
 | 
			
		||||
							
								
								
									
										3
									
								
								src/variables/modes/_dark.scss
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								src/variables/modes/_dark.scss
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,3 @@
 | 
			
		||||
$regular: #bbb;
 | 
			
		||||
$deep: #ddd;
 | 
			
		||||
$deeper: #fff;
 | 
			
		||||
							
								
								
									
										3
									
								
								src/variables/modes/_light.scss
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								src/variables/modes/_light.scss
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,3 @@
 | 
			
		||||
$regular: #555;
 | 
			
		||||
$deep: #222;
 | 
			
		||||
$deeper: #000;
 | 
			
		||||
		Reference in New Issue
	
	Block a user