diff --git a/.changeset/proud-turtles-relate.md b/.changeset/proud-turtles-relate.md
new file mode 100644
index 0000000000..495984f86f
--- /dev/null
+++ b/.changeset/proud-turtles-relate.md
@@ -0,0 +1,5 @@
+---
+"@astrojs/starlight": patch
+---
+
+Translates `fileTree.directory` UI string into Japanese.
diff --git a/.changeset/rare-eggs-study.md b/.changeset/rare-eggs-study.md
new file mode 100644
index 0000000000..30b3e84c20
--- /dev/null
+++ b/.changeset/rare-eggs-study.md
@@ -0,0 +1,5 @@
+---
+'@astrojs/starlight': patch
+---
+
+Translates `fileTree.directory` UI string into simplified Chinese.
diff --git a/.changeset/slow-jeans-destroy.md b/.changeset/slow-jeans-destroy.md
new file mode 100644
index 0000000000..e0b7777b40
--- /dev/null
+++ b/.changeset/slow-jeans-destroy.md
@@ -0,0 +1,5 @@
+---
+'@astrojs/starlight': patch
+---
+
+Translates `fileTree.directory` UI string into French.
diff --git a/.changeset/small-cups-grow.md b/.changeset/small-cups-grow.md
new file mode 100644
index 0000000000..7ba03abaf3
--- /dev/null
+++ b/.changeset/small-cups-grow.md
@@ -0,0 +1,5 @@
+---
+'@astrojs/starlight': minor
+---
+
+Adds 1 new icon: `homebrew`.
diff --git a/docs/package.json b/docs/package.json
index b6a13ab26d..e3ee6871c6 100644
--- a/docs/package.json
+++ b/docs/package.json
@@ -23,14 +23,8 @@
"sharp": "^0.32.5"
},
"devDependencies": {
- "@types/hast": "^3.0.3",
- "hast-util-from-html": "^2.0.1",
- "hast-util-to-string": "^3.0.0",
- "hastscript": "^8.0.0",
"pa11y-ci": "^3.0.1",
- "rehype": "^13.0.1",
"starlight-links-validator": "^0.5.3",
- "start-server-and-test": "^2.0.0",
- "unist-util-visit": "^5.0.0"
+ "start-server-and-test": "^2.0.0"
}
}
diff --git a/docs/src/components/file-tree.astro b/docs/src/components/file-tree.astro
deleted file mode 100644
index 6961461d4f..0000000000
--- a/docs/src/components/file-tree.astro
+++ /dev/null
@@ -1,148 +0,0 @@
----
-import { fileTreeProcessor } from './internal/rehype-file-tree';
-
-const content = await Astro.slots.render('default');
-if (!/^\s*
/.test(content)) {
- throw new Error(
- ` component expects its content to be an unordered list but found HTML starting with “${content.slice(
- 0,
- 20
- )}...”`
- );
-}
-
-const processedContent = await fileTreeProcessor.process({
- value: content,
- data: { directoryLabel: 'Directory' },
-});
----
-
-
-
-
diff --git a/docs/src/components/internal/file-tree-icons.ts b/docs/src/components/internal/file-tree-icons.ts
deleted file mode 100644
index 478c30b128..0000000000
--- a/docs/src/components/internal/file-tree-icons.ts
+++ /dev/null
@@ -1,754 +0,0 @@
-/**
- * Based on https://github.com/elviswolcott/seti-icons which
- * is derived from https://github.com/jesseweed/seti-ui/
- *
- * Copyright (c) 2014 Jesse Weed
- *
- * Permission is hereby granted, free of charge, to any person obtaining
- * a copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sublicense, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
- * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
- * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
- * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- */
-
-const rawDefinitions = {
- files: {
- COMMIT_EDITMSG: ['git', 'ignore'],
- MERGE_MSG: ['git', 'ignore'],
- 'karma.conf.js': ['karma', 'green'],
- 'karma.conf.coffee': ['karma', 'green'],
- 'README.md': ['info', 'blue'],
- 'README.txt': ['info', 'blue'],
- README: ['info', 'blue'],
- 'CHANGELOG.md': ['clock', 'blue'],
- 'CHANGELOG.txt': ['clock', 'blue'],
- CHANGELOG: ['clock', 'blue'],
- 'CHANGES.md': ['clock', 'blue'],
- 'CHANGES.txt': ['clock', 'blue'],
- CHANGES: ['clock', 'blue'],
- 'VERSION.md': ['clock', 'blue'],
- 'VERSION.txt': ['clock', 'blue'],
- VERSION: ['clock', 'blue'],
- mvnw: ['maven', 'red'],
- 'tsconfig.json': ['tsconfig', 'blue'],
- 'swagger.json': ['json', 'green'],
- 'swagger.yml': ['json', 'green'],
- 'swagger.yaml': ['json', 'green'],
- 'mime.types': ['config', 'grey-light'],
- Jenkinsfile: ['jenkins', 'red'],
- 'babel.config.js': ['babel', 'yellow'],
- 'babel.config.json': ['babel', 'yellow'],
- 'babel.config.cjs': ['babel', 'yellow'],
- BUILD: ['bazel', 'green'],
- 'BUILD.bazel': ['bazel', 'green'],
- WORKSPACE: ['bazel', 'green'],
- 'WORKSPACE.bazel': ['bazel', 'green'],
- 'bower.json': ['bower', 'orange'],
- 'Bower.json': ['bower', 'orange'],
- 'firebase.json': ['firebase', 'orange'],
- geckodriver: ['firefox', 'orange'],
- 'Gruntfile.js': ['grunt', 'orange'],
- 'gruntfile.babel.js': ['grunt', 'orange'],
- 'Gruntfile.babel.js': ['grunt', 'orange'],
- 'gruntfile.js': ['grunt', 'orange'],
- 'Gruntfile.coffee': ['grunt', 'orange'],
- 'gruntfile.coffee': ['grunt', 'orange'],
- 'ionic.config.json': ['ionic', 'blue'],
- 'Ionic.config.json': ['ionic', 'blue'],
- 'ionic.project': ['ionic', 'blue'],
- 'Ionic.project': ['ionic', 'blue'],
- 'platformio.ini': ['platformio', 'orange'],
- 'rollup.config.js': ['rollup', 'red'],
- 'sass-lint.yml': ['sass', 'pink'],
- 'stylelint.config.js': ['stylelint', 'white'],
- 'stylelint.config.cjs': ['stylelint', 'white'],
- 'yarn.clean': ['yarn', 'blue'],
- 'yarn.lock': ['yarn', 'blue'],
- 'webpack.config.js': ['webpack', 'blue'],
- 'webpack.config.cjs': ['webpack', 'blue'],
- 'webpack.config.ts': ['webpack', 'blue'],
- 'webpack.config.build.js': ['webpack', 'blue'],
- 'webpack.config.build.cjs': ['webpack', 'blue'],
- 'webpack.config.build.ts': ['webpack', 'blue'],
- 'webpack.common.js': ['webpack', 'blue'],
- 'webpack.common.cjs': ['webpack', 'blue'],
- 'webpack.common.ts': ['webpack', 'blue'],
- 'webpack.dev.js': ['webpack', 'blue'],
- 'webpack.dev.cjs': ['webpack', 'blue'],
- 'webpack.dev.ts': ['webpack', 'blue'],
- 'webpack.prod.js': ['webpack', 'blue'],
- 'webpack.prod.cjs': ['webpack', 'blue'],
- 'webpack.prod.ts': ['webpack', 'blue'],
- 'npm-debug.log': ['npm_ignored', 'ignore'],
- },
- extensions: {
- '.astro': ['astro', 'red'],
- '.bsl': ['bsl', 'red'],
- '.mdo': ['mdo', 'red'],
- '.cls': ['salesforce', 'blue'],
- '.apex': ['salesforce', 'blue'],
- '.asm': ['asm', 'red'],
- '.s': ['asm', 'red'],
- '.bicep': ['bicep', 'blue'],
- '.bzl': ['bazel', 'green'],
- '.bazel': ['bazel', 'green'],
- '.BUILD': ['bazel', 'green'],
- '.WORKSPACE': ['bazel', 'green'],
- '.bazelignore': ['bazel', 'green'],
- '.bazelversion': ['bazel', 'green'],
- '.c': ['c', 'blue'],
- '.h': ['c', 'purple'],
- '.m': ['c', 'yellow'],
- '.cs': ['c-sharp', 'blue'],
- '.cshtml': ['html', 'blue'],
- '.aspx': ['html', 'blue'],
- '.ascx': ['html', 'green'],
- '.asax': ['html', 'yellow'],
- '.master': ['html', 'yellow'],
- '.cc': ['cpp', 'blue'],
- '.cpp': ['cpp', 'blue'],
- '.cxx': ['cpp', 'blue'],
- '.c++': ['cpp', 'blue'],
- '.hh': ['cpp', 'purple'],
- '.hpp': ['cpp', 'purple'],
- '.hxx': ['cpp', 'purple'],
- '.h++': ['cpp', 'purple'],
- '.mm': ['cpp', 'yellow'],
- '.clj': ['clojure', 'green'],
- '.cljs': ['clojure', 'green'],
- '.cljc': ['clojure', 'green'],
- '.edn': ['clojure', 'blue'],
- '.cfc': ['coldfusion', 'blue'],
- '.cfm': ['coldfusion', 'blue'],
- '.coffee': ['coffee', 'yellow'],
- '.litcoffee': ['coffee', 'yellow'],
- '.config': ['config', 'grey-light'],
- '.cfg': ['config', 'grey-light'],
- '.conf': ['config', 'grey-light'],
- '.cr': ['crystal', 'white'],
- '.ecr': ['crystal_embedded', 'white'],
- '.slang': ['crystal_embedded', 'white'],
- '.cson': ['json', 'yellow'],
- '.css': ['css', 'blue'],
- '.css.map': ['css', 'blue'],
- '.sss': ['css', 'blue'],
- '.csv': ['csv', 'green'],
- '.xls': ['xls', 'green'],
- '.xlsx': ['xls', 'green'],
- '.cu': ['cu', 'green'],
- '.cuh': ['cu', 'purple'],
- '.hu': ['cu', 'purple'],
- '.cake': ['cake', 'red'],
- '.ctp': ['cake_php', 'red'],
- '.d': ['d', 'red'],
- '.doc': ['word', 'blue'],
- '.docx': ['word', 'blue'],
- '.ejs': ['ejs', 'yellow'],
- '.ex': ['elixir', 'purple'],
- '.exs': ['elixir_script', 'purple'],
- '.elm': ['elm', 'blue'],
- '.ico': ['favicon', 'yellow'],
- '.fs': ['f-sharp', 'blue'],
- '.fsx': ['f-sharp', 'blue'],
- '.gitignore': ['git', 'ignore'],
- '.gitconfig': ['git', 'ignore'],
- '.gitkeep': ['git', 'ignore'],
- '.gitattributes': ['git', 'ignore'],
- '.gitmodules': ['git', 'ignore'],
- '.go': ['go2', 'blue'],
- '.slide': ['go', 'blue'],
- '.article': ['go', 'blue'],
- '.gd': ['godot', 'blue'],
- '.godot': ['godot', 'red'],
- '.tres': ['godot', 'yellow'],
- '.tscn': ['godot', 'purple'],
- '.gradle': ['gradle', 'blue'],
- '.groovy': ['grails', 'green'],
- '.gsp': ['grails', 'green'],
- '.gql': ['graphql', 'pink'],
- '.graphql': ['graphql', 'pink'],
- '.graphqls': ['graphql', 'pink'],
- '.hack': ['hacklang', 'orange'],
- '.haml': ['haml', 'red'],
- '.handlebars': ['mustache', 'orange'],
- '.hbs': ['mustache', 'orange'],
- '.hjs': ['mustache', 'orange'],
- '.hs': ['haskell', 'purple'],
- '.lhs': ['haskell', 'purple'],
- '.hx': ['haxe', 'orange'],
- '.hxs': ['haxe', 'yellow'],
- '.hxp': ['haxe', 'blue'],
- '.hxml': ['haxe', 'purple'],
- '.html': ['html', 'orange'],
- '.jade': ['jade', 'red'],
- '.java': ['java', 'red'],
- '.class': ['java', 'blue'],
- '.classpath': ['java', 'red'],
- '.properties': ['java', 'red'],
- '.js': ['javascript', 'yellow'],
- '.js.map': ['javascript', 'yellow'],
- '.spec.js': ['javascript', 'orange'],
- '.test.js': ['javascript', 'orange'],
- '.es': ['javascript', 'yellow'],
- '.es5': ['javascript', 'yellow'],
- '.es6': ['javascript', 'yellow'],
- '.es7': ['javascript', 'yellow'],
- '.cjs': ['javascript', 'yellow'],
- '.mjs': ['javascript', 'yellow'],
- '.jinja': ['jinja', 'red'],
- '.jinja2': ['jinja', 'red'],
- '.json': ['json', 'yellow'],
- '.jl': ['julia', 'purple'],
- '.kt': ['kotlin', 'orange'],
- '.kts': ['kotlin', 'orange'],
- '.dart': ['dart', 'blue'],
- '.less': ['less', 'blue'],
- '.liquid': ['liquid', 'green'],
- '.ls': ['livescript', 'blue'],
- '.lua': ['lua', 'blue'],
- '.markdown': ['markdown', 'blue'],
- '.md': ['markdown', 'blue'],
- '.mdx': ['markdown', 'blue'],
- '.argdown': ['argdown', 'blue'],
- '.ad': ['argdown', 'blue'],
- '.mustache': ['mustache', 'orange'],
- '.stache': ['mustache', 'orange'],
- '.nim': ['nim', 'yellow'],
- '.nims': ['nim', 'yellow'],
- '.github-issues': ['github', 'white'],
- '.ipynb': ['notebook', 'blue'],
- '.njk': ['nunjucks', 'green'],
- '.nunjucks': ['nunjucks', 'green'],
- '.nunjs': ['nunjucks', 'green'],
- '.nunj': ['nunjucks', 'green'],
- '.njs': ['nunjucks', 'green'],
- '.nj': ['nunjucks', 'green'],
- '.npm-debug.log': ['npm', 'ignore'],
- '.npmignore': ['npm', 'red'],
- '.npmrc': ['npm', 'red'],
- '.ml': ['ocaml', 'orange'],
- '.mli': ['ocaml', 'orange'],
- '.cmx': ['ocaml', 'orange'],
- '.cmxa': ['ocaml', 'orange'],
- '.odata': ['odata', 'orange'],
- '.pl': ['perl', 'blue'],
- '.php': ['php', 'purple'],
- '.php.inc': ['php', 'purple'],
- '.pipeline': ['pipeline', 'orange'],
- '.pddl': ['pddl', 'purple'],
- '.plan': ['plan', 'green'],
- '.happenings': ['happenings', 'blue'],
- '.ps1': ['powershell', 'blue'],
- '.psd1': ['powershell', 'blue'],
- '.psm1': ['powershell', 'blue'],
- '.prisma': ['prisma', 'blue'],
- '.pug': ['pug', 'red'],
- '.pp': ['puppet', 'yellow'],
- '.epp': ['puppet', 'yellow'],
- '.purs': ['purescript', 'white'],
- '.py': ['python', 'blue'],
- '.jsx': ['react', 'blue'],
- '.spec.jsx': ['react', 'orange'],
- '.test.jsx': ['react', 'orange'],
- '.cjsx': ['react', 'blue'],
- '.spec.tsx': ['react', 'orange'],
- '.test.tsx': ['react', 'orange'],
- '.re': ['reasonml', 'red'],
- '.res': ['rescript', 'red'],
- '.resi': ['rescript', 'pink'],
- '.R': ['R', 'blue'],
- '.rmd': ['R', 'blue'],
- '.rb': ['ruby', 'red'],
- '.erb': ['html_erb', 'red'],
- '.erb.html': ['html_erb', 'red'],
- '.html.erb': ['html_erb', 'red'],
- '.rs': ['rust', 'grey-light'],
- '.sass': ['sass', 'pink'],
- '.scss': ['sass', 'pink'],
- '.springBeans': ['spring', 'green'],
- '.slim': ['slim', 'orange'],
- '.smarty.tpl': ['smarty', 'yellow'],
- '.tpl': ['smarty', 'yellow'],
- '.sbt': ['sbt', 'blue'],
- '.scala': ['scala', 'red'],
- '.sol': ['ethereum', 'blue'],
- '.styl': ['stylus', 'green'],
- '.svelte': ['svelte', 'red'],
- '.swift': ['swift', 'orange'],
- '.sql': ['db', 'pink'],
- '.soql': ['db', 'blue'],
- '.tf': ['terraform', 'purple'],
- '.tf.json': ['terraform', 'purple'],
- '.tfvars': ['terraform', 'purple'],
- '.tfvars.json': ['terraform', 'purple'],
- '.tex': ['tex', 'blue'],
- '.sty': ['tex', 'yellow'],
- '.dtx': ['tex', 'orange'],
- '.ins': ['tex', 'white'],
- '.txt': ['default', 'white'],
- '.toml': ['config', 'grey-light'],
- '.twig': ['twig', 'green'],
- '.ts': ['typescript', 'blue'],
- '.tsx': ['typescript', 'blue'],
- '.spec.ts': ['typescript', 'orange'],
- '.test.ts': ['typescript', 'orange'],
- '.vala': ['vala', 'grey-light'],
- '.vapi': ['vala', 'grey-light'],
- '.component': ['html', 'orange'],
- '.vue': ['vue', 'green'],
- '.wasm': ['wasm', 'purple'],
- '.wat': ['wat', 'purple'],
- '.xml': ['xml', 'orange'],
- '.yml': ['yml', 'purple'],
- '.yaml': ['yml', 'purple'],
- '.pro': ['prolog', 'orange'],
- '.zig': ['zig', 'orange'],
- '.jar': ['zip', 'red'],
- '.zip': ['zip', 'grey-light'],
- '.wgt': ['wgt', 'blue'],
- '.ai': ['illustrator', 'yellow'],
- '.psd': ['photoshop', 'blue'],
- '.pdf': ['pdf', 'red'],
- '.eot': ['font', 'red'],
- '.ttf': ['font', 'red'],
- '.woff': ['font', 'red'],
- '.woff2': ['font', 'red'],
- '.avif': ['image', 'purple'],
- '.gif': ['image', 'purple'],
- '.jpg': ['image', 'purple'],
- '.jpeg': ['image', 'purple'],
- '.png': ['image', 'purple'],
- '.pxm': ['image', 'purple'],
- '.svg': ['svg', 'purple'],
- '.svgx': ['image', 'purple'],
- '.tiff': ['image', 'purple'],
- '.webp': ['image', 'purple'],
- '.sublime-project': ['sublime', 'orange'],
- '.sublime-workspace': ['sublime', 'orange'],
- '.code-search': ['code-search', 'purple'],
- '.sh': ['shell', 'green'],
- '.zsh': ['shell', 'green'],
- '.fish': ['shell', 'green'],
- '.zshrc': ['shell', 'green'],
- '.bashrc': ['shell', 'green'],
- '.mov': ['video', 'pink'],
- '.ogv': ['video', 'pink'],
- '.webm': ['video', 'pink'],
- '.avi': ['video', 'pink'],
- '.mpg': ['video', 'pink'],
- '.mp4': ['video', 'pink'],
- '.mp3': ['audio', 'purple'],
- '.ogg': ['audio', 'purple'],
- '.wav': ['audio', 'purple'],
- '.flac': ['audio', 'purple'],
- '.3ds': ['svg', 'blue'],
- '.3dm': ['svg', 'blue'],
- '.stl': ['svg', 'blue'],
- '.obj': ['svg', 'blue'],
- '.dae': ['svg', 'blue'],
- '.bat': ['windows', 'blue'],
- '.cmd': ['windows', 'blue'],
- '.babelrc': ['babel', 'yellow'],
- '.babelrc.js': ['babel', 'yellow'],
- '.babelrc.cjs': ['babel', 'yellow'],
- '.bazelrc': ['bazel', 'grey'],
- '.bowerrc': ['bower', 'orange'],
- '.codeclimate.yml': ['code-climate', 'green'],
- '.eslintrc': ['eslint', 'purple'],
- '.eslintrc.js': ['eslint', 'purple'],
- '.eslintrc.cjs': ['eslint', 'purple'],
- '.eslintrc.yaml': ['eslint', 'purple'],
- '.eslintrc.yml': ['eslint', 'purple'],
- '.eslintrc.json': ['eslint', 'purple'],
- '.eslintignore': ['eslint', 'grey'],
- '.firebaserc': ['firebase', 'orange'],
- '.gitlab-ci.yml': ['gitlab', 'orange'],
- '.jshintrc': ['javascript', 'blue'],
- '.jscsrc': ['javascript', 'blue'],
- '.stylelintrc': ['stylelint', 'white'],
- '.stylelintrc.json': ['stylelint', 'white'],
- '.stylelintrc.yaml': ['stylelint', 'white'],
- '.stylelintrc.yml': ['stylelint', 'white'],
- '.stylelintrc.js': ['stylelint', 'white'],
- '.stylelintignore': ['stylelint', 'grey'],
- '.direnv': ['config', 'grey-light'],
- '.env': ['config', 'grey-light'],
- '.static': ['config', 'grey-light'],
- '.editorconfig': ['config', 'grey-light'],
- '.slugignore': ['config', 'grey-light'],
- '.tmp': ['clock', 'grey-light'],
- '.htaccess': ['config', 'grey-light'],
- '.key': ['lock', 'green'],
- '.cert': ['lock', 'green'],
- '.cer': ['lock', 'green'],
- '.crt': ['lock', 'green'],
- '.pem': ['lock', 'green'],
- '.DS_Store': ['ignored', 'ignore'],
- },
- partials: [
- ['TODO.md', ['todo', 'blue']],
- ['TODO.txt', ['todo', 'blue']],
- ['TODO', ['todo', 'blue']],
- ['Procfile', ['heroku', 'purple']],
- ['cmakelists.txt', ['makefile', 'blue']],
- ['CMakeLists.txt', ['makefile', 'blue']],
- ['CMAKELISTS.txt', ['makefile', 'blue']],
- ['CMAKELISTS.TXT', ['makefile', 'blue']],
- ['omakefile', ['makefile', 'grey-light']],
- ['OMakefile', ['makefile', 'grey-light']],
- ['OMAKEFILE', ['makefile', 'grey-light']],
- ['qmakefile', ['makefile', 'purple']],
- ['QMakefile', ['makefile', 'purple']],
- ['QMAKEFILE', ['makefile', 'purple']],
- ['makefile', ['makefile', 'orange']],
- ['Makefile', ['makefile', 'orange']],
- ['MAKEFILE', ['makefile', 'orange']],
- ['CONTRIBUTING.md', ['license', 'red']],
- ['CONTRIBUTING.txt', ['license', 'red']],
- ['CONTRIBUTING', ['license', 'red']],
- ['COMPILING.md', ['license', 'orange']],
- ['COMPILING.txt', ['license', 'orange']],
- ['COMPILING', ['license', 'orange']],
- ['COPYING.md', ['license', 'yellow']],
- ['COPYING.txt', ['license', 'yellow']],
- ['COPYING', ['license', 'yellow']],
- ['LICENCE.md', ['license', 'yellow']],
- ['LICENSE.md', ['license', 'yellow']],
- ['LICENCE.txt', ['license', 'yellow']],
- ['LICENSE.txt', ['license', 'yellow']],
- ['LICENCE', ['license', 'yellow']],
- ['LICENSE', ['license', 'yellow']],
- ['gulpfile.js', ['gulp', 'red']],
- ['gulpfile', ['gulp', 'red']],
- ['Gulpfile', ['gulp', 'red']],
- ['GULPFILE', ['gulp', 'red']],
- ['docker-compose.override.yaml', ['docker', 'pink']],
- ['docker-compose.override.yml', ['docker', 'pink']],
- ['docker-compose.yaml', ['docker', 'pink']],
- ['docker-compose.yml', ['docker', 'pink']],
- ['docker-healthcheck', ['docker', 'green']],
- ['.dockerignore', ['docker', 'grey']],
- ['DOCKERFILE', ['docker', 'blue']],
- ['Dockerfile', ['docker', 'blue']],
- ['dockerfile', ['docker', 'blue']],
- ['gemfile', ['ruby', 'red']],
- ['Gemfile', ['ruby', 'red']],
- ['mix', ['hex', 'red']],
- ],
- default: ['default', 'white'],
-};
-
-const rawIcons = {
- astro:
- '',
- bsl: '',
- mdo: '',
- salesforce:
- '',
- asm: '',
- bicep:
- '',
- bazel:
- '',
- c: '',
- 'c-sharp':
- '',
- html: '',
- cpp: '',
- clojure:
- '',
- coldfusion:
- '',
- coffee:
- '',
- config:
- '',
- crystal:
- '',
- crystal_embedded:
- '',
- json: '',
- css: '',
- csv: '',
- xls: '',
- cu: '',
- cake: '',
- cake_php:
- '',
- d: '',
- word: '',
- ejs: '',
- elixir:
- '',
- elixir_script:
- '',
- hex: '',
- elm: '',
- favicon:
- '',
- 'f-sharp':
- '',
- git: '',
- go2: '',
- go: '',
- godot:
- '',
- gradle:
- '',
- grails:
- '',
- graphql:
- '',
- hacklang:
- '',
- haml: '',
- mustache:
- '',
- haskell:
- '',
- haxe: '',
- jade: '',
- java: '',
- javascript:
- '',
- jinja:
- '',
- julia:
- '',
- karma:
- '',
- kotlin:
- '',
- dart: '',
- less: '',
- liquid:
- '',
- livescript:
- '',
- lua: '',
- markdown:
- '',
- argdown:
- '',
- info: '',
- clock:
- '',
- maven:
- '',
- nim: '',
- github:
- '',
- notebook:
- '',
- nunjucks:
- '',
- npm: '',
- ocaml:
- '',
- odata:
- '',
- perl: '',
- php: '',
- pipeline:
- '',
- pddl: '',
- plan: '',
- happenings:
- '',
- powershell:
- '',
- prisma:
- '',
- pug: '',
- puppet:
- '',
- purescript:
- '',
- python:
- '',
- react:
- '',
- reasonml:
- '',
- rescript:
- '',
- R: '',
- ruby: '',
- html_erb:
- '',
- rust: '',
- sass: '',
- spring:
- '',
- slim: '',
- smarty:
- '',
- sbt: '',
- scala:
- '',
- ethereum:
- '',
- stylus:
- '',
- svelte:
- '',
- swift:
- '',
- db: '',
- terraform:
- '',
- tex: '',
- default:
- '',
- twig: '',
- typescript:
- '',
- tsconfig:
- '',
- vala: '',
- vue: '',
- wasm: '',
- wat: '',
- xml: '',
- yml: '',
- prolog:
- '',
- zig: '',
- zip: '',
- wgt: '',
- illustrator:
- '',
- photoshop:
- '',
- pdf: '',
- font: '',
- image:
- '',
- svg: '',
- sublime:
- '',
- 'code-search':
- '',
- shell:
- '',
- video:
- '',
- audio:
- '',
- windows:
- '',
- jenkins:
- '',
- babel:
- '',
- bower:
- '',
- docker:
- '',
- 'code-climate':
- '',
- eslint:
- '',
- firebase:
- '',
- firefox:
- '',
- gitlab:
- '',
- grunt:
- '',
- gulp: '',
- ionic:
- '',
- platformio:
- '',
- rollup:
- '',
- stylelint:
- '',
- yarn: '',
- webpack:
- '',
- lock: '',
- license:
- '',
- makefile:
- '',
- heroku:
- '',
- todo: '',
- npm_ignored:
- '',
- ignored:
- '',
-};
-
-type IconDetails = [string, string];
-
-interface SetiTheme {
- blue: string;
- grey: string;
- 'grey-light': string;
- green: string;
- orange: string;
- pink: string;
- purple: string;
- red: string;
- white: string;
- yellow: string;
- ignore: string;
-}
-
-type Color = keyof SetiTheme;
-
-interface Icon {
- svg: string;
- color: Color;
-}
-
-const definitions = rawDefinitions as unknown as {
- default: IconDetails;
- extensions: { [extension: string]: IconDetails };
- files: { [file: string]: IconDetails };
- partials: [string, IconDetails][];
-};
-const icons = rawIcons as unknown as {
- [icon: string]: string;
-};
-
-const getDetails = (fileName: string): IconDetails => {
- const details = definitions.files[fileName];
- if (details) return details;
- let extension = fileName.slice(fileName.indexOf('.'));
- while (extension !== '') {
- const details = definitions.extensions[extension];
- if (details) return details;
- // look for next "."
- extension = extension.slice(1);
- extension = extension.slice(extension.indexOf('.'));
- }
- for (const partial of definitions.partials) {
- if (fileName.indexOf(partial[0]) > -1) {
- return partial[1];
- }
- }
- return definitions.default;
-};
-
-export const getIcon = (fileName: string): Icon => {
- const [icon, color] = getDetails(fileName);
- return { svg: icons[icon], color } as Icon;
-};
diff --git a/docs/src/components/internal/rehype-file-tree.ts b/docs/src/components/internal/rehype-file-tree.ts
deleted file mode 100644
index 93c5b45d86..0000000000
--- a/docs/src/components/internal/rehype-file-tree.ts
+++ /dev/null
@@ -1,117 +0,0 @@
-import { fromHtml } from 'hast-util-from-html';
-import { toString } from 'hast-util-to-string';
-import { h, type Child } from 'hastscript';
-import type { Element } from 'hast';
-import { rehype } from 'rehype';
-import { CONTINUE, SKIP, visit } from 'unist-util-visit';
-import { getIcon } from './file-tree-icons';
-
-/** Make a text node with the pass string as its contents. */
-const Text = (value = ''): { type: 'text'; value: string } => ({
- type: 'text',
- value,
-});
-
-/** Convert an HTML string containing an SVG into a HAST element node. */
-const makeSVGIcon = (svgString: string) => {
- const root = fromHtml(svgString, { fragment: true });
- const svg = root.children[0] as Element;
- svg.properties = {
- ...svg.properties,
- width: 16,
- height: 16,
- class: 'tree-icon',
- 'aria-hidden': 'true',
- };
- return svg;
-};
-
-const FileIcon = (filename: string) => {
- const { svg } = getIcon(filename);
- return makeSVGIcon(svg);
-};
-
-const FolderIcon = makeSVGIcon(
- ''
-);
-
-export const fileTreeProcessor = rehype().use(() => (tree: Element, file) => {
- const { directoryLabel } = file.data as { directoryLabel: string };
- visit(tree, 'element', (node) => {
- if (node.type !== 'element') return CONTINUE;
- // Strip nodes that only contain newlines
- node.children = node.children.filter(
- (child) => child.type === 'comment' || child.type !== 'text' || !/^\n+$/.test(child.value)
- );
-
- if (node.tagName !== 'li') return CONTINUE;
-
- // Ensure node has properties so we can assign classes later.
- if (!node.properties) node.properties = {};
-
- const [firstChild, ...otherChildren] = node.children;
-
- const comment: Child[] = [];
- if (firstChild?.type === 'text') {
- const [filename, ...fragments] = firstChild.value.split(' ');
- firstChild.value = filename || '';
- comment.push(fragments.join(' '));
- }
- const subTreeIndex = otherChildren.findIndex(
- (child) => child.type === 'element' && child.tagName === 'ul'
- );
- const commentNodes =
- subTreeIndex > -1 ? otherChildren.slice(0, subTreeIndex) : [...otherChildren];
- otherChildren.splice(0, subTreeIndex > -1 ? subTreeIndex : otherChildren.length);
- comment.push(...commentNodes);
-
- const firstChildTextContent = firstChild ? toString(firstChild) : '';
-
- // Decide a node is a directory if it ends in a `/` or contains another list.
- const isDirectory =
- /\/\s*$/.test(firstChildTextContent) ||
- otherChildren.some((child) => child.type === 'element' && child.tagName === 'ul');
- const isPlaceholder = /^\s*(\.{3}|…)\s*$/.test(firstChildTextContent);
- const isHighlighted = firstChild?.type === 'element' && firstChild.tagName === 'strong';
- const hasContents = otherChildren.length > 0;
-
- const fileExtension = isDirectory ? 'dir' : firstChildTextContent.trim().split('.').pop() || '';
-
- const icon = h('span', isDirectory ? FolderIcon : FileIcon(firstChildTextContent));
- if (!icon.properties) icon.properties = {};
- if (isDirectory) {
- icon.children.unshift(h('span', { class: 'sr-only' }, directoryLabel));
- }
-
- node.properties.class = isDirectory ? 'directory' : 'file';
- if (isPlaceholder) node.properties.class += ' empty';
- node.properties['data-filetype'] = fileExtension;
-
- const treeEntry = h(
- 'span',
- { class: 'tree-entry' },
- h('span', { class: isHighlighted ? 'highlight' : '' }, [
- isPlaceholder ? null : icon,
- firstChild,
- ]),
- Text(comment.length > 0 ? ' ' : ''),
- comment.length > 0 ? h('span', { class: 'comment' }, ...comment) : Text()
- );
-
- if (isDirectory) {
- node.children = [
- h('details', { open: hasContents }, [
- h('summary', treeEntry),
- ...(hasContents ? otherChildren : [h('ul', h('li', '…'))]),
- ]),
- ];
- // Continue down the tree.
- return CONTINUE;
- }
-
- node.children = [treeEntry, ...otherChildren];
-
- // Files can’t contain further files or directories, so skip iterating children.
- return SKIP;
- });
-});
diff --git a/docs/src/content/docs/da/guides/project-structure.mdx b/docs/src/content/docs/da/guides/project-structure.mdx
index 11d203ca76..7875dbaabd 100644
--- a/docs/src/content/docs/da/guides/project-structure.mdx
+++ b/docs/src/content/docs/da/guides/project-structure.mdx
@@ -20,7 +20,7 @@ Starlight projekter følger for det meste den samme fil- og mappestruktur som an
En Starlight projektstruktur kunne se sådan ud:
-import FileTree from '~/components/file-tree.astro';
+import { FileTree } from '@astrojs/starlight/components';
diff --git a/docs/src/content/docs/de/guides/customization.mdx b/docs/src/content/docs/de/guides/customization.mdx
index 9e1757daf1..884500f0dc 100644
--- a/docs/src/content/docs/de/guides/customization.mdx
+++ b/docs/src/content/docs/de/guides/customization.mdx
@@ -4,7 +4,7 @@ description: Lerne, wie du deine Starlight-Site mit deinem Logo, eigenen Schrift
---
import { Tabs, TabItem } from '@astrojs/starlight/components';
-import FileTree from '~/components/file-tree.astro';
+import { FileTree } from '@astrojs/starlight/components';
Starlight bietet sinnvolle Standard-Styling und -Funktionen, so dass du schnell loslegen kannst, ohne dass eine Konfiguration erforderlich ist.
Wenn du das Aussehen deiner Starlight-Website anpassen willst, findest du in dieser Anleitung alle nötigen Informationen.
diff --git a/docs/src/content/docs/de/guides/i18n.mdx b/docs/src/content/docs/de/guides/i18n.mdx
index 18495f2676..0f33004850 100644
--- a/docs/src/content/docs/de/guides/i18n.mdx
+++ b/docs/src/content/docs/de/guides/i18n.mdx
@@ -3,7 +3,7 @@ title: Internationalisierung (i18n)
description: Lerne, wie du deine Starlight-Website so konfigurierst, dass sie mehrere Sprachen unterstützt.
---
-import FileTree from '~/components/file-tree.astro';
+import { FileTree } from '@astrojs/starlight/components';
Starlight bietet eingebaute Unterstützung für mehrsprachige Seiten, einschließlich Routing, Fallback-Inhalte und vollständige Unterstützung von rechts-nach-links (RTL) Sprachen.
diff --git a/docs/src/content/docs/de/guides/project-structure.mdx b/docs/src/content/docs/de/guides/project-structure.mdx
index 4e0808bd8e..9a64155953 100644
--- a/docs/src/content/docs/de/guides/project-structure.mdx
+++ b/docs/src/content/docs/de/guides/project-structure.mdx
@@ -20,7 +20,7 @@ Starlight-Projekte folgen im Allgemeinen der gleichen Datei- und Verzeichnisstru
Ein Starlight-Projektverzeichnis könnte wie folgt aussehen:
-import FileTree from '~/components/file-tree.astro';
+import { FileTree } from '@astrojs/starlight/components';
diff --git a/docs/src/content/docs/de/guides/sidebar.mdx b/docs/src/content/docs/de/guides/sidebar.mdx
index 24c0fc38ac..a0b1cbf942 100644
--- a/docs/src/content/docs/de/guides/sidebar.mdx
+++ b/docs/src/content/docs/de/guides/sidebar.mdx
@@ -3,7 +3,7 @@ title: Seitenleisten-Navigation
description: Erfahre, wie du die Navigationslinks in der Seitenleiste deiner Starlight-Website einrichten und anpassen kannst.
---
-import FileTree from '~/components/file-tree.astro';
+import { FileTree } from '@astrojs/starlight/components';
import SidebarPreview from '~/components/sidebar-preview.astro';
Eine gut organisierte Seitenleiste ist der Schlüssel zu einer guten Dokumentation, da sie eine der Hauptwege ist, auf denen die Benutzer durch deine Website navigieren werden. Starlight bietet eine ganze Reihe von Optionen, um das Layout und den Inhalt der Seitenleiste anzupassen.
diff --git a/docs/src/content/docs/de/manual-setup.mdx b/docs/src/content/docs/de/manual-setup.mdx
index 8d5203308c..79348baff8 100644
--- a/docs/src/content/docs/de/manual-setup.mdx
+++ b/docs/src/content/docs/de/manual-setup.mdx
@@ -106,7 +106,7 @@ Um alle Starlight-Seiten mit einem anderen Pfad aufrufen zu können, lege den ge
Wenn zum Beispiel die URL alle Starlight-Seiten mit `/guides/` beginnen sollen, füge deine Inhalte in das Verzeichnis `src/content/docs/guides/` ein:
-import FileTree from '~/components/file-tree.astro';
+import { FileTree } from '@astrojs/starlight/components';
diff --git a/docs/src/content/docs/es/guides/customization.mdx b/docs/src/content/docs/es/guides/customization.mdx
index 3f8e61c5ad..3ebc0df83d 100644
--- a/docs/src/content/docs/es/guides/customization.mdx
+++ b/docs/src/content/docs/es/guides/customization.mdx
@@ -4,7 +4,7 @@ description: Aprende cómo personalizar tu sitio de Starlight con estilos person
---
import { Tabs, TabItem } from '@astrojs/starlight/components';
-import FileTree from '~/components/file-tree.astro';
+import { FileTree } from '@astrojs/starlight/components';
Starlight proporciona estilos y características predeterminadas sensatas, por lo que puedes comenzar rápidamente sin necesidad de configuración. Cuando desees comenzar a personalizar la apariencia de tu sitio de Starlight, esta guía te proporciona toda la información necesaria.
diff --git a/docs/src/content/docs/es/guides/i18n.mdx b/docs/src/content/docs/es/guides/i18n.mdx
index 1171fd8e66..f154a1d7de 100644
--- a/docs/src/content/docs/es/guides/i18n.mdx
+++ b/docs/src/content/docs/es/guides/i18n.mdx
@@ -3,7 +3,7 @@ title: Internacionalización (i18n)
description: Aprende a configurar tu sitio Starlight para admitir varios idiomas.
---
-import FileTree from '~/components/file-tree.astro';
+import { FileTree } from '@astrojs/starlight/components';
Starlight proporciona soporte incorporado para sitios multilingües, incluidas las rutas, el contenido de respaldo y el soporte completo de idiomas de derecha a izquierda (RTL).
diff --git a/docs/src/content/docs/es/guides/pages.mdx b/docs/src/content/docs/es/guides/pages.mdx
index ad90e1d862..9ff7d8a946 100644
--- a/docs/src/content/docs/es/guides/pages.mdx
+++ b/docs/src/content/docs/es/guides/pages.mdx
@@ -23,7 +23,7 @@ Utiliza subcarpetas para organizar tus archivos y crear múltiples segmentos de
Por ejemplo, la siguiente estructura de archivos generará páginas en `example.com/hello-world` y `example.com/reference/faq`:
-import FileTree from '~/components/file-tree.astro';
+import { FileTree } from '@astrojs/starlight/components';
diff --git a/docs/src/content/docs/es/guides/project-structure.mdx b/docs/src/content/docs/es/guides/project-structure.mdx
index 30d59aedf3..b5a5f5065c 100644
--- a/docs/src/content/docs/es/guides/project-structure.mdx
+++ b/docs/src/content/docs/es/guides/project-structure.mdx
@@ -20,7 +20,7 @@ Los proyectos de Starlight generalmente siguen la misma estructura de archivos y
Un directorio de proyecto de Starlight podría lucir así:
-import FileTree from '~/components/file-tree.astro';
+import { FileTree } from '@astrojs/starlight/components';
diff --git a/docs/src/content/docs/es/guides/sidebar.mdx b/docs/src/content/docs/es/guides/sidebar.mdx
index e4b87e5c17..ef52127830 100644
--- a/docs/src/content/docs/es/guides/sidebar.mdx
+++ b/docs/src/content/docs/es/guides/sidebar.mdx
@@ -3,7 +3,7 @@ title: Barra Lateral de Navegación
description: Aprende a configurar y personalizar los enlaces de navegación de la barra lateral de tu sitio Starlight.
---
-import FileTree from '~/components/file-tree.astro';
+import { FileTree } from '@astrojs/starlight/components';
import SidebarPreview from '~/components/sidebar-preview.astro';
Una barra lateral bien organizada es clave para una buena documentación, ya que es una de las principales formas en que los usuarios navegarán por su sitio. Starlight proporciona un conjunto completo de opciones para personalizar el diseño y el contenido de tu barra lateral.
diff --git a/docs/src/content/docs/es/manual-setup.mdx b/docs/src/content/docs/es/manual-setup.mdx
index f371aff231..7fa2377b04 100644
--- a/docs/src/content/docs/es/manual-setup.mdx
+++ b/docs/src/content/docs/es/manual-setup.mdx
@@ -106,7 +106,7 @@ Para agregar todas las páginas de Starlight en una subruta, coloca todo tu cont
Por ejemplo, si las páginas de Starlight deben comenzar con `/guides/`, agrega tu contenido en el directorio `src/content/docs/guides/`:
-import FileTree from '~/components/file-tree.astro';
+import { FileTree } from '@astrojs/starlight/components';
diff --git a/docs/src/content/docs/fr/guides/components.mdx b/docs/src/content/docs/fr/guides/components.mdx
index b504e78c5b..e9e13b4a97 100644
--- a/docs/src/content/docs/fr/guides/components.mdx
+++ b/docs/src/content/docs/fr/guides/components.mdx
@@ -12,7 +12,7 @@ Starlight prend en charge l'utilisation de composants dans les fichiers [MDX](ht
## Utilisation d'un composant
Vous pouvez utiliser un composant en l'important dans votre fichier MDX et en le rendant sous forme de balise JSX.
-Ces balises ressemblent à des balises HTML mais commencent par une lettre majuscule correspondant au nom de votre déclaration `import` :
+Ces balises ressemblent à des balises HTML, mais commencent par une lettre majuscule correspondant au nom de votre déclaration `import` :
```mdx
---
@@ -59,6 +59,7 @@ import { Tabs, TabItem } from '@astrojs/starlight/components';
Vous pouvez afficher une interface à onglets en utilisant les composants `` et ``.
Chaque `` doit avoir un `label` à afficher aux utilisateurs.
+Utilisez l'attribut facultatif `icon` pour inclure l'une des [icônes intégrées de Starlight](#toutes-les-icônes) à côté de l'étiquette.
```mdx
# src/content/docs/exemple.mdx
@@ -66,16 +67,24 @@ Chaque `` doit avoir un `label` à afficher aux utilisateurs.
import { Tabs, TabItem } from '@astrojs/starlight/components';
- Sirius, Vega, Betelgeuse
- Io, Europa, Ganymede
+
+ Sirius, Véga, Bételgeuse
+
+
+ Io, Europa, Ganymède
+
```
Le code ci-dessus génère les onglets suivants sur la page :
- Sirius, Vega, Betelgeuse
- Io, Europa, Ganymede
+
+ Sirius, Véga, Bételgeuse
+
+
+ Io, Europa, Ganymède
+
### Cartes
@@ -85,39 +94,39 @@ import { Card, CardGrid } from '@astrojs/starlight/components';
Vous pouvez afficher du contenu dans une boîte correspondant aux styles de Starlight en utilisant le composant ``.
Enveloppez plusieurs cartes dans le composant `` pour afficher les cartes côte à côte lorsqu'il y a suffisamment d'espace.
-Une `` nécessite un `title` et peut optionellement inclure un attribut `icon` fixé au nom de [l'une des icônes intégrées de Starlight](#toutes-les-icônes).
+Une `` nécessite un `title` et peut optionnellement inclure un attribut `icon` fixé au nom de [l'une des icônes intégrées de Starlight](#toutes-les-icônes).
```mdx
# src/content/docs/exemple.mdx
import { Card, CardGrid } from '@astrojs/starlight/components';
-
+
Contenu intéressant que vous souhaitez mettre en évidence.
-
- Sirius, Vega, Betelgeuse
+
+ Sirius, Véga, Bételgeuse
-
- Io, Europa, Ganymede
+
+ Io, Europa, Ganymède
```
Le code ci-dessus génère ce qui suit sur la page :
-
+
Contenu intéressant que vous souhaitez mettre en évidence.
-
- Sirius, Vega, Betelgeuse
+
+ Sirius, Véga, Bételgeuse
-
- Io, Europa, Ganymede
+
+ Io, Europa, Ganymède
@@ -234,33 +243,6 @@ D'autres contenus sont également pris en charge dans les encarts.
Starlight fournit également une syntaxe personnalisée pour afficher des encarts dans du contenu Markdown et MDX comme alternative au composant `
-### 아이콘
-
-import { Icon } from '@astrojs/starlight/components';
-import IconsList from '~/components/icons-list.astro';
+### 주석
-Starlight는 `` 컴포넌트를 사용하여 콘텐츠에 표시할 수 있는 공통 아이콘 세트를 제공합니다.
+“권고” 또는 “콜아웃”이라고도 하는 '주석'은 페이지의 기본 콘텐츠 옆에 보조 정보를 표시하는 데 유용합니다.
-각 `` 컴포넌트에는 [`name`](#모든-아이콘) 속성이 필요하며 선택적으로 `label`, `size` 및 `color` 속성을 포함할 수 있습니다.
+``에는 `note` (기본값), `tip`, `caution` 또는 `danger` 등 선택적인 `type`이 있을 수 있습니다. `title` 속성을 설정하면 주석의 기본 제목을 재정의합니다.
-```mdx
+````mdx
# src/content/docs/example.mdx
-import { Icon } from '@astrojs/starlight/components';
+import { Aside } from '@astrojs/starlight/components';
-
+
+
+
+
+
+
+주석에서는 다른 콘텐츠도 지원됩니다.
+
+```js
+// 코드 조각의 예시입니다.
```
-위 코드는 페이지에 아래와 같은 아이콘을 생성합니다.
+
-
+여러분의 비밀번호를 누구에게도 알려주지 마세요.
+````
-#### 모든 아이콘
+위 코드는 페이지에 다음을 생성합니다.
-사용 가능한 모든 아이콘 목록이 관련 이름과 함께 아래에 표시됩니다. 아이콘을 클릭하면 해당 아이콘 컴포넌트의 코드를 복사할 수 있습니다.
+import { Aside } from '@astrojs/starlight/components';
-
+
+
+
+
+
+
+주석에서는 다른 콘텐츠도 지원됩니다.
+
+```js
+// 코드 조각의 예시입니다.
+```
+
+
+
+여러분의 비밀번호를 누구에게도 알려주지 마세요.
+
+Starlight는 `` 컴포넌트 대신 Markdown 및 MDX에서 Aside를 렌더링하기 위한 사용자 정의 구문도 제공합니다.
+사용자 정의 구문에 대한 자세한 내용은 [“마크다운으로 콘텐츠 작성”](/ko/guides/authoring-content/#주석) 가이드를 참조하세요.
### 코드
@@ -247,3 +284,119 @@ import importedCode from '/src/env.d.ts?raw';
import importedCode from '/src/env.d.ts?raw';
+
+### 파일 트리
+
+`` 컴포넌트를 사용하면 파일 아이콘과 축소 가능한 하위 디렉터리가 있는 디렉터리 구조를 표시할 수 있습니다.
+
+``에서 [순서가 지정되지 않은 Markdown 목록](https://www.markdownguide.org/basic-syntax/#unordered-lists)을 사용하여 파일 및 디렉터리의 구조를 지정하세요.
+중첩된 목록을 사용하여 하위 디렉터리를 생성하거나 목록 항목 끝에 `/`를 추가하여 특정 내용이 없는 디렉터리로 렌더링합니다.
+
+다음 구문을 사용하여 파일 트리의 모양을 사용자 정의할 수 있습니다.
+
+- 이름을 굵게 표시하여 파일이나 디렉터리를 강조 표시합니다. 예: `**README.md**`.
+- 이름 뒤에 더 많은 텍스트를 추가하여 파일이나 디렉터리에 설명을 추가합니다.
+- `...` 또는 `…`을 이름으로 사용하여 자리 표시자 파일과 디렉터리를 추가합니다.
+
+```mdx
+# src/content/docs/example.mdx
+
+import { FileTree } from '@astrojs/starlight/components';
+
+
+
+- astro.config.mjs **중요** 파일
+- package.json
+- README.md
+- src
+ - components
+ - **Header.astro**
+ - …
+- pages/
+
+
+```
+
+위 코드는 페이지에 다음을 생성합니다.
+
+import { FileTree } from '@astrojs/starlight/components';
+
+
+
+- astro.config.mjs **중요** 파일
+- package.json
+- README.md
+- src
+ - components
+ - **Header.astro**
+ - …
+- pages/
+
+
+
+### 단계
+
+`` 컴포넌트를 사용하여 번호가 매겨진 작업 목록의 스타일을 지정합니다.
+이는 각 단계를 명확하게 강조해야 하는 보다 복잡한 단계별 가이드에 유용합니다.
+
+표준 Markdown 정렬 목록을 ``로 묶습니다.
+모든 일반적인 Markdown 구문은 `` 내에서 적용 가능합니다.
+
+````mdx title="src/content/docs/example.mdx"
+import { Steps } from '@astrojs/starlight/components';
+
+
+
+1. 컴포넌트를 MDX 파일로 가져옵니다.
+
+ ```js
+ import { Steps } from '@astrojs/starlight/components';
+ ```
+
+2. 순서가 매겨진 목록 항목을 ``로 묶습니다.
+
+
+````
+
+위 코드는 페이지에 다음을 생성합니다.
+
+import { Steps } from '@astrojs/starlight/components';
+
+
+
+1. 컴포넌트를 MDX 파일로 가져옵니다.
+
+ ```js
+ import { Steps } from '@astrojs/starlight/components';
+ ```
+
+2. 순서가 매겨진 목록 항목을 ``로 묶습니다.
+
+
+
+### 아이콘
+
+import { Icon } from '@astrojs/starlight/components';
+import IconsList from '~/components/icons-list.astro';
+
+Starlight는 `` 컴포넌트를 사용하여 콘텐츠에 표시할 수 있는 공통 아이콘 세트를 제공합니다.
+
+각 ``에는 [`name`](#모든-아이콘)이 필요하며 선택적으로 `label`, `size` 및 `color` 속성을 포함할 수 있습니다.
+
+```mdx
+# src/content/docs/example.mdx
+
+import { Icon } from '@astrojs/starlight/components';
+
+
+```
+
+위 코드는 페이지에 다음을 생성합니다.
+
+
+
+#### 모든 아이콘
+
+사용 가능한 모든 아이콘 목록이 관련 이름과 함께 아래에 표시됩니다. 아이콘을 클릭하면 해당 컴포넌트의 코드를 복사할 수 있습니다.
+
+
diff --git a/docs/src/content/docs/ko/guides/customization.mdx b/docs/src/content/docs/ko/guides/customization.mdx
index b01059db89..0a5ab8a622 100644
--- a/docs/src/content/docs/ko/guides/customization.mdx
+++ b/docs/src/content/docs/ko/guides/customization.mdx
@@ -4,7 +4,7 @@ description: 로고, 사용자 정의 글꼴, 랜딩 페이지 디자인 등을
---
import { Tabs, TabItem } from '@astrojs/starlight/components';
-import FileTree from '~/components/file-tree.astro';
+import { FileTree } from '@astrojs/starlight/components';
Starlight는 합리적인 기본 스타일과 기능을 제공하므로 구성 없이 빠르게 시작할 수 있습니다. Starlight 사이트의 모양과 느낌을 바꾸고 싶다면 이 가이드를 참조하세요.
diff --git a/docs/src/content/docs/ko/guides/i18n.mdx b/docs/src/content/docs/ko/guides/i18n.mdx
index 887f3ecafc..3fdadf0919 100644
--- a/docs/src/content/docs/ko/guides/i18n.mdx
+++ b/docs/src/content/docs/ko/guides/i18n.mdx
@@ -3,7 +3,7 @@ title: 국제화 (i18n)
description: 여러 언어를 지원하도록 Starlight 사이트를 구성하는 방법을 알아보세요.
---
-import FileTree from '~/components/file-tree.astro';
+import { FileTree } from '@astrojs/starlight/components';
Starlight는 라우팅, 대체 콘텐츠 및 전체 RTL(오른쪽에서 왼쪽으로) 언어 지원을 포함한 다국어 사이트에 대한 기본 지원을 제공합니다.
@@ -206,7 +206,8 @@ Starlight를 사용하면 번역된 콘텐츠 파일을 호스팅하는 것 외
"aside.note": "Note",
"aside.tip": "Tip",
"aside.caution": "Caution",
- "aside.danger": "Danger"
+ "aside.danger": "Danger",
+ "fileTree.directory": "Directory"
}
```
diff --git a/docs/src/content/docs/ko/guides/pages.mdx b/docs/src/content/docs/ko/guides/pages.mdx
new file mode 100644
index 0000000000..751329755e
--- /dev/null
+++ b/docs/src/content/docs/ko/guides/pages.mdx
@@ -0,0 +1,173 @@
+---
+title: 페이지
+description: Starlight를 사용하여 문서 사이트의 페이지를 만들고 관리하는 방법을 알아보세요.
+sidebar:
+ order: 1
+---
+
+Starlight는 Markdown Frontmatter를 통해 제공되는 유연한 옵션을 사용하여 콘텐츠를 기반으로 사이트의 HTML 페이지를 생성합니다.
+또한 Starlight 프로젝트는 [Astro의 강력한 페이지 생성 도구](https://docs.astro.build/ko/basics/astro-pages/)에 대한 전체 액세스 권한을 갖습니다.
+이 가이드에서는 Starlight에서 페이지 생성이 작동하는 방식을 보여줍니다.
+
+## 콘텐츠 페이지
+
+### 파일 형식
+
+Starlight는 구성이 필요 없는 Markdown 및 MDX 콘텐츠 작성을 지원합니다.
+실험적인 [Astro Markdoc 통합](https://docs.astro.build/ko/guides/integrations-guide/markdoc/)을 설치하여 Markdoc에 대한 지원을 추가할 수 있습니다.
+
+### 페이지 추가
+
+`src/content/docs/`에 `.md` 또는 `.mdx` 파일을 생성하여 사이트에 새 페이지를 추가하세요.
+하위 폴더를 사용하여 파일을 정리하고 여러 경로 세그먼트를 생성하세요.
+
+예를 들어, 다음 파일 구조는 `example.com/hello-world` 및 `example.com/reference/faq`에 페이지를 생성합니다.
+
+import { FileTree } from '@astrojs/starlight/components';
+
+
+
+- src/
+ - content/
+ - docs/
+ - hello-world.md
+ - reference/
+ - faq.md
+
+
+
+### 타입 안정성을 갖춘 프론트매터
+
+모든 Starlight 페이지는 페이지 표시 방법을 제어하기 위해 사용자 정의 가능한 [공통 프론트매터 속성 세트](/ko/reference/frontmatter/)를 공유합니다.
+
+```md
+---
+title: 안녕하세요!
+description: 이것은 내 Starlight 기반 사이트의 페이지입니다.
+---
+```
+
+중요한 사항을 잊어버리면 Starlight가 알려드립니다.
+
+## 사용자 정의 페이지
+
+고급 사용 사례의 경우 `src/pages/` 디렉터리를 생성하여 사용자 정의 페이지를 추가할 수 있습니다.
+`src/pages/` 디렉터리는 [Astro의 파일 기반 라우팅](https://docs.astro.build/ko/basics/astro-pages/#파일-기반-라우팅)을 사용하며 다른 페이지 형식에서 `.astro` 파일에 대한 지원을 포함합니다.
+이는 완전히 사용자 정의된 레이아웃으로 페이지를 작성하거나 대체 데이터 소스에서 페이지를 생성해야 하는 경우에 유용합니다.
+
+예를 들어, 이 프로젝트는 `src/content/docs/`의 Markdown 콘텐츠를 `src/pages/`의 Astro 및 HTML 경로와 혼합합니다.
+
+
+
+- src/
+ - content/
+ - docs/
+ - hello-world.md
+ - pages/
+ - custom.astro
+ - archived.html
+
+
+
+[Astro 문서의 "페이지" 가이드](https://docs.astro.build/ko/basics/astro-pages/)에서 자세한 내용을 읽어보세요.
+
+### 사용자 정의 페이지에서 Starlight 디자인 사용
+
+사용자 정의 페이지에서 Starlight 레이아웃을 사용하려면 `` 컴포넌트로 페이지 콘텐츠를 감싸세요.
+이는 콘텐츠를 동적으로 생성하지만 여전히 Starlight의 디자인을 사용하려는 경우 유용할 수 있습니다.
+
+```astro
+---
+// src/pages/custom-page/example.astro
+import StarlightPage from '@astrojs/starlight/components/StarlightPage.astro';
+import CustomComponent from './CustomComponent.astro';
+---
+
+
+ 이것은 사용자 정의 컴포넌트가 있는 사용자 정의 페이지입니다.
+
+
+```
+
+#### Props
+
+`` 컴포넌트는 다음 props를 허용합니다.
+
+##### `frontmatter` (필수)
+
+**타입:** `StarlightPageFrontmatter`
+
+Markdown 페이지의 프론트매터와 유사하게 이 페이지에 대한 [프론트매터 속성](/ko/reference/frontmatter/)을 설정합니다.
+[`title`](/ko/reference/frontmatter/#title-필수) 속성은 필수이며 다른 모든 속성은 선택 사항입니다.
+
+다음 속성은 Markdown 프론트매터와 다릅니다.
+
+- [`slug`](/ko/reference/frontmatter/#slug) 속성은 지원되지 않으며 사용자 정의 페이지의 URL을 기반으로 자동 설정됩니다.
+- [`editUrl`](/ko/reference/frontmatter/#editurl) 옵션에는 편집 링크를 표시하기 위한 URL이 필요합니다.
+- [자동 생성된 링크 그룹](/ko/reference/configuration/#sidebar)에서 페이지가 표시되는 방식을 사용자 정의하기 위한 [`sidebar`](/ko/reference/frontmatter/#sidebar) 프론트매터 속성을 사용할 수 없습니다. `` 컴포넌트를 사용하는 페이지는 컬렉션의 일부가 아니며 자동 생성된 사이드바 그룹에 추가될 수 없습니다.
+
+##### `sidebar`
+
+**타입:** `SidebarEntry[]`
+**기본값:** [전역 `sidebar` 구성](/ko/reference/configuration/#sidebar)을 기반으로 생성된 사이드바
+
+이 페이지에 대한 사용자 정의 사이트 탐색 사이드바를 제공합니다.
+설정하지 않으면 페이지에서 기본 전역 사이드바를 사용합니다.
+
+예를 들어, 다음 페이지는 홈페이지 링크와 다양한 별자리에 대한 링크 그룹으로 기본 사이드바를 재정의합니다.
+사이드바의 현재 페이지는 `isCurrent` 속성을 사용하여 설정되었으며 선택적인 `badge`가 링크 항목에 추가되었습니다.
+
+```astro {3-13}
+
+ 예시 콘텐츠
+
+```
+
+##### `hasSidebar`
+
+**타입:** `boolean`
+**기본값:** [`frontmatter.template`](/ko/reference/frontmatter/#template)의 값이 `'splash'`라면 `false`, 그렇지 않다면 `true`
+
+이 페이지에 사이드바를 표시할지 여부를 제어합니다.
+
+##### `headings`
+
+**타입:** `{ depth: number; slug: string; text: string }[]`
+**기본값:** `[]`
+
+이 페이지의 모든 제목 배열을 제공하세요.
+제공된 경우 Starlight는 이 제목에서 페이지 목차를 생성합니다.
+
+##### `dir`
+
+**타입:** `'ltr' | 'rtl'`
+**기본값:** 현재 로케일의 쓰기 방향
+
+이 페이지 콘텐츠의 쓰기 방향을 설정합니다.
+
+##### `lang`
+
+**타입:** `string`
+**기본값:** 현재 로케일의 언어
+
+이 페이지 콘텐츠에 대해 BCP-47 언어 태그를 설정합니다. 예: `en`, `zh-CN` 또는 `pt-BR`.
+
+##### `isFallback`
+
+**타입:** `boolean`
+**기본값:** `false`
+
+현재 언어에 대한 번역이 존재하지 않아 이 페이지가 [대체 콘텐츠](/ko/guides/i18n/#대체-콘텐츠)를 사용하고 있는지 표시합니다.
diff --git a/docs/src/content/docs/ko/guides/project-structure.mdx b/docs/src/content/docs/ko/guides/project-structure.mdx
index aa88978043..89f1ed295d 100644
--- a/docs/src/content/docs/ko/guides/project-structure.mdx
+++ b/docs/src/content/docs/ko/guides/project-structure.mdx
@@ -20,7 +20,7 @@ Starlight 프로젝트는 일반적으로 다른 Astro 프로젝트와 동일한
Starlight 프로젝트 디렉터리는 다음과 같습니다.
-import FileTree from '~/components/file-tree.astro';
+import { FileTree } from '@astrojs/starlight/components';
diff --git a/docs/src/content/docs/ko/guides/sidebar.mdx b/docs/src/content/docs/ko/guides/sidebar.mdx
index fd8ba63c6b..dc9c9e9333 100644
--- a/docs/src/content/docs/ko/guides/sidebar.mdx
+++ b/docs/src/content/docs/ko/guides/sidebar.mdx
@@ -3,7 +3,7 @@ title: 사이드바 탐색
description: Starlight 사이트의 사이드바 탐색 링크를 설정하고 사용자 정의하는 방법을 알아보세요.
---
-import FileTree from '~/components/file-tree.astro';
+import { FileTree } from '@astrojs/starlight/components';
import SidebarPreview from '~/components/sidebar-preview.astro';
잘 구성된 사이드바는 사용자가 사이트를 탐색하는 주요 방법 중 하나이므로 좋은 문서의 핵심입니다. Starlight는 사이드바 레이아웃과 콘텐츠를 변경할 수 있는 완전한 옵션 세트를 제공합니다.
diff --git a/docs/src/content/docs/ko/manual-setup.mdx b/docs/src/content/docs/ko/manual-setup.mdx
index b6ff0e7b03..d1f5f39da7 100644
--- a/docs/src/content/docs/ko/manual-setup.mdx
+++ b/docs/src/content/docs/ko/manual-setup.mdx
@@ -104,7 +104,7 @@ Starlight는 파일 기반 라우팅을 사용합니다. 즉, `src/content/docs/
예를 들어, Starlight의 모든 페이지가 `/guides/`에서 시작해야 하는 경우 `src/content/docs/guides/` 디렉터리에 콘텐츠를 추가하세요.
-import FileTree from '~/components/file-tree.astro';
+import { FileTree } from '@astrojs/starlight/components';
diff --git a/docs/src/content/docs/ko/resources/plugins.mdx b/docs/src/content/docs/ko/resources/plugins.mdx
index f120ee4b49..0d14241932 100644
--- a/docs/src/content/docs/ko/resources/plugins.mdx
+++ b/docs/src/content/docs/ko/resources/plugins.mdx
@@ -38,6 +38,26 @@ Starlight 팀이 지원하는 공식 플러그인과 Starlight 사용자가 관
title="starlight-typedoc"
description="TypeDoc을 사용하여 TypeScript로 Starlight 페이지를 생성하세요."
/>
+
+
+
+
## 커뮤니티 도구 및 통합
@@ -52,16 +72,6 @@ import { CardGrid, LinkCard } from '@astrojs/starlight/components';
title="FeelBack"
description="문서 페이지에 사용자 피드백 시스템을 추가하세요."
/>
-
-
+
diff --git a/docs/src/content/docs/manual-setup.mdx b/docs/src/content/docs/manual-setup.mdx
index d80584d024..a6898d28d9 100644
--- a/docs/src/content/docs/manual-setup.mdx
+++ b/docs/src/content/docs/manual-setup.mdx
@@ -106,7 +106,7 @@ To add all Starlight pages at a subpath, place all your docs content inside a su
For example, if Starlight pages should all start with `/guides/`, add your content in the `src/content/docs/guides/` directory:
-import FileTree from '~/components/file-tree.astro';
+import { FileTree } from '@astrojs/starlight/components';
diff --git a/docs/src/content/docs/pt-br/getting-started.mdx b/docs/src/content/docs/pt-br/getting-started.mdx
index 791ed1f10e..4228a63597 100644
--- a/docs/src/content/docs/pt-br/getting-started.mdx
+++ b/docs/src/content/docs/pt-br/getting-started.mdx
@@ -95,7 +95,7 @@ Utilize subdiretórios para organizar seus arquivos, e para criar múltiplos seg
Por exemplo, a seguinte estrutura de arquivos vai gerar páginas `example.com/ola-mundo` e `example.com/guides/faq`:
-import FileTree from '~/components/file-tree.astro';
+import { FileTree } from '@astrojs/starlight/components';
diff --git a/docs/src/content/docs/pt-br/guides/customization.mdx b/docs/src/content/docs/pt-br/guides/customization.mdx
index 5e2e298a11..8ac68a189c 100644
--- a/docs/src/content/docs/pt-br/guides/customization.mdx
+++ b/docs/src/content/docs/pt-br/guides/customization.mdx
@@ -4,7 +4,7 @@ description: Aprenda como fazer seu site Starlight único com sua própria logo,
---
import { Tabs, TabItem } from '@astrojs/starlight/components';
-import FileTree from '~/components/file-tree.astro';
+import { FileTree } from '@astrojs/starlight/components';
Starlight providencia uma estilização e funcionalidades sensíveis padrões, para que você inicie rapidamente sem nenhuma configuração necessária.
diff --git a/docs/src/content/docs/pt-br/guides/i18n.mdx b/docs/src/content/docs/pt-br/guides/i18n.mdx
index 9f9689c6a3..100c172069 100644
--- a/docs/src/content/docs/pt-br/guides/i18n.mdx
+++ b/docs/src/content/docs/pt-br/guides/i18n.mdx
@@ -3,7 +3,7 @@ title: Internacionalização (i18n)
description: Aprenda como configurar seu site Starlight para suportar vários idiomas.
---
-import FileTree from '~/components/file-tree.astro';
+import { FileTree } from '@astrojs/starlight/components';
O Starlight oferece suporte integrado para sites multi-idioma, incluindo roteamento, conteúdo de fallback e suporte completo para idiomas direita para esquerda (RTL).
diff --git a/docs/src/content/docs/pt-br/guides/project-structure.mdx b/docs/src/content/docs/pt-br/guides/project-structure.mdx
index b382494555..984e55639e 100644
--- a/docs/src/content/docs/pt-br/guides/project-structure.mdx
+++ b/docs/src/content/docs/pt-br/guides/project-structure.mdx
@@ -20,7 +20,7 @@ Projetos Starlight geralmente seguem a mesma estrutura de arquivos e diretórios
O diretório de um projeto Starlight pode se parecer com isso:
-import FileTree from '~/components/file-tree.astro';
+import { FileTree } from '@astrojs/starlight/components';
diff --git a/docs/src/content/docs/pt-br/guides/sidebar.mdx b/docs/src/content/docs/pt-br/guides/sidebar.mdx
index f9ad82e73e..072fdf4424 100644
--- a/docs/src/content/docs/pt-br/guides/sidebar.mdx
+++ b/docs/src/content/docs/pt-br/guides/sidebar.mdx
@@ -3,7 +3,7 @@ title: Navegação da barra lateral
description: Aprenda como configurar e customizar os links de navegação da barra lateral de seu site Starlight.
---
-import FileTree from '~/components/file-tree.astro';
+import { FileTree } from '@astrojs/starlight/components';
import SidebarPreview from '~/components/sidebar-preview.astro';
Uma barra lateral bem organizada é essencial para uma boa documentação por ser uma das principais maneiras que usuários vão navegar pelo seu site. Starlight provê um conjunto completo de opções para customizar o layout e conteúdo de sua barra lateral.
diff --git a/docs/src/content/docs/pt-br/manual-setup.mdx b/docs/src/content/docs/pt-br/manual-setup.mdx
index 54956fa0e6..8ff6287410 100644
--- a/docs/src/content/docs/pt-br/manual-setup.mdx
+++ b/docs/src/content/docs/pt-br/manual-setup.mdx
@@ -106,7 +106,7 @@ Para adicionar todas as páginas do Starlight em um subcaminho, coloque todo o c
Por exemplo, se todas as páginas do Starlight devem começar com `/guias/`, adicione seu conteúdo no diretório `src/content/docs/guias/`:
-import FileTree from '~/components/file-tree.astro';
+import { FileTree } from '@astrojs/starlight/components';
diff --git a/docs/src/content/docs/pt-pt/manual-setup.mdx b/docs/src/content/docs/pt-pt/manual-setup.mdx
index 418c1f21ab..ae8a6a7a63 100644
--- a/docs/src/content/docs/pt-pt/manual-setup.mdx
+++ b/docs/src/content/docs/pt-pt/manual-setup.mdx
@@ -92,7 +92,7 @@ Para adicionar todas as páginas do Starlight num subcaminho, coloque todo o con
Por exemplo, se todas as páginas do Starlight devem começar com `/guias/`, adicione o seu conteúdo no diretório `src/content/docs/guias/`:
-import FileTree from '~/components/file-tree.astro';
+import { FileTree } from '@astrojs/starlight/components';
diff --git a/docs/src/content/docs/ru/guides/customization.mdx b/docs/src/content/docs/ru/guides/customization.mdx
index 7997d2f6ac..e27c620950 100644
--- a/docs/src/content/docs/ru/guides/customization.mdx
+++ b/docs/src/content/docs/ru/guides/customization.mdx
@@ -4,7 +4,7 @@ description: Узнайте, как сделать ваш сайт на Starligh
---
import { Tabs, TabItem } from '@astrojs/starlight/components';
-import FileTree from '~/components/file-tree.astro';
+import { FileTree } from '@astrojs/starlight/components';
Starlight предоставляет осмысленные стили и функции по умолчанию, так что вы можете быстро начать работу без необходимости конфигурации.
Когда вы захотите начать настройку внешнего вида вашего сайта на Starlight, этот руководство поможет вам в этом.
diff --git a/docs/src/content/docs/ru/guides/i18n.mdx b/docs/src/content/docs/ru/guides/i18n.mdx
index 651316770d..b4d4c07784 100644
--- a/docs/src/content/docs/ru/guides/i18n.mdx
+++ b/docs/src/content/docs/ru/guides/i18n.mdx
@@ -3,7 +3,7 @@ title: Интернационализация (i18n)
description: Узнайте, как настроить ваш сайт на Starlight для поддержки нескольких языков.
---
-import FileTree from '~/components/file-tree.astro';
+import { FileTree } from '@astrojs/starlight/components';
Starlight предоставляет встроенную поддержку для многоязычных сайтов, включая маршрутизацию, резервной контен и полную поддержку языков RTL.
diff --git a/docs/src/content/docs/ru/guides/project-structure.mdx b/docs/src/content/docs/ru/guides/project-structure.mdx
index 3248a0666c..ab97e8cbdc 100644
--- a/docs/src/content/docs/ru/guides/project-structure.mdx
+++ b/docs/src/content/docs/ru/guides/project-structure.mdx
@@ -21,7 +21,7 @@ description: Узнайте, как организовать файлы в ва
Директория проекта Starlight может выглядеть так:
-import FileTree from '~/components/file-tree.astro';
+import { FileTree } from '@astrojs/starlight/components';
diff --git a/docs/src/content/docs/ru/guides/sidebar.mdx b/docs/src/content/docs/ru/guides/sidebar.mdx
index 39919ca877..5b902f6844 100644
--- a/docs/src/content/docs/ru/guides/sidebar.mdx
+++ b/docs/src/content/docs/ru/guides/sidebar.mdx
@@ -3,7 +3,7 @@ title: Боковая панель
description: Узнайте, как настроить и настроить ссылки боковой панели навигации вашего сайта Starlight.
---
-import FileTree from '~/components/file-tree.astro';
+import { FileTree } from '@astrojs/starlight/components';
import SidebarPreview from '~/components/sidebar-preview.astro';
Хорошо организованная боковая панель ключевой параметр хорошей документации, поскольку это один из основных способов,
diff --git a/docs/src/content/docs/ru/manual-setup.mdx b/docs/src/content/docs/ru/manual-setup.mdx
index 5c49b6918d..f4214a7d6b 100644
--- a/docs/src/content/docs/ru/manual-setup.mdx
+++ b/docs/src/content/docs/ru/manual-setup.mdx
@@ -112,7 +112,7 @@ Starlight использует роутинг на основе файлов, ч
Например, если все страницы Starlight должны начинаться с `/guides/`, добавьте свой контент в директорию `src/content/docs/guides/`:
-import FileTree from '~/components/file-tree.astro';
+import { FileTree } from '@astrojs/starlight/components';
diff --git a/docs/src/content/docs/tr/guides/project-structure.mdx b/docs/src/content/docs/tr/guides/project-structure.mdx
index b9dc04995f..c9dec85dea 100644
--- a/docs/src/content/docs/tr/guides/project-structure.mdx
+++ b/docs/src/content/docs/tr/guides/project-structure.mdx
@@ -20,7 +20,7 @@ Starlight projeleri, diğer Astro projelerinde olduğu gibi aynı dosya ve dizin
Bir Starlight projesi dizini bunun gibi görülebilir:
-import FileTree from '~/components/file-tree.astro';
+import { FileTree } from '@astrojs/starlight/components';
diff --git a/docs/src/content/docs/tr/guides/sidebar.mdx b/docs/src/content/docs/tr/guides/sidebar.mdx
index 2b1a7e603e..9f7703c14c 100644
--- a/docs/src/content/docs/tr/guides/sidebar.mdx
+++ b/docs/src/content/docs/tr/guides/sidebar.mdx
@@ -3,7 +3,7 @@ title: Kenar Çubuğu Gezintileri
description: Starlight sitenizin kenar çubuğunu nasıl kuracağınızı ve özelleştireceğinizi öğrenin.
---
-import FileTree from '~/components/file-tree.astro';
+import { FileTree } from '@astrojs/starlight/components';
import SidebarPreview from '~/components/sidebar-preview.astro';
İyi düzenlenmiş bir kenar çubuğu, kullanıcılarınızın sitenizde gezinti yapabileceği iyi bir dokümantasyonun anahtarıdır. Starlight kenar çubuğunuzun taslağı ve içeriğini özelleştirebileceğiniz ayarlar sunar.
diff --git a/docs/src/content/docs/tr/manual-setup.mdx b/docs/src/content/docs/tr/manual-setup.mdx
index 1d63c2c2dd..d58a6fb997 100644
--- a/docs/src/content/docs/tr/manual-setup.mdx
+++ b/docs/src/content/docs/tr/manual-setup.mdx
@@ -106,7 +106,7 @@ Tüm Starlight sayfalarını alt kırılımda eklemek için `src/content/docs/`
Örneğin, Starlight sayfaların `/guides/` kırılımıyla başlaması gerekiyorsa, içeriklerini `src/content/docs/guides/` dizininde ekle:
-import FileTree from '~/components/file-tree.astro';
+import { FileTree } from '@astrojs/starlight/components';
diff --git a/docs/src/content/docs/uk/getting-started.mdx b/docs/src/content/docs/uk/getting-started.mdx
index 0dbe4d8358..18ff69cf9d 100644
--- a/docs/src/content/docs/uk/getting-started.mdx
+++ b/docs/src/content/docs/uk/getting-started.mdx
@@ -95,7 +95,7 @@ Starlight підтримує створення контенту у формат
Наприклад, оттака структура файлів зґенерує сторінки за адресами `example.com/hello-world` і `example.com/guides/faq`:
-import FileTree from '~/components/file-tree.astro';
+import { FileTree } from '@astrojs/starlight/components';
diff --git a/docs/src/content/docs/zh-cn/guides/customization.mdx b/docs/src/content/docs/zh-cn/guides/customization.mdx
index 27f164c974..50d824e94a 100644
--- a/docs/src/content/docs/zh-cn/guides/customization.mdx
+++ b/docs/src/content/docs/zh-cn/guides/customization.mdx
@@ -4,7 +4,7 @@ description: 学习如何通过自定义样式、字体等使你的 Starlight
---
import { Tabs, TabItem } from '@astrojs/starlight/components';
-import FileTree from '~/components/file-tree.astro';
+import { FileTree } from '@astrojs/starlight/components';
Starlight 提供了合理的默认样式和功能,因此你可以快速开始,无需配置即可进行操作。
当你想要开始自定义 Starlight 网站的外观时,本指南可以帮助你。
diff --git a/docs/src/content/docs/zh-cn/guides/i18n.mdx b/docs/src/content/docs/zh-cn/guides/i18n.mdx
index 9a7b79f152..556faa6f9f 100644
--- a/docs/src/content/docs/zh-cn/guides/i18n.mdx
+++ b/docs/src/content/docs/zh-cn/guides/i18n.mdx
@@ -3,7 +3,7 @@ title: 国际化 (i18n)
description: 学习如何配置你的 Starlight 网站支持多种语言。
---
-import FileTree from '~/components/file-tree.astro';
+import { FileTree } from '@astrojs/starlight/components';
Starlight 提供了内置的多语言支持,包括路由、回退内容和完整的从右到左(RTL)语言支持。
diff --git a/docs/src/content/docs/zh-cn/guides/pages.mdx b/docs/src/content/docs/zh-cn/guides/pages.mdx
index 634fd0348e..0298dc6119 100644
--- a/docs/src/content/docs/zh-cn/guides/pages.mdx
+++ b/docs/src/content/docs/zh-cn/guides/pages.mdx
@@ -23,7 +23,7 @@ Starlight 支持使用 Markdown 和 MDX 编写内容,无需任何配置。
举个例子,以下文件结构将在 `example.com/hello-world` 和 `example.com/reference/faq` 生成页面:
-import FileTree from '~/components/file-tree.astro';
+import { FileTree } from '@astrojs/starlight/components';
diff --git a/docs/src/content/docs/zh-cn/guides/project-structure.mdx b/docs/src/content/docs/zh-cn/guides/project-structure.mdx
index b3967e14a5..c152e154d6 100644
--- a/docs/src/content/docs/zh-cn/guides/project-structure.mdx
+++ b/docs/src/content/docs/zh-cn/guides/project-structure.mdx
@@ -20,7 +20,7 @@ Starlight 项目通常遵循与其他 Astro 项目相同的文件和目录结构
一个 Starlight 项目目录可能如下所示:
-import FileTree from '~/components/file-tree.astro';
+import { FileTree } from '@astrojs/starlight/components';
diff --git a/docs/src/content/docs/zh-cn/guides/sidebar.mdx b/docs/src/content/docs/zh-cn/guides/sidebar.mdx
index 0652211719..fe3ab62d8e 100644
--- a/docs/src/content/docs/zh-cn/guides/sidebar.mdx
+++ b/docs/src/content/docs/zh-cn/guides/sidebar.mdx
@@ -3,7 +3,7 @@ title: 侧边栏导航
description: 了解如何设置和自定义 Starlight 站点的侧边栏导航链接。
---
-import FileTree from '~/components/file-tree.astro';
+import { FileTree } from '@astrojs/starlight/components';
import SidebarPreview from '~/components/sidebar-preview.astro';
一个组织良好的侧边栏是良好文档的关键,因为它是用户浏览你的站点的主要方式之一。Starlight 提供了一整套选项来自定义侧边栏布局和内容。
diff --git a/docs/src/content/docs/zh-cn/manual-setup.mdx b/docs/src/content/docs/zh-cn/manual-setup.mdx
index 2165b5f3e9..422d1d736e 100644
--- a/docs/src/content/docs/zh-cn/manual-setup.mdx
+++ b/docs/src/content/docs/zh-cn/manual-setup.mdx
@@ -105,7 +105,7 @@ Starlight 使用基于文件的路由,这意味着 `src/content/docs/` 中的
例如,如果 Starlight 页面都应该以 `/guides/` 开头,请将内容添加到 `src/content/docs/guides/` 目录中:
-import FileTree from '~/components/file-tree.astro';
+import { FileTree } from '@astrojs/starlight/components';
diff --git a/packages/starlight/components/Icons.ts b/packages/starlight/components/Icons.ts
index f916c03b49..70704e0f03 100644
--- a/packages/starlight/components/Icons.ts
+++ b/packages/starlight/components/Icons.ts
@@ -118,6 +118,8 @@ export const BuiltInIcons = {
'',
linux:
'',
+ homebrew:
+ '',
};
export const Icons = {
diff --git a/packages/starlight/translations/fr.json b/packages/starlight/translations/fr.json
index dafab424b1..8e15eef9d4 100644
--- a/packages/starlight/translations/fr.json
+++ b/packages/starlight/translations/fr.json
@@ -26,5 +26,5 @@
"expressiveCode.copyButtonCopied": "Copié !",
"expressiveCode.copyButtonTooltip": "Copier dans le presse-papiers",
"expressiveCode.terminalWindowFallbackTitle": "Fenêtre de terminal",
- "fileTree.directory": "Directory"
+ "fileTree.directory": "Répertoire"
}
diff --git a/packages/starlight/translations/ja.json b/packages/starlight/translations/ja.json
index 6dd80fff15..7705eb059b 100644
--- a/packages/starlight/translations/ja.json
+++ b/packages/starlight/translations/ja.json
@@ -23,5 +23,5 @@
"aside.tip": "ヒント",
"aside.caution": "注意",
"aside.danger": "危険",
- "fileTree.directory": "Directory"
+ "fileTree.directory": "ディレクトリ"
}
diff --git a/packages/starlight/translations/zh-CN.json b/packages/starlight/translations/zh-CN.json
index eb04f10686..25b25a34e8 100644
--- a/packages/starlight/translations/zh-CN.json
+++ b/packages/starlight/translations/zh-CN.json
@@ -23,5 +23,5 @@
"aside.tip": "提示",
"aside.caution": "警告",
"aside.danger": "危险",
- "fileTree.directory": "Directory"
+ "fileTree.directory": "文件夹"
}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 4e5a710aa4..1510e95f76 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -54,33 +54,15 @@ importers:
specifier: ^0.32.5
version: 0.32.6
devDependencies:
- '@types/hast':
- specifier: ^3.0.3
- version: 3.0.3
- hast-util-from-html:
- specifier: ^2.0.1
- version: 2.0.1
- hast-util-to-string:
- specifier: ^3.0.0
- version: 3.0.0
- hastscript:
- specifier: ^8.0.0
- version: 8.0.0
pa11y-ci:
specifier: ^3.0.1
version: 3.0.1
- rehype:
- specifier: ^13.0.1
- version: 13.0.1
starlight-links-validator:
specifier: ^0.5.3
version: 0.5.3(@astrojs/starlight@packages+starlight)(astro@4.3.5)
start-server-and-test:
specifier: ^2.0.0
version: 2.0.0
- unist-util-visit:
- specifier: ^5.0.0
- version: 5.0.0
examples/basics:
dependencies:
@@ -3833,6 +3815,7 @@ packages:
resolution: {integrity: sha512-OGkAxX1Ua3cbcW6EJ5pT/tslVb90uViVkcJ4ZZIMW/R33DX/AkcJcRrPebPwJkHYwlDHXz4aIwvAAaAdtrACFA==}
dependencies:
'@types/hast': 3.0.3
+ dev: false
/hast-util-whitespace@2.0.1:
resolution: {integrity: sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==}