feat: typography and shiki
This commit is contained in:
parent
5578bb5075
commit
653f15f1f7
@ -47,6 +47,7 @@
|
||||
### UI Frameworks
|
||||
|
||||
- [Tailwind CSS](https://tailwindcss.com/) - with built-in dark mode!
|
||||
- [Tailwind Typography](https://github.com/tailwindlabs/tailwindcss-typography) - Typography for Tailwind
|
||||
|
||||
### Icons
|
||||
|
||||
@ -60,6 +61,7 @@
|
||||
- [vite-plugin-components](https://github.com/antfu/vite-plugin-components) - components auto import
|
||||
- [vite-plugin-pwa](https://github.com/antfu/vite-plugin-pwa) - PWA
|
||||
- [vite-plugin-md](https://github.com/antfu/vite-plugin-md) - Markdown as components / components in Markdown
|
||||
- [markdown-it-shiki](https://github.com/antfu/markdown-it-shiki) - [Shiki](https://github.com/shikijs/shiki) for syntax highlighting
|
||||
- [vue-i18n](https://github.com/intlify/vue-i18n-next) - internationalization
|
||||
- [VueUse](https://github.com/antfu/vueuse) - collection of useful composition APIs
|
||||
|
||||
|
29
package.json
29
package.json
@ -6,32 +6,34 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@iconify/iconify": "^2.0.0-rc.2",
|
||||
"@vueuse/core": "^4.0.0-rc.5",
|
||||
"@vueuse/core": "^4.0.0-rc.8",
|
||||
"nprogress": "^0.2.0",
|
||||
"vue": "^3.0.4",
|
||||
"vue-i18n": "9.0.0-beta.8",
|
||||
"vue-router": "^4.0.0-rc.6"
|
||||
"vue-router": "^4.0.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@antfu/eslint-config-vue": "^0.4.3",
|
||||
"@iconify/json": "^1.1.267",
|
||||
"@iconify/json": "^1.1.272",
|
||||
"@purge-icons/generated": "^0.4.1",
|
||||
"@tailwindcss/typography": "^0.3.1",
|
||||
"@types/nprogress": "^0.2.0",
|
||||
"@typescript-eslint/eslint-plugin": "^4.9.0",
|
||||
"@typescript-eslint/eslint-plugin": "^4.9.1",
|
||||
"@vue/compiler-sfc": "^3.0.4",
|
||||
"@vuedx/typescript-plugin-vue": "^0.2.3",
|
||||
"autoprefixer": "^10.0.4",
|
||||
"chromium": "^3.0.2",
|
||||
"autoprefixer": "^10.1.0",
|
||||
"chromium": "3.0.2",
|
||||
"cross-env": "^7.0.3",
|
||||
"eslint": "^7.14.0",
|
||||
"eslint": "^7.15.0",
|
||||
"esno": "^0.3.0",
|
||||
"postcss-nested": "^5.0.1",
|
||||
"presite": "^2.0.1",
|
||||
"tailwindcss": "^2.0.1",
|
||||
"typescript": "^4.1.2",
|
||||
"markdown-it-shiki": "^0.0.2",
|
||||
"postcss-nested": "^5.0.3",
|
||||
"presite": "^2.0.2",
|
||||
"tailwindcss": "^2.0.2",
|
||||
"typescript": "^4.1.3",
|
||||
"vite": "^1.0.0-rc.13",
|
||||
"vite-plugin-components": "^0.5.0",
|
||||
"vite-plugin-md": "^0.1.3",
|
||||
"vite-plugin-md": "^0.1.4",
|
||||
"vite-plugin-purge-icons": "^0.4.5",
|
||||
"vite-plugin-pwa": "^0.1.7",
|
||||
"vite-plugin-voie": "^0.4.1",
|
||||
@ -39,8 +41,7 @@
|
||||
},
|
||||
"pnpm": {
|
||||
"overrides": {
|
||||
"postcss": "8",
|
||||
"vue-router": "next"
|
||||
"postcss": "8"
|
||||
}
|
||||
},
|
||||
"eslintConfig": {
|
||||
|
2186
pnpm-lock.yaml
generated
2186
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
@ -15,23 +15,6 @@ html.dark {
|
||||
background: #222;
|
||||
}
|
||||
|
||||
.markdown-body {
|
||||
max-width: 300px;
|
||||
@apply m-auto text-left;
|
||||
|
||||
h3 {
|
||||
@apply text-center;
|
||||
}
|
||||
|
||||
a {
|
||||
@apply opacity-50 hover:opacity-100 hover:text-teal-600;
|
||||
}
|
||||
|
||||
p {
|
||||
@apply my-4;
|
||||
}
|
||||
}
|
||||
|
||||
#nprogress {
|
||||
pointer-events: none;
|
||||
|
||||
@ -60,3 +43,19 @@ html.dark {
|
||||
opacity-75 transition duration-200 ease-in-out
|
||||
hover:opacity-100 hover:text-teal-600;
|
||||
}
|
||||
|
||||
.shiki {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.shiki-light {
|
||||
background: #fafafa !important;
|
||||
}
|
||||
|
||||
html.dark .shiki-light {
|
||||
display: none;
|
||||
}
|
||||
|
||||
html:not(.dark) .shiki-dark {
|
||||
display: none;
|
||||
}
|
||||
|
@ -5,7 +5,14 @@
|
||||
|
||||
### About
|
||||
|
||||
[Vitesse](https://github.com/antfu/vitesse) is an opinionated [Vite](https://github.com/vitejs/vite) starter template made by [@antfu](https://github.com/antfu) for mocking apps swiftly. It has file-based routing, components auto importing, markdown support, i18n, PWA and uses Tailwind v2 for UI.
|
||||
[Vitesse](https://github.com/antfu/vitesse) is an opinionated [Vite](https://github.com/vitejs/vite) starter template made by [@antfu](https://github.com/antfu) for mocking apps swiftly. It has **file-based routing**, **components auto importing**, **markdown support**, i18n, PWA and uses **Tailwind** v2 for UI.
|
||||
|
||||
```js
|
||||
// syntax highlighting example
|
||||
function vitesse() {
|
||||
const foo = 'bar'
|
||||
console.log(foo)
|
||||
}
|
||||
```
|
||||
|
||||
Check out the [GitHub repo](https://github.com/antfu/vitesse) for more details.
|
||||
|
@ -4,13 +4,18 @@ const colors = require('tailwindcss/colors')
|
||||
module.exports = {
|
||||
purge: {
|
||||
enabled: process.env.NODE_ENV === 'production',
|
||||
content: [
|
||||
'./index.html',
|
||||
'./src/**/*.vue',
|
||||
'./src/**/*.js',
|
||||
'./src/**/*.ts',
|
||||
],
|
||||
content: ['./index.html', './src/**/*.vue', './src/**/*.js', './src/**/*.ts'],
|
||||
},
|
||||
variants: {
|
||||
cursor: ['responsive', 'disabled'],
|
||||
backgroundColor: ['dark', 'hover', 'disabled'],
|
||||
borderColor: ['dark', 'active', 'focus', 'disabled'],
|
||||
textColor: ['dark', 'hover', 'active', 'disabled'],
|
||||
opacity: ['dark', 'hover', 'active', 'focus', 'disabled'],
|
||||
typography: ['dark'],
|
||||
},
|
||||
darkMode: 'class',
|
||||
plugins: [require('@tailwindcss/typography')],
|
||||
theme: {
|
||||
extend: {
|
||||
colors: {
|
||||
@ -20,14 +25,42 @@ module.exports = {
|
||||
10: '0.1',
|
||||
85: '0.85',
|
||||
},
|
||||
typography: {
|
||||
DEFAULT: {
|
||||
css: {
|
||||
color: 'inherit',
|
||||
a: {
|
||||
color: 'inherit',
|
||||
opacity: 0.6,
|
||||
'&:hover': {
|
||||
opacity: 1,
|
||||
color: colors.teal[600],
|
||||
},
|
||||
},
|
||||
b: {
|
||||
color: 'inherit',
|
||||
},
|
||||
strong: {
|
||||
color: 'inherit',
|
||||
},
|
||||
em: {
|
||||
color: 'inherit',
|
||||
},
|
||||
h1: {
|
||||
color: 'inherit',
|
||||
},
|
||||
h2: {
|
||||
color: 'inherit',
|
||||
},
|
||||
h3: {
|
||||
color: 'inherit',
|
||||
},
|
||||
h4: {
|
||||
color: 'inherit',
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
variants: {
|
||||
cursor: ['responsive', 'disabled'],
|
||||
backgroundColor: ['dark', 'hover', 'disabled'],
|
||||
borderColor: ['dark', 'active', 'focus', 'disabled'],
|
||||
textColor: ['dark', 'hover', 'active', 'disabled'],
|
||||
opacity: ['dark', 'hover', 'active', 'focus', 'disabled'],
|
||||
},
|
||||
darkMode: 'class',
|
||||
}
|
||||
|
@ -4,6 +4,7 @@ import Voie from 'vite-plugin-voie'
|
||||
import PurgeIcons from 'vite-plugin-purge-icons'
|
||||
import ViteComponents from 'vite-plugin-components'
|
||||
import Markdown from 'vite-plugin-md'
|
||||
import Shiki from 'markdown-it-shiki'
|
||||
import { VitePWA } from 'vite-plugin-pwa'
|
||||
|
||||
const alias = {
|
||||
@ -13,21 +14,30 @@ const alias = {
|
||||
const config: UserConfig = {
|
||||
alias,
|
||||
plugins: [
|
||||
|
||||
// https://github.com/vamplate/vite-plugin-voie
|
||||
Voie({
|
||||
// load index page sync and bundled with the landing page to improve first loading time.
|
||||
// feel free to remove if you don't need it
|
||||
importMode(path: string) {
|
||||
if (path === '/src/pages/index.vue')
|
||||
return 'sync'
|
||||
return 'async'
|
||||
return path === '/src/pages/index.vue' ? 'sync' : 'async'
|
||||
},
|
||||
extensions: ['vue', 'md'],
|
||||
}),
|
||||
|
||||
// https://github.com/antfu/vite-plugin-md
|
||||
Markdown(),
|
||||
Markdown({
|
||||
// for https://github.com/tailwindlabs/tailwindcss-typography
|
||||
wrapperClasses: 'prose prose-sm m-auto',
|
||||
markdownItSetup(md) {
|
||||
// https://github.com/antfu/markdown-it-shiki
|
||||
md.use(Shiki, {
|
||||
theme: {
|
||||
dark: 'min-dark',
|
||||
light: 'min-light',
|
||||
},
|
||||
})
|
||||
},
|
||||
}),
|
||||
|
||||
// https://github.com/antfu/vite-plugin-components
|
||||
ViteComponents({
|
||||
@ -39,7 +49,9 @@ const config: UserConfig = {
|
||||
extensions: ['vue', 'md'],
|
||||
|
||||
// allow auto import and register components used in markdown
|
||||
customLoaderMatcher: ({ path }) => path.endsWith('.md'),
|
||||
customLoaderMatcher({ path }) {
|
||||
return path.endsWith('.md')
|
||||
},
|
||||
}),
|
||||
|
||||
// https://github.com/antfu/purge-icons
|
||||
|
Loading…
x
Reference in New Issue
Block a user