A content centered site build tool
Inspired by Vitepress
Build with SvelteKit
First of all, all kinds of contributions are welcomed!
For contributing details, see Contributing
This project can not be done without these projects
A content centered site build tool, build on top of Sveltekit.
Home Page: https://sveltepress.site
License: MIT License
A content centered site build tool
Inspired by Vitepress
Build with SvelteKit
First of all, all kinds of contributions are welcomed!
For contributing details, see Contributing
This project can not be done without these projects
I think the update to Shikijs 1 broke support for the non-default highlighter themes.
E.g. using github-light
instead of vitesse-light
will result in this error message:
Internal server error: Theme `github-light` not found, you may need to load it first
Confirmd this bug in a fresh sveltepress instance.
https://github.com/gka/sveltepress-highlighter-theme-bug
Internal server error: Theme `github-light` not found, you may need to load it first
Plugin: @sveltepress/vite
File: /../sveltepress-project/src/routes/hello/+page.md
at getTheme (file:///../sveltepress-project/node_modules/.pnpm/@[email protected]/node_modules/@shikijs/core/dist/index.mjs:5292:19)
at Object.setTheme (file:///../sveltepress-project/node_modules/.pnpm/@[email protected]/node_modules/@shikijs/core/dist/index.mjs:5296:23)
at codeToTokensBase (file:///../sveltepress-project/node_modules/.pnpm/@[email protected]/node_modules/@shikijs/core/dist/index.mjs:516:42)
at codeToTokens (file:///../sveltepress-project/node_modules/.pnpm/@[email protected]/node_modules/@shikijs/core/dist/index.mjs:759:18)
at codeToHast (file:///../sveltepress-project/node_modules/.pnpm/@[email protected]/node_modules/@shikijs/core/dist/index.mjs:991:53)
at codeToHtml (file:///../sveltepress-project/node_modules/.pnpm/@[email protected]/node_modules/@shikijs/core/dist/index.mjs:4552:25)
at Object.codeToHtml (file:///../sveltepress-project/node_modules/.pnpm/@[email protected]/node_modules/@shikijs/core/dist/index.mjs:5345:40)
at Object.highlighter [as light] (file:///../sveltepress-project/node_modules/.pnpm/@[email protected]_@[email protected]_@[email protected]_@sveltejs_gzh4k2qsptoujdmnwzm3iacupy/node_modules/@sveltepress/theme-default/dist/markdown/highlighter.js:60:83)
at file:///../sveltepress-project/node_modules/.pnpm/@[email protected]_@[email protected]_@[email protected]_@sveltejs_gzh4k2qsptoujdmnwzm3iacupy/node_modules/@sveltepress/theme-default/dist/markdown/highlighter.js:126:107
at step (file:///../sveltepress-project/node_modules/.pnpm/@[email protected]_@[email protected]_@[email protected]_@sveltejs_gzh4k2qsptoujdmnwzm3iacupy/node_modules/@sveltepress/theme-default/dist/markdown/highlighter.js:32:23)
ShikiError: Theme `github-light` not found, you may need to load it first
at getTheme (file:///../sveltepress-project/node_modules/.pnpm/@[email protected]/node_modules/@shikijs/core/dist/index.mjs:5292:19)
at Object.setTheme (file:///../sveltepress-project/node_modules/.pnpm/@[email protected]/node_modules/@shikijs/core/dist/index.mjs:5296:23)
at codeToTokensBase (file:///../sveltepress-project/node_modules/.pnpm/@[email protected]/node_modules/@shikijs/core/dist/index.mjs:516:42)
at codeToTokens (file:///../sveltepress-project/node_modules/.pnpm/@[email protected]/node_modules/@shikijs/core/dist/index.mjs:759:18)
at codeToHast (file:///../sveltepress-project/node_modules/.pnpm/@[email protected]/node_modules/@shikijs/core/dist/index.mjs:991:53)
at codeToHtml (file:///../sveltepress-project/node_modules/.pnpm/@[email protected]/node_modules/@shikijs/core/dist/index.mjs:4552:25)
at Object.codeToHtml (file:///../sveltepress-project/node_modules/.pnpm/@[email protected]/node_modules/@shikijs/core/dist/index.mjs:5345:40)
at Object.highlighter [as light] (file:///../sveltepress-project/node_modules/.pnpm/@[email protected]_@[email protected]_@[email protected]_@sveltejs_gzh4k2qsptoujdmnwzm3iacupy/node_modules/@sveltepress/theme-default/dist/markdown/highlighter.js:60:83)
at file:///../sveltepress-project/node_modules/.pnpm/@[email protected]_@[email protected]_@[email protected]_@sveltejs_gzh4k2qsptoujdmnwzm3iacupy/node_modules/@sveltepress/theme-default/dist/markdown/highlighter.js:126:107
at step (file:///../sveltepress-project/node_modules/.pnpm/@[email protected]_@[email protected]_@[email protected]_@sveltejs_gzh4k2qsptoujdmnwzm3iacupy/node_modules/@sveltepress/theme-default/dist/markdown/highlighter.js:32:23) {
plugin: '@sveltepress/vite',
id: '/../sveltepress-project/src/routes/hello/+page.md',
pluginCode: '---\ntitle: Hello world\n---\n\nHere is some code\n\n\n<p>Hi</p>\n'
}
No response
blocking all usage of sveltepress
Any contents in +page|layout(.server).js|ts got missing after building
For example, src/routes/foo/+page.ts
export function () {
return {
foo: 'bar'
}
}
After building, the .sveltekit/output/server/entries/pages/foo/_page.js
is an empty file
None
No response
No response
blocking all usage of sveltepress
Looks like with @sveltepress/[email protected]
the sidebar is always visible and cannot be closed. Therefore block a big chunk of the screen.
Visit https://sveltepress.site/
No response
blocking an upgrade
kit: {
adapter: adapter({
pages: 'dist',
fallback: '404.html',
})
},
paths: {
base: '/base',
}
},
build error :Error: 404 / does not begin with base
,which is configured in paths.base
and can be imported from $app/paths
Is the problem svelte-kit or vite?
No response
No response
annoyance
Npm run build fails in quickstart project.
run "npm create @SveltePress"
run npm install
run npm run build
Error message after running npm run build: Could not find file ".svelte-kit/generated/client-optimized/nodes/0.js" in Vite manifest
Could not find file ".svelte-kit/generated/client-optimized/nodes/0.js" in Vite manifest
No response
blocking all usage of sveltepress
I'd like to start the documentation right away and by pass the homepage, ie, instead of having a /guide I'd like this to be right at beginning. Is this currently doable?
I've tried point this to the homepage but It didn't work
navbar: [
{
title: 'Guide',
to: '/'
},
],
sidebar: {
'/': [
{
title: 'abc',
to: '/abc',
},
So far and based on Docusaurus idea I simply replaced the +page.md by +page.svelte but don't know if there's a better approach
<script lang="ts">
import { goto } from '$app/navigation';
import { onMount } from 'svelte';
onMount(() => {
goto('/guide');
});
</script>
lastUpdate property return Invalid Date even though it's not invoked
First of all thank you for sharing your job,
The text "LastUpdate at : " is always rendered even though i dont use the property.
You can reproduce the problem with the code of this repo => https://github.com/slozano54/sveltepressTests
and temporarily in live => https://sandboxlaravel.webfac.fr/pv.html
The code of the +page.md is :
---
title: PetitVert
---
## some subtitle
some text
I can use the property but if i don't i would like the text "Last update at : ..." was not rendered, actualy i get "Last update at : Invalid Date"
Curiously, it seems to be the expected behavior as i can see in your component here
No response
No response
annoyance
There is no straightforward option to export all the website with its pages as a PDF book
A "npm run pdf-export" command or a button somewhere to execute the command
Print from the browser
nice to have
When running 'vite build' the buildoutput for .server.js files are empty.
Heres my svelte.config.js
import adapter from '@sveltejs/adapter-auto';
import { vitePreprocess } from '@sveltejs/kit/vite';
/**
* @type {import('@sveltejs/kit').Config}
*/
const config = {
extensions: ['.svelte', '.md'],
preprocess: [vitePreprocess()],
kit: {
adapter: adapter({
pages: 'dist'
})
}
};
export default config;
When I run vite build the .server.js files are empty. FYI client side files are working perfectly
No response
No response
annoyance
Developer mode is broken: Link do not load on first try (HMR update fails).
I am not sure if related but it is also not possible to set custom themes on a fresh installation. Instead the custom theme flashes and then the default theme appears.
git clone https://github.com/SveltePress/sveltepress.git
cd sveltepress/packages/docs-site/
pnpm install
pnpm dev
Go to website. Any first click on an unclicked link results in a crash.
No response
No response
blocking all usage of sveltepress
It looks like defaultTheme
is set and working during SSR with my settings, but just after, it's replaced to default.
I'm I missing something?
Thx for your help
No response
No response
annoyance
To install, I have run in empty folder:
sudo npm install -g @sveltepress/create
But documentation say to run
npm create @SveltePress
Maybe documentation need update?
https://sveltepress.site/guide/quick-start/
No response
No response
annoyance
When building the example website, I get the following error: SvelteKitError: Not found: /.https://github.com/Blackman99/sveltepress
.
For some reason, an external URL seems to be considered an internal path, although it is explicitly configured as external:
sveltepress/packages/create/template-js/src/routes/+page.md
Lines 6 to 9 in 80960f0
Note that it works when running pnpm dev
, but does not work with pnpm build
(see the repoduction).
Also note that you seem to have renamed the repo org name to SveltePress
, therefore, consider changing https://github.com/Blackman99/sveltepress
to https://github.com/SveltePress/sveltepress
.
echo -e '\n' | pnpm create @sveltepress docs
cd docs
pnpm i
pnpm build
SvelteKitError: Not found: /.https://github.com/Blackman99/sveltepress
at resolve2 (file://$docs_root/.svelte-kit/output/server/index.js:3604:18)
at resolve (file://$docs_root/.svelte-kit/output/server/index.js:3436:34)
at #options.hooks.handle (file://$docs_root/.svelte-kit/output/server/index.js:3679:71)
at respond (file://$docs_root/.svelte-kit/output/server/index.js:3434:43) {
status: 404,
text: 'Not Found'
}
node:internal/event_target:1096
process.nextTick(() => { throw err; });
^
Error: 404 /.https://github.com/Blackman99/sveltepress (linked from /)
To suppress or handle this error, implement `handleHttpError` in https://kit.svelte.dev/docs/configuration#prerender
at file://$docs_root/node_modules/.pnpm/@[email protected]_@[email protected][email protected][email protected]/node_modules/@sveltejs/kit/src/core/config/options.js:202:13
at file://$docs_root/node_modules/.pnpm/@[email protected]_@[email protected][email protected][email protected]/node_modules/@sveltejs/kit/src/core/postbuild/prerender.js:65:25
at save (file://$docs_root/node_modules/.pnpm/@[email protected]_@[email protected][email protected][email protected]/node_modules/@sveltejs/kit/src/core/postbuild/prerender.js:403:4)
at visit (file://$docs_root/node_modules/.pnpm/@[email protected]_@[email protected][email protected][email protected]/node_modules/@sveltejs/kit/src/core/postbuild/prerender.js:236:3)
Node.js v21.6.2
βELIFECYCLEβ Command failed with exit code 1.
No response
annoyance
# jq .devDependencies package.json
{
"@sveltejs/adapter-static": "^3.0.1",
"@sveltejs/kit": "^2.0.6",
"@sveltepress/theme-default": "^1.22.6",
"@sveltepress/vite": "^0.31.6",
"@types/node": "^20.10.6",
"svelte": "^4.2.8",
"typescript": "^5.3.3",
"vite": "^5.0.10",
"@sveltejs/vite-plugin-svelte": "^3.0.1"
}
To define a sidebar, you need to use this format:
const sidebar = {
'/foo/': [
{
title: 'Bar',
to: '/foo/bar/',
},
// more items
]
}
To define a sub-item
, you need to add an items property to the object. For example:
{
title: 'Zoo',
collapsible: true,
items: [
{
title: 'Sub item',
to: '/sub/item/link'
}
]
},
However, you cannot nest sub-items inside sub-items. In other words, you cannot have an items
property inside another items
property. For example, this is not allowed:
{
title: 'Zoo',
collapsible: true,
items: [
{
title: 'Sub item',
to: '/sub/item/link',
items:[
// more items
]
}
]
},
A straightforward solution would be for SveltePress to support nested sidebar items.
To support nested sidebar items, we can add an id
and parent
property to each item. This would allow us to filter which items are related to which other items.
For example, the following sidebar would be updated to include id
and parent
properties:
const sidebar = {
'/foo/': [
{
id: 'bar',
title: 'Bar',
to: '/foo/bar/',
parent: null,
},
{
id: 'zoo',
title: 'Zoo',
collapsible: true,
parent: null,
},
{
id: 'sub-item',
title: 'Sub item',
to: '/sub/item/link',
parent: 'zoo',
},
{
id: 'sub-sub-item',
title: 'Sub sub item',
to: '/sub/sub/item/link',
parent: 'sub-item',
},
{
id: 'external-github-page',
title: 'External github page',
to: 'https://github.com',
parent: null,
},
],
};
With these properties, we can easily filter which items are related to which other items.
would make my life easier
δ½Ώη¨δ»£η εζ₯ι
ReferenceError: window is not defined
No response
No response
annoyance
After creating a project with npm create @SveltePress, the sidebar is open at all times and cant be closed in mobile view.
Same on firefox and chrome.
After creating a project with npm create @SveltePress, the sidebar is open at all times and cant be closed in mobile view.
Same on firefox and chrome.
No response
https://gyazo.com/25d672fe9aa6d9d769025e9b416b301d
blocking all usage of sveltepress
It would be great to have a out of the box Search module, just like in VuePress.
Search for routes, frontmatter and headings.
Add a plugin in svelteConfig like so
plugins: [
['@sveltepress/search', {
searchMaxSuggestions: 10
}]
]
Maybe as an alternative, an Algolia provider. It would be better to have a solution without any third parties though
would make my life easier
First off, I'm glad this project exists and I'm rooting for its long-term efforts.
The mobile navigator has too many interactions:
It's challenging to remember which button does what, and the floating action buttons hide content, especially when zooming in.
Example from Docusaurus:
It's okay to have 'on this page' nav be at the top of the page. It's usually not a lot of effort for users to scroll to the top of a page.
It would also be helpful to wrap the navigation area with <nav aria-label="Menu">
As a personal recommendation, do not make the top header sticky. You can consider auto-hiding it or keeping it statically placed at the top of the page. This avoids troublesome page shrink when zooming in or shrinking the window in a split-screen scenario.
N/A
i cannot use svelte without it
It makes the website look unprofessional
Remove animation of it
not considering any alternatives
nice to have
When developing everything appears as per the documentation. However when building and previewing the CSS will no longer apply.
npm create @sveltepress
# create demo
cd demo
npm run dev
Create a subroute with +page.md
and give it a title and text like the following:
---
title: Demo Test
---
Is this working? Placeholder text to extend the text past the initial sidebar and confirm that it is indeed appearing.
npm run build && vite preview
You should see that the CSS no longer applies. Tested on Firefox and Chrome.
No response
No response
blocking all usage of sveltepress
For some of the examples in my SveltePress page I would love to know if the page is currently in dark or light mode.
it would be great if from my Svelte pages and live components I could just access a global isDark
store, perhaps like this
import { getContext } from 'svelte';
const { isDark } = getContext('sveltepress');
The alternative would be to somehow track if there's a .dark
class set on the <html>
element, which doesn't really work reactively without a lot of hazzle.
nice to have
The discord link provide when openning a new issue is not an invitation link.
Click on the discord link in incognito mode
No response
No response
annoyance
Can I put authentication in front of svelte press?
I want to add a login screen, then based upon the profile show pages, or hide pages.
If I add Typescript to a .md file like:
<script lang="ts"> // +` lang="ts"` for TypeScript
let count:number = 0 // + `:number`
</script>
<button on:click="{() => count++}">
You've clicked {count} times
</button>
It works as expected.
If I use the same Code in a +page.svelte file I get a 404 or 500 Error Page.
(log see below)
If I remove lang="ts"
from the Script my IDE shows the errors and a Hint:
Unexpected token
If you expect this syntax to work, here are some suggestions:
If you use typescript withsvelte-preprocess
, did you addlang="ts"
to yourscript
tag?
Did you setup asvelte.config.js
?
See https://github.com/sveltejs/language-tools/tree/master/docs#using-with-preprocessors for more info.svelte(parse-error)
This means Typescript is interpreted as JavaScript in *.svelte files.
run pnpm create @sveltepress
and chose Typescript as Language.
Then create a *.svelte file with Typescript.
Internal server error: Unexpected token
Plugin: @sveltepress/vite
File: [β¦]/src/routes/tests/+page.svelte:2:12
1: <script lang="ts">
2: let count:number = 0
^
3: </script>
[β¦]
No response
blocking an upgrade
It would be great to have a possibility to control the sidebar from the config file
In svelte config or some specific config file for sveltepress to add something like so
sidebar: [
'/',
'/page-a',
['/page-b', 'Explicit link text']
]
N/A
would make my life easier
I want to be able to customize the set of icons used for the features of the default page (using a set iconify ideally, as this is well integrated using Unocss)
I checked the code and documentation and from what I understand, for now, these icons come from custom svelte components from a predefined list in the home page script.
I suggest using "pure css icons" instead, and passing in the theme options the list of icons we want to use, (within the constraint of having the necessary dependency in this case) or maybe the list of icon names we want to use, and maybe fallBack in some way on the built-in icon (like your svelte component to avoid the need for dependency on iconify-json/[the-collection-you-want] .
Maybe another way of doing this is to just provide a list of svelte component to use (like you did) and let the used decide to use what he wants (icon from iconify, hard-coded svg in svelte components, etc...)
PS: I really like your project, it's an idea I've had in mind for a while (using svelte-kit to make a mardown site generator) but I haven't found or taken the time to do it and not being a web developer initially I would never be able to produce something so clean.
I would be happy to contribute to this nice project and implement this little feature (and others who knows) if you validate the direction (or if you have a better idea)
It's a real alternative(prod ready) to something like Docusaurus for me that deserves to be more widely known.
nice to have
Navigation links in the light theme do not have sufficient contrast.
Observe side navigation on desktop while viewing in the light theme.
Try aiming for higher contrast: https://webaim.org/resources/contrastchecker/
No response
annoyance
I really can't get it started.
git clone https://github.com/SveltePress/sveltepress.git
pnpm i
Scope: all 6 workspace projects
Lockfile is up to date, resolution step is skipped
Packages: +11
+++++++++++
. prepare$ pnpm build:td && pnpm build:vite
β > @0.0.1 build:td D:\training\sveltepress
β > cd packages/theme-default && pnpm build && cd ../..
[1 lines collapsed]
β > pnpm build:comps && pnpm cp:assets
β2> @sveltepress/[email protected] build:comps D:\training\sveltepress\packages\theme-default
β > @sveltepress/[email protected] build D:\training\sveltepress\packages\theme-default
β3> pnpm build:comps && pnpm cp:assets
β > pnpm build:comps && pnpm cp:assets
β4> @sveltepress/[email protected] build:comps D:\training\sveltepress\packages\theme-default
β > @sveltepress/[email protected] build:comps D:\training\sveltepress\packages\theme-default
β5> svelte-package -i src
β > svelte-package -i src
β6file:///D:/training/sveltepress/packages/theme-default/svelte.config.js?ts=1703002965579:1
β file:///D:/training/sveltepress/packages/theme-default/svelte.config.js?ts=1703002965579:1
β7import { vitePreprocess } from '@sveltejs/kit/vite'
β import { vitePreprocess } from '@sveltejs/kit/vite'
β8 ^^^^^^^^^^^^^^
β > @0.0.1 build:td D:\training\sveltepress
β > cd packages/theme-default && pnpm build && cd ../..
β > @sveltepress/[email protected] build D:\training\sveltepress\packages\theme-default
β > pnpm build:comps && pnpm cp:assets
β > @sveltepress/[email protected] build:comps D:\training\sveltepress\packages\theme-default
β > svelte-package -i src
β file:///D:/training/sveltepress/packages/theme-default/svelte.config.js?ts=1703002965579:1
β import { vitePreprocess } from '@sveltejs/kit/vite'
β ^^^^^^^^^^^^^^
β SyntaxError: The requested module '@sveltejs/kit/vite' does not provide an export named 'vitePreprocess'
β at ModuleJob._instantiate (node:internal/modules/esm/module_job:123:21)
β at async ModuleJob.run (node:internal/modules/esm/module_job:189:5)
β at async Promise.all (index 0)
β at async ESMLoader.import (node:internal/modules/esm/loader:526:24)
β at async load_config (file:///D:/training/sveltepress/node_modules/.pnpm/@[email protected][email protected][email protected]/node_modules/@sveltejβ¦
β at async file:///D:/training/sveltepress/node_modules/.pnpm/@[email protected][email protected][email protected]/node_modules/@sveltejs/package/srcβ¦
β βELIFECYCLEβ Command failed with exit code 1.
β βELIFECYCLEβ Command failed with exit code 1.
β βELIFECYCLEβ Command failed with exit code 1.
ββ Failed in 3.5s at D:\training\sveltepress
βELIFECYCLEβ Command failed with exit code 1.
### Screenshots
_No response_
### Severity
annoyance
This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.
These updates are currently rate-limited. Click on a checkbox below to force their creation now.
workbox-precaching
, workbox-routing
, workbox-window
)These updates have all been created already. Click a checkbox below to force a retry/rebase of any.
.github/workflows/format.yml
actions/checkout v4
actions/setup-node v4
pnpm/action-setup v3.0.0
.github/workflows/lint.yml
actions/checkout v4
actions/setup-node v4
pnpm/action-setup v3.0.0
.github/workflows/publish-npm.yml
actions/checkout v4
actions/setup-node v4
pnpm/action-setup v3.0.0
changesets/action v1
.github/workflows/release.yml
actions/checkout v4
actions/setup-node v4
.github/workflows/test.yml
actions/checkout v4
actions/setup-node v4
pnpm/action-setup v3.0.0
package.json
@changesets/changelog-github ^0.5.0
@casual-ui/eslint-config-svelte ^0.6.0
@changesets/cli ^2.27.1
eslint ^8.57.0
prettier ~3.2.5
prettier-plugin-svelte ^3.2.1
svelte ^4.2.12
taze ^0.13.3
typescript ~5.3.3
packages/create/package.json
cross-spawn ^7.0.3
minimist ^1.2.8
picocolors ^1.0.0
prompts ^2.4.2
@types/cross-spawn ^6.0.6
@types/minimist ^1.2.5
@types/node ^20.11.20
@types/prompts ^2.4.9
typescript ^5.3.3
unbuild ^2.0.0
packages/create/template-js/package.json
@sveltejs/adapter-static ^3.0.1
@sveltejs/kit ^2.5.1
@sveltejs/vite-plugin-svelte ^3.0.2
@sveltepress/theme-default ^2.0.2
@sveltepress/vite ^0.33.2
@types/node ^20.11.20
svelte ^4.2.12
vite ^5.1.4
packages/create/template-ts/package.json
@sveltejs/adapter-static ^3.0.1
@sveltejs/kit ^2.5.1
@sveltejs/vite-plugin-svelte ^3.0.2
@sveltepress/theme-default ^2.0.2
@sveltepress/vite ^0.33.2
@types/node ^20.11.20
svelte ^4.2.12
typescript ^5.3.3
vite ^5.1.4
packages/docs-site-zh/package.json
@sveltejs/adapter-static ^3.0.1
@sveltejs/kit ^2.5.1
@sveltejs/vite-plugin-svelte ^3.0.2
@types/node ^20.11.20
svelte ^4.2.12
svelte-check ^3.6.4
vite ^5.1.4
workbox-window ^7.0.0
packages/docs-site/package.json
@sveltejs/adapter-static ^3.0.1
@sveltejs/kit ^2.5.1
@sveltejs/vite-plugin-svelte ^3.0.2
@types/node ^20.11.20
svelte ^4.2.12
svelte-check ^3.6.4
vite ^5.1.4
workbox-window ^7.0.0
packages/theme-default/package.json
@docsearch/css ^3.5.2
@docsearch/js ^3.5.2
@iconify/json ^2.2.186
@iconify/utils ^2.1.14
@shikijs/twoslash ^1.1.7
@sveltejs/vite-plugin-svelte ^3.0.2
@vite-pwa/sveltekit ^0.4.0
lru-cache ^10.2.0
shiki ^1.1.7
uid ^2.0.2
unist-util-visit ^5.0.0
unocss ^0.58.3
vite-plugin-pwa ^0.19.0
workbox-precaching ^7.0.0
workbox-routing ^7.0.0
@sveltejs/kit ^2.5.1
@sveltejs/package ^2.3.0
@types/node ^20.11.20
svelte ^4.2.12
unified ^11.0.4
vite ^5.1.4
vitest ^1.3.1
@sveltejs/kit ^1.20.4 || ^2.0.0
@sveltejs/vite-plugin-svelte ^3.0.1
svelte ^3.55.1 || ^4.0.0
vite ^4.3.9 || ^5.0.0
packages/twoslash/package.json
@floating-ui/dom ^1.6.3
@shikijs/twoslash ^1.1.7
mdast-util-from-markdown ^2.0.0
mdast-util-gfm ^3.0.0
mdast-util-to-hast ^13.1.0
shiki ^1.1.7
svelte-language-server ^0.16.5
twoslash ^0.2.4
twoslash-protocol ^0.2.4
@sveltejs/package ^2.2.7
@sveltejs/vite-plugin-svelte ^3.0.2
@types/hast ^3.0.4
svelte2tsx ^0.7.4
typescript ^5.3.3
vitest ^1.3.1
svelte ^3.55.1 || ^4.0.0
packages/vite/package.json
cross-spawn ^7.0.3
fs-extra ^11.2.0
lru-cache ^10.2.0
picocolors ^1.0.0
rehype-stringify ^10.0.0
remark-directive ^3.0.0
remark-emoji ^4.0.1
remark-extract-frontmatter ^3.2.0
remark-frontmatter ^5.0.0
remark-gfm ^4.0.0
remark-parse ^11.0.0
remark-rehype ^11.1.0
remark-stringify ^11.0.0
shiki ^1.1.7
svelte-preprocess ^5.1.3
unified ^11.0.4
unist-util-visit ^5.0.0
vfile ^6.0.1
vite-plugin-inspect ^0.8.3
yaml ^2.4.0
@sveltejs/kit ^2.5.1
@types/cross-spawn ^6.0.6
@types/estree ^1.0.5
@types/fs-extra ^11.0.4
@types/mdast ^4.0.3
@types/node ^20.11.20
dayjs ^1.11.10
svelte ^4.2.12
unbuild ^2.0.0
vite ^5.1.4
vitest ^1.3.1
@sveltejs/kit ^1.20.4 || ^2.0.0
@sveltejs/vite-plugin-svelte ^3.0.1
svelte ^3.55.1 || ^4.0.0
vite ^4.3.9 || ^5.0.0
It would be nice if I could provide an URL with my code snippets so readers of the docs could play around with a StackBlitz or REPL example right away. As of now there just is a button to copy the code, but it would be nice if I could turn them into a "Fork" button instead.
Maybe SveltePress could allow a syntax like this
```svelte url=https://svelte.dev/repl/hello-world?version=4.2.12
Hello world
```
And then display a "fork" or "REPL" button instead of the button to copy the code.
The alternative is to place these links in the markdown text below a code snippet, which looks a bit sad.
would make my life easier
A declarative, efficient, and flexible JavaScript library for building user interfaces.
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. πππ
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google β€οΈ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.