Compare commits
	
		
			3 Commits
		
	
	
		
			81217e1e64
			...
			817d184fe1
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 817d184fe1 | |||
| d53a8a8178 | |||
| f649b44d55 | 
							
								
								
									
										17
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,17 @@
 | 
				
			|||||||
 | 
					# devstar介绍文档
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 如何启动项目
 | 
				
			||||||
 | 
					```md
 | 
				
			||||||
 | 
					npm run docs:dev
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					## 如何打包项目
 | 
				
			||||||
 | 
					```md
 | 
				
			||||||
 | 
					npm run docs:build
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					## 如何预览项目
 | 
				
			||||||
 | 
					```md
 | 
				
			||||||
 | 
					npm run docs:preview
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					## 如何添加或修改目录
 | 
				
			||||||
 | 
					在docs/.vitepress/config.mts中的sidebar进行修改,text为目录的描述内容,link为点击目录后加载的内容的链接,如果有子目录,在items进行修改
 | 
				
			||||||
 | 
					link链接的内容既可以是网页链接,也可以是本地文档
 | 
				
			||||||
							
								
								
									
										275
									
								
								docs/.vitepress/cache/deps/@theme_index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										275
									
								
								docs/.vitepress/cache/deps/@theme_index.js
									
									
									
									
										vendored
									
									
								
							@@ -1,275 +0,0 @@
 | 
				
			|||||||
import {
 | 
					 | 
				
			||||||
  useMediaQuery
 | 
					 | 
				
			||||||
} from "./chunk-P2XGSYO7.js";
 | 
					 | 
				
			||||||
import {
 | 
					 | 
				
			||||||
  computed,
 | 
					 | 
				
			||||||
  ref,
 | 
					 | 
				
			||||||
  shallowRef,
 | 
					 | 
				
			||||||
  watch
 | 
					 | 
				
			||||||
} from "./chunk-HVR2FF6M.js";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// node_modules/vitepress/dist/client/theme-default/index.js
 | 
					 | 
				
			||||||
import "C:/Users/lat52/Desktop/devstar项目/devstar介绍文档/node_modules/vitepress/dist/client/theme-default/styles/fonts.css";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// node_modules/vitepress/dist/client/theme-default/without-fonts.js
 | 
					 | 
				
			||||||
import "C:/Users/lat52/Desktop/devstar项目/devstar介绍文档/node_modules/vitepress/dist/client/theme-default/styles/vars.css";
 | 
					 | 
				
			||||||
import "C:/Users/lat52/Desktop/devstar项目/devstar介绍文档/node_modules/vitepress/dist/client/theme-default/styles/base.css";
 | 
					 | 
				
			||||||
import "C:/Users/lat52/Desktop/devstar项目/devstar介绍文档/node_modules/vitepress/dist/client/theme-default/styles/icons.css";
 | 
					 | 
				
			||||||
import "C:/Users/lat52/Desktop/devstar项目/devstar介绍文档/node_modules/vitepress/dist/client/theme-default/styles/utils.css";
 | 
					 | 
				
			||||||
import "C:/Users/lat52/Desktop/devstar项目/devstar介绍文档/node_modules/vitepress/dist/client/theme-default/styles/components/custom-block.css";
 | 
					 | 
				
			||||||
import "C:/Users/lat52/Desktop/devstar项目/devstar介绍文档/node_modules/vitepress/dist/client/theme-default/styles/components/vp-code.css";
 | 
					 | 
				
			||||||
import "C:/Users/lat52/Desktop/devstar项目/devstar介绍文档/node_modules/vitepress/dist/client/theme-default/styles/components/vp-code-group.css";
 | 
					 | 
				
			||||||
import "C:/Users/lat52/Desktop/devstar项目/devstar介绍文档/node_modules/vitepress/dist/client/theme-default/styles/components/vp-doc.css";
 | 
					 | 
				
			||||||
import "C:/Users/lat52/Desktop/devstar项目/devstar介绍文档/node_modules/vitepress/dist/client/theme-default/styles/components/vp-sponsor.css";
 | 
					 | 
				
			||||||
import VPBadge from "C:/Users/lat52/Desktop/devstar项目/devstar介绍文档/node_modules/vitepress/dist/client/theme-default/components/VPBadge.vue";
 | 
					 | 
				
			||||||
import Layout from "C:/Users/lat52/Desktop/devstar项目/devstar介绍文档/node_modules/vitepress/dist/client/theme-default/Layout.vue";
 | 
					 | 
				
			||||||
import { default as default2 } from "C:/Users/lat52/Desktop/devstar项目/devstar介绍文档/node_modules/vitepress/dist/client/theme-default/components/VPBadge.vue";
 | 
					 | 
				
			||||||
import { default as default3 } from "C:/Users/lat52/Desktop/devstar项目/devstar介绍文档/node_modules/vitepress/dist/client/theme-default/components/VPButton.vue";
 | 
					 | 
				
			||||||
import { default as default4 } from "C:/Users/lat52/Desktop/devstar项目/devstar介绍文档/node_modules/vitepress/dist/client/theme-default/components/VPDocAsideSponsors.vue";
 | 
					 | 
				
			||||||
import { default as default5 } from "C:/Users/lat52/Desktop/devstar项目/devstar介绍文档/node_modules/vitepress/dist/client/theme-default/components/VPFeatures.vue";
 | 
					 | 
				
			||||||
import { default as default6 } from "C:/Users/lat52/Desktop/devstar项目/devstar介绍文档/node_modules/vitepress/dist/client/theme-default/components/VPHomeContent.vue";
 | 
					 | 
				
			||||||
import { default as default7 } from "C:/Users/lat52/Desktop/devstar项目/devstar介绍文档/node_modules/vitepress/dist/client/theme-default/components/VPHomeFeatures.vue";
 | 
					 | 
				
			||||||
import { default as default8 } from "C:/Users/lat52/Desktop/devstar项目/devstar介绍文档/node_modules/vitepress/dist/client/theme-default/components/VPHomeHero.vue";
 | 
					 | 
				
			||||||
import { default as default9 } from "C:/Users/lat52/Desktop/devstar项目/devstar介绍文档/node_modules/vitepress/dist/client/theme-default/components/VPHomeSponsors.vue";
 | 
					 | 
				
			||||||
import { default as default10 } from "C:/Users/lat52/Desktop/devstar项目/devstar介绍文档/node_modules/vitepress/dist/client/theme-default/components/VPImage.vue";
 | 
					 | 
				
			||||||
import { default as default11 } from "C:/Users/lat52/Desktop/devstar项目/devstar介绍文档/node_modules/vitepress/dist/client/theme-default/components/VPLink.vue";
 | 
					 | 
				
			||||||
import { default as default12 } from "C:/Users/lat52/Desktop/devstar项目/devstar介绍文档/node_modules/vitepress/dist/client/theme-default/components/VPNavBarSearch.vue";
 | 
					 | 
				
			||||||
import { default as default13 } from "C:/Users/lat52/Desktop/devstar项目/devstar介绍文档/node_modules/vitepress/dist/client/theme-default/components/VPSocialLink.vue";
 | 
					 | 
				
			||||||
import { default as default14 } from "C:/Users/lat52/Desktop/devstar项目/devstar介绍文档/node_modules/vitepress/dist/client/theme-default/components/VPSocialLinks.vue";
 | 
					 | 
				
			||||||
import { default as default15 } from "C:/Users/lat52/Desktop/devstar项目/devstar介绍文档/node_modules/vitepress/dist/client/theme-default/components/VPSponsors.vue";
 | 
					 | 
				
			||||||
import { default as default16 } from "C:/Users/lat52/Desktop/devstar项目/devstar介绍文档/node_modules/vitepress/dist/client/theme-default/components/VPTeamMembers.vue";
 | 
					 | 
				
			||||||
import { default as default17 } from "C:/Users/lat52/Desktop/devstar项目/devstar介绍文档/node_modules/vitepress/dist/client/theme-default/components/VPTeamPage.vue";
 | 
					 | 
				
			||||||
import { default as default18 } from "C:/Users/lat52/Desktop/devstar项目/devstar介绍文档/node_modules/vitepress/dist/client/theme-default/components/VPTeamPageSection.vue";
 | 
					 | 
				
			||||||
import { default as default19 } from "C:/Users/lat52/Desktop/devstar项目/devstar介绍文档/node_modules/vitepress/dist/client/theme-default/components/VPTeamPageTitle.vue";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// node_modules/vitepress/dist/client/theme-default/composables/local-nav.js
 | 
					 | 
				
			||||||
import { onContentUpdated } from "vitepress";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// node_modules/vitepress/dist/client/theme-default/composables/outline.js
 | 
					 | 
				
			||||||
import { getScrollOffset } from "vitepress";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// node_modules/vitepress/dist/client/theme-default/support/utils.js
 | 
					 | 
				
			||||||
import { withBase } from "vitepress";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// node_modules/vitepress/dist/client/theme-default/composables/data.js
 | 
					 | 
				
			||||||
import { useData as useData$ } from "vitepress";
 | 
					 | 
				
			||||||
var useData = useData$;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// node_modules/vitepress/dist/client/theme-default/support/utils.js
 | 
					 | 
				
			||||||
function ensureStartingSlash(path) {
 | 
					 | 
				
			||||||
  return path.startsWith("/") ? path : `/${path}`;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// node_modules/vitepress/dist/client/theme-default/support/sidebar.js
 | 
					 | 
				
			||||||
function getSidebar(_sidebar, path) {
 | 
					 | 
				
			||||||
  if (Array.isArray(_sidebar))
 | 
					 | 
				
			||||||
    return addBase(_sidebar);
 | 
					 | 
				
			||||||
  if (_sidebar == null)
 | 
					 | 
				
			||||||
    return [];
 | 
					 | 
				
			||||||
  path = ensureStartingSlash(path);
 | 
					 | 
				
			||||||
  const dir = Object.keys(_sidebar).sort((a, b) => {
 | 
					 | 
				
			||||||
    return b.split("/").length - a.split("/").length;
 | 
					 | 
				
			||||||
  }).find((dir2) => {
 | 
					 | 
				
			||||||
    return path.startsWith(ensureStartingSlash(dir2));
 | 
					 | 
				
			||||||
  });
 | 
					 | 
				
			||||||
  const sidebar = dir ? _sidebar[dir] : [];
 | 
					 | 
				
			||||||
  return Array.isArray(sidebar) ? addBase(sidebar) : addBase(sidebar.items, sidebar.base);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
function getSidebarGroups(sidebar) {
 | 
					 | 
				
			||||||
  const groups = [];
 | 
					 | 
				
			||||||
  let lastGroupIndex = 0;
 | 
					 | 
				
			||||||
  for (const index in sidebar) {
 | 
					 | 
				
			||||||
    const item = sidebar[index];
 | 
					 | 
				
			||||||
    if (item.items) {
 | 
					 | 
				
			||||||
      lastGroupIndex = groups.push(item);
 | 
					 | 
				
			||||||
      continue;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    if (!groups[lastGroupIndex]) {
 | 
					 | 
				
			||||||
      groups.push({ items: [] });
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    groups[lastGroupIndex].items.push(item);
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
  return groups;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
function addBase(items, _base) {
 | 
					 | 
				
			||||||
  return [...items].map((_item) => {
 | 
					 | 
				
			||||||
    const item = { ..._item };
 | 
					 | 
				
			||||||
    const base = item.base || _base;
 | 
					 | 
				
			||||||
    if (base && item.link)
 | 
					 | 
				
			||||||
      item.link = base + item.link;
 | 
					 | 
				
			||||||
    if (item.items)
 | 
					 | 
				
			||||||
      item.items = addBase(item.items, base);
 | 
					 | 
				
			||||||
    return item;
 | 
					 | 
				
			||||||
  });
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// node_modules/vitepress/dist/client/theme-default/composables/sidebar.js
 | 
					 | 
				
			||||||
function useSidebar() {
 | 
					 | 
				
			||||||
  const { frontmatter, page, theme: theme2 } = useData();
 | 
					 | 
				
			||||||
  const is960 = useMediaQuery("(min-width: 960px)");
 | 
					 | 
				
			||||||
  const isOpen = ref(false);
 | 
					 | 
				
			||||||
  const _sidebar = computed(() => {
 | 
					 | 
				
			||||||
    const sidebarConfig = theme2.value.sidebar;
 | 
					 | 
				
			||||||
    const relativePath = page.value.relativePath;
 | 
					 | 
				
			||||||
    return sidebarConfig ? getSidebar(sidebarConfig, relativePath) : [];
 | 
					 | 
				
			||||||
  });
 | 
					 | 
				
			||||||
  const sidebar = ref(_sidebar.value);
 | 
					 | 
				
			||||||
  watch(_sidebar, (next, prev) => {
 | 
					 | 
				
			||||||
    if (JSON.stringify(next) !== JSON.stringify(prev))
 | 
					 | 
				
			||||||
      sidebar.value = _sidebar.value;
 | 
					 | 
				
			||||||
  });
 | 
					 | 
				
			||||||
  const hasSidebar = computed(() => {
 | 
					 | 
				
			||||||
    return frontmatter.value.sidebar !== false && sidebar.value.length > 0 && frontmatter.value.layout !== "home";
 | 
					 | 
				
			||||||
  });
 | 
					 | 
				
			||||||
  const leftAside = computed(() => {
 | 
					 | 
				
			||||||
    if (hasAside)
 | 
					 | 
				
			||||||
      return frontmatter.value.aside == null ? theme2.value.aside === "left" : frontmatter.value.aside === "left";
 | 
					 | 
				
			||||||
    return false;
 | 
					 | 
				
			||||||
  });
 | 
					 | 
				
			||||||
  const hasAside = computed(() => {
 | 
					 | 
				
			||||||
    if (frontmatter.value.layout === "home")
 | 
					 | 
				
			||||||
      return false;
 | 
					 | 
				
			||||||
    if (frontmatter.value.aside != null)
 | 
					 | 
				
			||||||
      return !!frontmatter.value.aside;
 | 
					 | 
				
			||||||
    return theme2.value.aside !== false;
 | 
					 | 
				
			||||||
  });
 | 
					 | 
				
			||||||
  const isSidebarEnabled = computed(() => hasSidebar.value && is960.value);
 | 
					 | 
				
			||||||
  const sidebarGroups = computed(() => {
 | 
					 | 
				
			||||||
    return hasSidebar.value ? getSidebarGroups(sidebar.value) : [];
 | 
					 | 
				
			||||||
  });
 | 
					 | 
				
			||||||
  function open() {
 | 
					 | 
				
			||||||
    isOpen.value = true;
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
  function close() {
 | 
					 | 
				
			||||||
    isOpen.value = false;
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
  function toggle() {
 | 
					 | 
				
			||||||
    isOpen.value ? close() : open();
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
  return {
 | 
					 | 
				
			||||||
    isOpen,
 | 
					 | 
				
			||||||
    sidebar,
 | 
					 | 
				
			||||||
    sidebarGroups,
 | 
					 | 
				
			||||||
    hasSidebar,
 | 
					 | 
				
			||||||
    hasAside,
 | 
					 | 
				
			||||||
    leftAside,
 | 
					 | 
				
			||||||
    isSidebarEnabled,
 | 
					 | 
				
			||||||
    open,
 | 
					 | 
				
			||||||
    close,
 | 
					 | 
				
			||||||
    toggle
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// node_modules/vitepress/dist/client/theme-default/composables/outline.js
 | 
					 | 
				
			||||||
var ignoreRE = /\b(?:VPBadge|header-anchor|footnote-ref|ignore-header)\b/;
 | 
					 | 
				
			||||||
var resolvedHeaders = [];
 | 
					 | 
				
			||||||
function getHeaders(range) {
 | 
					 | 
				
			||||||
  const headers = [
 | 
					 | 
				
			||||||
    ...document.querySelectorAll(".VPDoc :where(h1,h2,h3,h4,h5,h6)")
 | 
					 | 
				
			||||||
  ].filter((el) => el.id && el.hasChildNodes()).map((el) => {
 | 
					 | 
				
			||||||
    const level = Number(el.tagName[1]);
 | 
					 | 
				
			||||||
    return {
 | 
					 | 
				
			||||||
      element: el,
 | 
					 | 
				
			||||||
      title: serializeHeader(el),
 | 
					 | 
				
			||||||
      link: "#" + el.id,
 | 
					 | 
				
			||||||
      level
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
  });
 | 
					 | 
				
			||||||
  return resolveHeaders(headers, range);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
function serializeHeader(h) {
 | 
					 | 
				
			||||||
  let ret = "";
 | 
					 | 
				
			||||||
  for (const node of h.childNodes) {
 | 
					 | 
				
			||||||
    if (node.nodeType === 1) {
 | 
					 | 
				
			||||||
      if (ignoreRE.test(node.className))
 | 
					 | 
				
			||||||
        continue;
 | 
					 | 
				
			||||||
      ret += node.textContent;
 | 
					 | 
				
			||||||
    } else if (node.nodeType === 3) {
 | 
					 | 
				
			||||||
      ret += node.textContent;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
  return ret.trim();
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
function resolveHeaders(headers, range) {
 | 
					 | 
				
			||||||
  if (range === false) {
 | 
					 | 
				
			||||||
    return [];
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
  const levelsRange = (typeof range === "object" && !Array.isArray(range) ? range.level : range) || 2;
 | 
					 | 
				
			||||||
  const [high, low] = typeof levelsRange === "number" ? [levelsRange, levelsRange] : levelsRange === "deep" ? [2, 6] : levelsRange;
 | 
					 | 
				
			||||||
  return buildTree(headers, high, low);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
function buildTree(data, min, max) {
 | 
					 | 
				
			||||||
  resolvedHeaders.length = 0;
 | 
					 | 
				
			||||||
  const result = [];
 | 
					 | 
				
			||||||
  const stack = [];
 | 
					 | 
				
			||||||
  data.forEach((item) => {
 | 
					 | 
				
			||||||
    const node = { ...item, children: [] };
 | 
					 | 
				
			||||||
    let parent = stack[stack.length - 1];
 | 
					 | 
				
			||||||
    while (parent && parent.level >= node.level) {
 | 
					 | 
				
			||||||
      stack.pop();
 | 
					 | 
				
			||||||
      parent = stack[stack.length - 1];
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    if (node.element.classList.contains("ignore-header") || parent && "shouldIgnore" in parent) {
 | 
					 | 
				
			||||||
      stack.push({ level: node.level, shouldIgnore: true });
 | 
					 | 
				
			||||||
      return;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    if (node.level > max || node.level < min)
 | 
					 | 
				
			||||||
      return;
 | 
					 | 
				
			||||||
    resolvedHeaders.push({ element: node.element, link: node.link });
 | 
					 | 
				
			||||||
    if (parent)
 | 
					 | 
				
			||||||
      parent.children.push(node);
 | 
					 | 
				
			||||||
    else
 | 
					 | 
				
			||||||
      result.push(node);
 | 
					 | 
				
			||||||
    stack.push(node);
 | 
					 | 
				
			||||||
  });
 | 
					 | 
				
			||||||
  return result;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// node_modules/vitepress/dist/client/theme-default/composables/local-nav.js
 | 
					 | 
				
			||||||
function useLocalNav() {
 | 
					 | 
				
			||||||
  const { theme: theme2, frontmatter } = useData();
 | 
					 | 
				
			||||||
  const headers = shallowRef([]);
 | 
					 | 
				
			||||||
  const hasLocalNav = computed(() => {
 | 
					 | 
				
			||||||
    return headers.value.length > 0;
 | 
					 | 
				
			||||||
  });
 | 
					 | 
				
			||||||
  onContentUpdated(() => {
 | 
					 | 
				
			||||||
    headers.value = getHeaders(frontmatter.value.outline ?? theme2.value.outline);
 | 
					 | 
				
			||||||
  });
 | 
					 | 
				
			||||||
  return {
 | 
					 | 
				
			||||||
    headers,
 | 
					 | 
				
			||||||
    hasLocalNav
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// node_modules/vitepress/dist/client/theme-default/without-fonts.js
 | 
					 | 
				
			||||||
var theme = {
 | 
					 | 
				
			||||||
  Layout,
 | 
					 | 
				
			||||||
  enhanceApp: ({ app }) => {
 | 
					 | 
				
			||||||
    app.component("Badge", VPBadge);
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
var without_fonts_default = theme;
 | 
					 | 
				
			||||||
export {
 | 
					 | 
				
			||||||
  default2 as VPBadge,
 | 
					 | 
				
			||||||
  default3 as VPButton,
 | 
					 | 
				
			||||||
  default4 as VPDocAsideSponsors,
 | 
					 | 
				
			||||||
  default5 as VPFeatures,
 | 
					 | 
				
			||||||
  default6 as VPHomeContent,
 | 
					 | 
				
			||||||
  default7 as VPHomeFeatures,
 | 
					 | 
				
			||||||
  default8 as VPHomeHero,
 | 
					 | 
				
			||||||
  default9 as VPHomeSponsors,
 | 
					 | 
				
			||||||
  default10 as VPImage,
 | 
					 | 
				
			||||||
  default11 as VPLink,
 | 
					 | 
				
			||||||
  default12 as VPNavBarSearch,
 | 
					 | 
				
			||||||
  default13 as VPSocialLink,
 | 
					 | 
				
			||||||
  default14 as VPSocialLinks,
 | 
					 | 
				
			||||||
  default15 as VPSponsors,
 | 
					 | 
				
			||||||
  default16 as VPTeamMembers,
 | 
					 | 
				
			||||||
  default17 as VPTeamPage,
 | 
					 | 
				
			||||||
  default18 as VPTeamPageSection,
 | 
					 | 
				
			||||||
  default19 as VPTeamPageTitle,
 | 
					 | 
				
			||||||
  without_fonts_default as default,
 | 
					 | 
				
			||||||
  useLocalNav,
 | 
					 | 
				
			||||||
  useSidebar
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
//# sourceMappingURL=@theme_index.js.map
 | 
					 | 
				
			||||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										58
									
								
								docs/.vitepress/cache/deps/_metadata.json
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										58
									
								
								docs/.vitepress/cache/deps/_metadata.json
									
									
									
									
										vendored
									
									
								
							@@ -1,58 +0,0 @@
 | 
				
			|||||||
{
 | 
					 | 
				
			||||||
  "hash": "1350eb73",
 | 
					 | 
				
			||||||
  "configHash": "e72ba32f",
 | 
					 | 
				
			||||||
  "lockfileHash": "819230d2",
 | 
					 | 
				
			||||||
  "browserHash": "6d032ac0",
 | 
					 | 
				
			||||||
  "optimized": {
 | 
					 | 
				
			||||||
    "vue": {
 | 
					 | 
				
			||||||
      "src": "../../../../node_modules/vue/dist/vue.runtime.esm-bundler.js",
 | 
					 | 
				
			||||||
      "file": "vue.js",
 | 
					 | 
				
			||||||
      "fileHash": "b45fe835",
 | 
					 | 
				
			||||||
      "needsInterop": false
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "vitepress > @vue/devtools-api": {
 | 
					 | 
				
			||||||
      "src": "../../../../node_modules/@vue/devtools-api/dist/index.js",
 | 
					 | 
				
			||||||
      "file": "vitepress___@vue_devtools-api.js",
 | 
					 | 
				
			||||||
      "fileHash": "5715edf5",
 | 
					 | 
				
			||||||
      "needsInterop": false
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "vitepress > @vueuse/core": {
 | 
					 | 
				
			||||||
      "src": "../../../../node_modules/@vueuse/core/index.mjs",
 | 
					 | 
				
			||||||
      "file": "vitepress___@vueuse_core.js",
 | 
					 | 
				
			||||||
      "fileHash": "481a12d2",
 | 
					 | 
				
			||||||
      "needsInterop": false
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "vitepress > @vueuse/integrations/useFocusTrap": {
 | 
					 | 
				
			||||||
      "src": "../../../../node_modules/@vueuse/integrations/useFocusTrap.mjs",
 | 
					 | 
				
			||||||
      "file": "vitepress___@vueuse_integrations_useFocusTrap.js",
 | 
					 | 
				
			||||||
      "fileHash": "084f43d4",
 | 
					 | 
				
			||||||
      "needsInterop": false
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "vitepress > mark.js/src/vanilla.js": {
 | 
					 | 
				
			||||||
      "src": "../../../../node_modules/mark.js/src/vanilla.js",
 | 
					 | 
				
			||||||
      "file": "vitepress___mark__js_src_vanilla__js.js",
 | 
					 | 
				
			||||||
      "fileHash": "465564a4",
 | 
					 | 
				
			||||||
      "needsInterop": false
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "vitepress > minisearch": {
 | 
					 | 
				
			||||||
      "src": "../../../../node_modules/minisearch/dist/es/index.js",
 | 
					 | 
				
			||||||
      "file": "vitepress___minisearch.js",
 | 
					 | 
				
			||||||
      "fileHash": "e160aee1",
 | 
					 | 
				
			||||||
      "needsInterop": false
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "@theme/index": {
 | 
					 | 
				
			||||||
      "src": "../../../../node_modules/vitepress/dist/client/theme-default/index.js",
 | 
					 | 
				
			||||||
      "file": "@theme_index.js",
 | 
					 | 
				
			||||||
      "fileHash": "1b0ae1bd",
 | 
					 | 
				
			||||||
      "needsInterop": false
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  "chunks": {
 | 
					 | 
				
			||||||
    "chunk-P2XGSYO7": {
 | 
					 | 
				
			||||||
      "file": "chunk-P2XGSYO7.js"
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "chunk-HVR2FF6M": {
 | 
					 | 
				
			||||||
      "file": "chunk-HVR2FF6M.js"
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -23,21 +23,7 @@ export default defineConfig({
 | 
				
			|||||||
      { text: 'API', link: 'https://docs.gitea.com/zh-cn/api/1.24/' },
 | 
					      { text: 'API', link: 'https://docs.gitea.com/zh-cn/api/1.24/' },
 | 
				
			||||||
      { text: 'Runner', link: 'https://docs.gitea.com/zh-cn/runner/0.2.11/' },
 | 
					      { text: 'Runner', link: 'https://docs.gitea.com/zh-cn/runner/0.2.11/' },
 | 
				
			||||||
      { text: 'Enterprise', link: 'https://docs.gitea.com/enterprise/' },
 | 
					      { text: 'Enterprise', link: 'https://docs.gitea.com/enterprise/' },
 | 
				
			||||||
      // { text: 'Examples', link: '/markdown-examples' }
 | 
					 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
 | 
					 | 
				
			||||||
    // sidebar: [
 | 
					 | 
				
			||||||
    //   {
 | 
					 | 
				
			||||||
    //     text: 'Examples',
 | 
					 | 
				
			||||||
    //     items: [
 | 
					 | 
				
			||||||
    //       { text: 'Markdown Examples', link: '/markdown-examples' },
 | 
					 | 
				
			||||||
    //       { text: 'Runtime API Examples', link: '/api-examples' }
 | 
					 | 
				
			||||||
    //     ]
 | 
					 | 
				
			||||||
    //   }
 | 
					 | 
				
			||||||
    // ],
 | 
					 | 
				
			||||||
    // sidebar: {
 | 
					 | 
				
			||||||
    //   "/document/decription": set_sidebar("/document/decription"),
 | 
					 | 
				
			||||||
    // },
 | 
					 | 
				
			||||||
    sidebar: [
 | 
					    sidebar: [
 | 
				
			||||||
      {
 | 
					      {
 | 
				
			||||||
        text: 'devstar是什么',
 | 
					        text: 'devstar是什么',
 | 
				
			||||||
@@ -48,53 +34,49 @@ export default defineConfig({
 | 
				
			|||||||
        text: '安装',
 | 
					        text: '安装',
 | 
				
			||||||
        collapsible: true, // 使整个组可折叠
 | 
					        collapsible: true, // 使整个组可折叠
 | 
				
			||||||
        collapsed: true, // 默认展开
 | 
					        collapsed: true, // 默认展开
 | 
				
			||||||
        // link: 'https://docs.gitea.com/zh-cn/category/installation',
 | 
					 | 
				
			||||||
        items: [
 | 
					        items: [
 | 
				
			||||||
          { text: '对比Gitea与其它Git托管工具', link: '/document/installation/comparison.md' },
 | 
					          { text: '对比Gitea与其它Git托管工具', link: 'https://docs.gitea.com/zh-cn/installation/comparison' },
 | 
				
			||||||
          { text: '数据库准备', link: '/document/installation/database-preparation.md' },
 | 
					          { text: '数据库准备', link: 'https://docs.gitea.com/zh-cn/installation/database-prep' },
 | 
				
			||||||
          { text: '使用二进制文件安装', link: '/document/installation/from-binary.md' },
 | 
					          { text: '使用二进制文件安装', link: 'https://docs.gitea.com/zh-cn/installation/install-from-binary' },
 | 
				
			||||||
          { text: '包管理器安装', link: '/document/installation/from-package.md' },
 | 
					          { text: '包管理器安装', link: 'https://docs.gitea.com/zh-cn/installation/install-from-package' },
 | 
				
			||||||
          { text: '使用源代码安装', link: '/document/installation/from-source.md' },
 | 
					          { text: '使用源代码安装', link: 'https://docs.gitea.com/zh-cn/installation/install-from-source' },
 | 
				
			||||||
          { text: '在Linux中以service方式运行', link: '/document/installation/run-as-service-in-ubuntu.md' },//
 | 
					          { text: '在Linux中以service方式运行', link: 'https://docs.gitea.com/zh-cn/installation/linux-service' },//
 | 
				
			||||||
          { text: '注册为Windows服务', link: '/document/installation/windows-service.md' },
 | 
					          { text: '注册为Windows服务', link: 'https://docs.gitea.com/zh-cn/installation/windows-service' },
 | 
				
			||||||
          { text: '使用Docker安装(rootless)', link: '/document/installation/with-docker-rootless.md' },
 | 
					          { text: '使用Docker安装(rootless)', link: 'https://docs.gitea.com/zh-cn/installation/install-with-docker-rootless' },
 | 
				
			||||||
          { text: '使用Docker安装', link: '/document/installation/with-docker.md' },
 | 
					          { text: '使用Docker安装', link: 'https://docs.gitea.com/zh-cn/installation/install-with-docker' },
 | 
				
			||||||
          { text: '在Kubernetes中安装Gitea', link: '/document/installation/on-kubernetes.md' },
 | 
					          { text: '在Kubernetes中安装Gitea', link: 'https://docs.gitea.com/zh-cn/installation/install-on-kubernetes' },
 | 
				
			||||||
          { text: '在云服务器上安装Gitea', link: '/document/installation/on-cloud-provider.md' },
 | 
					          { text: '在云服务器上安装Gitea', link: 'https://docs.gitea.com/zh-cn/installation/install-on-cloud-provider' },
 | 
				
			||||||
          { text: '从旧版Gitea升级', link: '/document/installation/upgrade-from-gitea.md' },
 | 
					          { text: '从旧版Gitea升级', link: 'https://docs.gitea.com/zh-cn/installation/upgrade-from-gitea' },
 | 
				
			||||||
        ]
 | 
					        ]
 | 
				
			||||||
      } as any,
 | 
					      } as any,
 | 
				
			||||||
      {
 | 
					      {
 | 
				
			||||||
        text: '管理',
 | 
					        text: '管理',
 | 
				
			||||||
        // link: 'https://docs.gitea.com/zh-cn/category/administration',
 | 
					 | 
				
			||||||
        collapsible: true, // 使整个组可折叠
 | 
					        collapsible: true, // 使整个组可折叠
 | 
				
			||||||
        collapsed: true, // 默认展开
 | 
					        collapsed: true, // 默认展开
 | 
				
			||||||
        items: [
 | 
					        items: [
 | 
				
			||||||
          { text: '命令行', link: '/document/administration/command-line.md' },
 | 
					          { text: '命令行', link: 'https://docs.gitea.com/zh-cn/administration/command-line' },
 | 
				
			||||||
          { text: '认证', link: '/document/administration/authentication.md' },
 | 
					          { text: '认证', link: 'https://docs.gitea.com/zh-cn/administration/authentication' },
 | 
				
			||||||
          { text: '环境变量清单', link: '/document/administration/environment-variables.md' },
 | 
					          { text: '环境变量清单', link: 'https://docs.gitea.com/zh-cn/administration/environment-variables' },
 | 
				
			||||||
          { text: '备份与恢复', link: '/document/administration/backup-and-restore.md' },
 | 
					          { text: '备份与恢复', link: 'https://docs.gitea.com/zh-cn/administration/backup-and-restore' },
 | 
				
			||||||
          { text: 'Email设置', link: '/document/administration/email-setup.md' },
 | 
					          { text: 'Email设置', link: 'https://docs.gitea.com/zh-cn/administration/email-setup' },
 | 
				
			||||||
          { text: 'Git LFS设置', link: '/document/administration/git-lfs-support.md' },
 | 
					          { text: 'Git LFS设置', link: 'https://docs.gitea.com/zh-cn/administration/git-lfs-setup' },
 | 
				
			||||||
          { text: 'HTTPS配置', link: '/document/administration/https-support.md' },
 | 
					          { text: 'HTTPS配置', link: 'https://docs.gitea.com/zh-cn/administration/https-setup' },
 | 
				
			||||||
          { text: '设置Fail2ban', link: '/document/administration/fail2ban-setup.md' },
 | 
					          { text: '设置Fail2ban', link: 'https://docs.gitea.com/zh-cn/administration/fail2ban-setup' },
 | 
				
			||||||
          { text: '反向代理', link: '/document/administration/reverse-proxies.md' },
 | 
					          { text: '反向代理', link: 'https://docs.gitea.com/zh-cn/administration/reverse-proxies' },
 | 
				
			||||||
          { text: '嵌入资源提取工具', link: '/document/administration/cmd-embedded.md' },
 | 
					          { text: '嵌入资源提取工具', link: 'https://docs.gitea.com/zh-cn/administration/cmd-embedded' },
 | 
				
			||||||
          { text: '配置说明', link: '/document/administration/config-cheat-sheet.md' },
 | 
					          { text: '配置说明', link: 'https://docs.gitea.com/zh-cn/administration/config-cheat-sheet' },
 | 
				
			||||||
          { text: '日志配置', link: '/document/administration/logging-config.md' },
 | 
					          { text: '日志配置', link: 'https://docs.gitea.com/zh-cn/administration/logging-config' },
 | 
				
			||||||
          { text: '邮件模板', link: '/document/administration/mail-templates.md' },
 | 
					          { text: '邮件模板', link: 'https://docs.gitea.com/zh-cn/administration/mail-templates' },
 | 
				
			||||||
          { text: '仓库索引器', link: '/document/administration/repo-indexer.md' },
 | 
					          { text: '仓库索引器', link: 'https://docs.gitea.com/zh-cn/administration/repo-indexer' },
 | 
				
			||||||
          { text: 'GPG提交签名', link: '/document/administration/signing.md' },
 | 
					          { text: 'GPG提交签名', link: 'https://docs.gitea.com/zh-cn/administration/signing' },
 | 
				
			||||||
          { text: '外部渲染器', link: '/document/administration/external-renderers.md' },
 | 
					          { text: '外部渲染器', link: 'https://docs.gitea.com/zh-cn/administration/external-renderers' },
 | 
				
			||||||
          { text: '搜索引擎索引', link: '/document/administration/search-engines-indexation.md' },
 | 
					          { text: '搜索引擎索引', link: 'https://docs.gitea.com/zh-cn/administration/search-engines-indexation' },
 | 
				
			||||||
          // { text: '自定义Gitea配置', link: '/document/administration/customizing-gitea.md' },
 | 
					 | 
				
			||||||
          { text: '自定义Gitea配置', link: 'https://docs.gitea.com/zh-cn/administration/customizing-gitea' },
 | 
					          { text: '自定义Gitea配置', link: 'https://docs.gitea.com/zh-cn/administration/customizing-gitea' },
 | 
				
			||||||
          { text: '添加法律页面', link: '/document/administration/adding-legal-pages.md' }
 | 
					          { text: '添加法律页面', link: 'https://docs.gitea.com/zh-cn/administration/adding-legal-pages' }
 | 
				
			||||||
        ]
 | 
					        ]
 | 
				
			||||||
      } as any,
 | 
					      } as any,
 | 
				
			||||||
      {
 | 
					      {
 | 
				
			||||||
        text: '使用',
 | 
					        text: '使用',
 | 
				
			||||||
        // link: 'https://docs.gitea.com/zh-cn/category/usage',
 | 
					 | 
				
			||||||
        collapsible: true, // 使整个组可折叠
 | 
					        collapsible: true, // 使整个组可折叠
 | 
				
			||||||
        collapsed: true, // 默认展开
 | 
					        collapsed: true, // 默认展开
 | 
				
			||||||
        items: [
 | 
					        items: [
 | 
				
			||||||
@@ -103,15 +85,15 @@ export default defineConfig({
 | 
				
			|||||||
            collapsible: true, // 使整个组可折叠
 | 
					            collapsible: true, // 使整个组可折叠
 | 
				
			||||||
            collapsed: false, // 默认展开
 | 
					            collapsed: false, // 默认展开
 | 
				
			||||||
            items: [
 | 
					            items: [
 | 
				
			||||||
              { text: 'Overview', link: 'document/usage/actions/overview.md' },
 | 
					              { text: 'Overview', link: 'https://docs.gitea.com/zh-cn/usage/actions/overview' },
 | 
				
			||||||
              { text: '快速入门', link: 'document/usage/actions/quickstart.md' },
 | 
					              { text: '快速入门', link: 'https://docs.gitea.com/zh-cn/usage/actions/quickstart' },
 | 
				
			||||||
              { text: '与GitHub Actions的对比', link: 'document/usage/actions/comparison.md' },
 | 
					              { text: '与GitHub Actions的对比', link: 'https://docs.gitea.com/zh-cn/usage/actions/comparison' },
 | 
				
			||||||
              { text: 'Act Runner', link: 'document/usage/actions/act-runner.md' },
 | 
					              { text: 'Act Runner', link: 'https://docs.gitea.com/zh-cn/usage/actions/act-runner' },
 | 
				
			||||||
              { text: '变量', link: 'document/usage/actions/variables.md' },
 | 
					              { text: '变量', link: 'https://docs.gitea.com/zh-cn/usage/actions/actions-variables' },
 | 
				
			||||||
              { text: 'Gitea Actions设计', link: 'document/usage/actions/design.md' },
 | 
					              { text: 'Gitea Actions设计', link: 'https://docs.gitea.com/zh-cn/usage/actions/design' },
 | 
				
			||||||
              { text: '密钥管理', link: 'document/usage/actions/secrets.md' },
 | 
					              { text: '密钥管理', link: 'https://docs.gitea.com/zh-cn/usage/actions/secrets' },
 | 
				
			||||||
              { text: 'Gitea Actions常见问题解答', link: 'document/usage/actions/faq.md' },
 | 
					              { text: 'Gitea Actions常见问题解答', link: 'https://docs.gitea.com/zh-cn/usage/actions/faq' },
 | 
				
			||||||
              { text: 'Badge', link: 'document/usage/actions/badge.md' }  // 注意:Badge未找到对应文件,暂用comparison.md
 | 
					              { text: 'Badge', link: 'https://docs.gitea.com/zh-cn/usage/actions/badge' }
 | 
				
			||||||
            ]
 | 
					            ]
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
          {
 | 
					          {
 | 
				
			||||||
@@ -119,115 +101,84 @@ export default defineConfig({
 | 
				
			|||||||
            collapsible: true, // 使整个组可折叠
 | 
					            collapsible: true, // 使整个组可折叠
 | 
				
			||||||
            collapsed: true, // 默认展开
 | 
					            collapsed: true, // 默认展开
 | 
				
			||||||
            items: [
 | 
					            items: [
 | 
				
			||||||
              { text: '软件包注册表', link: '/document/usage/packages/overview.md' },
 | 
					              { text: '软件包注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/overview' },
 | 
				
			||||||
              { text: 'Alpine 软件包注册表', link: '/document/usage/packages/alpine.md' },
 | 
					              { text: 'Alpine 软件包注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/alpine' },
 | 
				
			||||||
              { text: 'Arch package registry', link: '/document/usage/packages/arch.md' },
 | 
					              { text: 'Arch package registry', link: 'https://docs.gitea.com/zh-cn/usage/packages/arch' },
 | 
				
			||||||
              { text: 'Cargo 软件包注册表', link: '/document/usage/packages/cargo.md' },
 | 
					              { text: 'Cargo 软件包注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/cargo' },
 | 
				
			||||||
              { text: 'Chef 软件包注册表', link: '/document/usage/packages/chef.md' },
 | 
					              { text: 'Chef 软件包注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/chef' },
 | 
				
			||||||
              { text: 'Composer 软件包注册表', link: '/document/usage/packages/composer.md' },
 | 
					              { text: '存储', link: 'https://docs.gitea.com/zh-cn/usage/packages/storage' },
 | 
				
			||||||
              { text: 'Conan 软件包注册表', link: '/document/usage/packages/conan.md' },
 | 
					              { text: 'Composer 软件包注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/composer' },
 | 
				
			||||||
              { text: 'Conda 软件包注册表', link: '/document/usage/packages/conda.md' },
 | 
					              { text: 'Conan 软件包注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/conan' },
 | 
				
			||||||
              { text: '容器注册表', link: '/document/usage/packages/container.md' },
 | 
					              { text: 'Conda 软件包注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/conda' },
 | 
				
			||||||
              { text: 'CRAN 软件包注册表', link: '/document/usage/packages/cran.md' },
 | 
					              { text: '容器注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/container' },
 | 
				
			||||||
              { text: 'Debian 软件包注册表', link: '/document/usage/packages/debian.md' },
 | 
					              { text: 'CRAN 软件包注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/cran' },
 | 
				
			||||||
              { text: '通用软件包注册表', link: '/document/usage/packages/generic.md' },
 | 
					              { text: 'Go 软件包注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/go' },
 | 
				
			||||||
              { text: 'Go 软件包注册表', link: '/document/usage/packages/go.md' },
 | 
					              { text: 'Helm Chart 注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/helm' },
 | 
				
			||||||
              { text: 'Helm Chart 注册表', link: '/document/usage/packages/helm.md' },
 | 
					              { text: 'Maven 软件包注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/maven' },
 | 
				
			||||||
              { text: 'Maven 软件包注册表', link: '/document/usage/packages/maven.md' },
 | 
					              { text: 'NPM Package Registry', link: 'https://docs.gitea.com/zh-cn/usage/packages/npm' },
 | 
				
			||||||
              { text: 'NPM Package Registry', link: '/document/usage/packages/npm.md' },
 | 
					              { text: 'NuGet 软件包注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/nuget' },
 | 
				
			||||||
              { text: 'NuGet 软件包注册表', link: '/document/usage/packages/nuget.md' },
 | 
					              { text: 'Pub 软件包注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/pub' },
 | 
				
			||||||
              { text: 'Pub 软件包注册表', link: '/document/usage/packages/pub.md' },
 | 
					              { text: 'PyPI 软件包注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/pypi' },
 | 
				
			||||||
              { text: 'PyPI 软件包注册表', link: '/document/usage/packages/pypi.md' },
 | 
					              { text: 'RPM 软件包注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/packages/rpm' },
 | 
				
			||||||
              { text: 'RPM 软件包注册表', link: '/document/usage/packages/rpm.md' },
 | 
					              { text: 'RubyGems 软件包注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/rubygems' },
 | 
				
			||||||
              { text: 'RubyGems 软件包注册表', link: '/document/usage/packages/rubygems.md' },
 | 
					              { text: 'Swift 软件包注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/swift' },
 | 
				
			||||||
              { text: '存储', link: '/document/usage/packages/storage.md' },
 | 
					              { text: 'Vagrant 软件包注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/vagrant' },
 | 
				
			||||||
              { text: 'Swift 软件包注册表', link: '/document/usage/packages/swift.md' },
 | 
					              { text: '通用软件包注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/generic' },
 | 
				
			||||||
              { text: 'Vagrant 软件包注册表', link: '/document/usage/packages/vagrant.md' }
 | 
					              { text: 'Debian 软件包注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/debian' }
 | 
				
			||||||
            ]
 | 
					            ]
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
          { text: 'AGit', link: '/document/usage/agit.md' },
 | 
					          { text: 'AGit', link: 'https://docs.gitea.com/zh-cn/usage/agit' },
 | 
				
			||||||
          { text: '个人资料 README', link: '/document/usage/profile-readme.md' },
 | 
					          { text: '个人资料 README', link: 'https://docs.gitea.com/zh-cn/usage/profile-readme' },
 | 
				
			||||||
          { text: 'Blame File View', link: '/document/usage/blame.md' },
 | 
					          { text: 'Blame File View', link: 'https://docs.gitea.com/zh-cn/usage/blame' },
 | 
				
			||||||
          { text: '邮件接收', link: '/document/usage/incoming-email.md' },
 | 
					          { text: '邮件接收', link: 'https://docs.gitea.com/zh-cn/usage/incoming-email' },
 | 
				
			||||||
          { text: '标签', link: '/document/usage/labels.md' },
 | 
					          { text: '标签', link: 'https://docs.gitea.com/zh-cn/usage/labels' },
 | 
				
			||||||
          { text: '合并请求', link: '/document/usage/pull-request.md' },
 | 
					          { text: '合并请求', link: 'https://docs.gitea.com/zh-cn/usage/pull-request' },
 | 
				
			||||||
          { text: '权限', link: '/document/usage/permissions.md' },
 | 
					          { text: '权限', link: 'https://docs.gitea.com/zh-cn/usage/permissions' },
 | 
				
			||||||
          { text: '模板仓库', link: '/document/usage/template-repositories.md' },
 | 
					          { text: '模板仓库', link: 'https://docs.gitea.com/zh-cn/usage/template-repositories' },
 | 
				
			||||||
          { text: '从模板创建工单与合并请求', link: '/document/usage/issue-pull-request-templates.md' },
 | 
					          { text: '从模板创建工单与合并请求', link: 'https://docs.gitea.com/zh-cn/usage/issue-pull-request-templates' },
 | 
				
			||||||
          { text: '自动链接引用', link: '/document/usage/linked-references.md' },
 | 
					          { text: '自动链接引用', link: 'https://docs.gitea.com/zh-cn/usage/automatically-linked-references' },
 | 
				
			||||||
          { text: '合并消息模板', link: '/document/usage/merge-message-templates.md' },
 | 
					          { text: '合并消息模板', link: 'https://docs.gitea.com/zh-cn/usage/merge-message-template' },
 | 
				
			||||||
          { text: '推送', link: '/document/usage/push.md' },
 | 
					          { text: '推送', link: 'https://docs.gitea.com/zh-cn/usage/push' },
 | 
				
			||||||
          { text: 'Blocking a user', link: '/document/usage/blocking-users.md' },
 | 
					          { text: 'Blocking a user', link: 'https://docs.gitea.com/zh-cn/usage/blocking-user' },
 | 
				
			||||||
          { text: '克隆过滤器(部分克隆)', link: '/document/usage/clone-filter.md' },
 | 
					          { text: '克隆过滤器 (部分克隆)', link: 'https://docs.gitea.com/zh-cn/usage/clone-filters' },
 | 
				
			||||||
          { text: 'Code Owners', link: '/document/usage/code-owners.md' },
 | 
					          { text: 'Code Owners', link: 'https://docs.gitea.com/zh-cn/usage/code-owners' },
 | 
				
			||||||
          { text: 'Webhooks', link: '/document/usage/webhooks.md' },
 | 
					          { text: 'Webhooks', link: 'https://docs.gitea.com/zh-cn/usage/webhooks' },
 | 
				
			||||||
          { text: 'Migration', link: '/document/usage/migration.md' },
 | 
					          { text: 'Migration', link: 'https://docs.gitea.com/zh-cn/usage/migration' },
 | 
				
			||||||
          { text: '受保护的标签', link: '/document/usage/protected-tags.md' },
 | 
					          { text: '受保护的标签', link: 'https://docs.gitea.com/zh-cn/usage/protected-tags' },
 | 
				
			||||||
          { text: '仓库镜像', link: '/document/usage/repo-mirror.md' },
 | 
					          { text: '仓库镜像', link: 'https://docs.gitea.com/zh-cn/usage/repo-mirror' },
 | 
				
			||||||
          { text: 'Markdown', link: '/document/usage/markdown.md' },
 | 
					          { text: 'Markdown', link: 'https://docs.gitea.com/zh-cn/usage/markdown' },
 | 
				
			||||||
          { text: 'Multi-factor Authentication (MFA)', link: '/document/usage/multi-factor-authentication.md' }
 | 
					          { text: 'Multi-factor Authentication (MFA)', link: 'https://docs.gitea.com/zh-cn/usage/multi-factor-authentication' }
 | 
				
			||||||
        ]
 | 
					        ]
 | 
				
			||||||
      } as any,
 | 
					      } as any,
 | 
				
			||||||
      {
 | 
					      {
 | 
				
			||||||
        text: '开发',
 | 
					        text: '开发',
 | 
				
			||||||
        // link: 'https://docs.gitea.com/zh-cn/category/development',
 | 
					 | 
				
			||||||
        collapsible: true, // 使整个组可折叠
 | 
					        collapsible: true, // 使整个组可折叠
 | 
				
			||||||
        collapsed: true, // 默认展开
 | 
					        collapsed: true, // 默认展开
 | 
				
			||||||
        items: [
 | 
					        items: [
 | 
				
			||||||
          {
 | 
					          { text: '玩转 Gitea', link: 'https://docs.gitea.com/zh-cn/development/hacking-on-gitea' },
 | 
				
			||||||
            text: '玩转 Gitea',
 | 
					          { text: 'API 使用指南', link: 'https://docs.gitea.com/zh-cn/development/api-usage' },
 | 
				
			||||||
            link: '/document/development/hacking-on-gitea.md'  // 匹配"API 使用指南"对应的文件名
 | 
					          { text: 'OAuth2 提供者', link: 'https://docs.gitea.com/zh-cn/development/oauth2-provider' },
 | 
				
			||||||
          },
 | 
					          { text: '迁移接口', link: 'https://docs.gitea.com/zh-cn/development/migrations-interfaces' },
 | 
				
			||||||
          {
 | 
					          { text: '集成', link: 'https://docs.gitea.com/zh-cn/development/integrations' }
 | 
				
			||||||
            text: 'API 使用指南',
 | 
					 | 
				
			||||||
            link: '/document/development/api-usage.md'  // 直接使用文件名
 | 
					 | 
				
			||||||
          },
 | 
					 | 
				
			||||||
          {
 | 
					 | 
				
			||||||
            text: 'OAuth2 提供者',
 | 
					 | 
				
			||||||
            link: '/document/development/oauth2-provider.md'  // 推测文件名
 | 
					 | 
				
			||||||
          },
 | 
					 | 
				
			||||||
          {
 | 
					 | 
				
			||||||
            text: '迁移接口',
 | 
					 | 
				
			||||||
            link: '/document/development/migrations.md'  // 推测文件名
 | 
					 | 
				
			||||||
          },
 | 
					 | 
				
			||||||
          {
 | 
					 | 
				
			||||||
            text: '集成',
 | 
					 | 
				
			||||||
            link: '/document/development/integrations.md'  // 推测文件名
 | 
					 | 
				
			||||||
          }
 | 
					 | 
				
			||||||
        ]
 | 
					        ]
 | 
				
			||||||
      } as any,
 | 
					      } as any,
 | 
				
			||||||
      {
 | 
					      {
 | 
				
			||||||
        text: '贡献',
 | 
					 | 
				
			||||||
        // link: 'https://docs.gitea.com/zh-cn/category/contributing',
 | 
					 | 
				
			||||||
        collapsible: true, // 使整个组可折叠
 | 
					        collapsible: true, // 使整个组可折叠
 | 
				
			||||||
        collapsed: true, // 默认展开
 | 
					        collapsed: true, // 默认展开
 | 
				
			||||||
        items: [
 | 
					        items: [
 | 
				
			||||||
          {
 | 
					          { text: '后端开发指南', link: 'https://docs.gitea.com/zh-cn/contributing/guidelines-backend' },
 | 
				
			||||||
            text: '后端开发指南',
 | 
					          { text: '前端开发指南', link: 'https://docs.gitea.com/zh-cn/contributing/guidelines-frontend' },
 | 
				
			||||||
            link: '/document/contributing/guidelines-backend.md'  // 匹配文件名:guidelines - backend.md
 | 
					          { text: '重构指南', link: 'https://docs.gitea.com/zh-cn/contributing/guidelines-refactoring' },
 | 
				
			||||||
          },
 | 
					          { text: '本地化', link: 'https://docs.gitea.com/zh-cn/contributing/localization' }
 | 
				
			||||||
          {
 | 
					 | 
				
			||||||
            text: '前端开发指南',
 | 
					 | 
				
			||||||
            link: '/document/contributing/guidelines-frontend.md'  // 匹配文件名:guidelines - frontend.md
 | 
					 | 
				
			||||||
          },
 | 
					 | 
				
			||||||
          {
 | 
					 | 
				
			||||||
            text: '重构指南',
 | 
					 | 
				
			||||||
            link: '/document/contributing/guidelines-refactoring.md'  // 匹配文件名:guidelines - refactoring.md
 | 
					 | 
				
			||||||
          },
 | 
					 | 
				
			||||||
          {
 | 
					 | 
				
			||||||
            text: '本地化',
 | 
					 | 
				
			||||||
            link: '/document/contributing/localization.md'  // 文件名完全一致
 | 
					 | 
				
			||||||
          }
 | 
					 | 
				
			||||||
        ]
 | 
					        ]
 | 
				
			||||||
      } as any,
 | 
					      } as any,
 | 
				
			||||||
      {
 | 
					      {
 | 
				
			||||||
        text: '帮助',
 | 
					        text: '帮助',
 | 
				
			||||||
        // link: 'https://docs.gitea.com/zh-cn/category/help',
 | 
					 | 
				
			||||||
        collapsible: true, // 使整个组可折叠
 | 
					        collapsible: true, // 使整个组可折叠
 | 
				
			||||||
        collapsed: true, // 默认展开
 | 
					        collapsed: true, // 默认展开
 | 
				
			||||||
        items: [
 | 
					        items: [
 | 
				
			||||||
          { text: '常见问题', link: 'document/help/faq.md' },
 | 
					          { text: '常见问题', link: 'https://docs.gitea.com/zh-cn/help/faq' },
 | 
				
			||||||
          { text: '支持选项', link: 'document/help/support.md' },
 | 
					          { text: '支持选项', link: 'https://docs.gitea.com/zh-cn/help/support' },
 | 
				
			||||||
        ]
 | 
					        ]
 | 
				
			||||||
      } as any,
 | 
					      } as any,
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,21 +0,0 @@
 | 
				
			|||||||
---
 | 
					 | 
				
			||||||
outline: deep
 | 
					 | 
				
			||||||
weight: 1
 | 
					 | 
				
			||||||
---
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# 关于devstar
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
DevStar Studio 是一个Gitea 发行版,在Git代码仓库托管的基础上提供了开发环境DevEnv执行引擎,与VS Code插件或自定义IDE深度融合,形成灵活适配基础软件工具的生态平台,从而为开发者用户提供智能(代码大模型AI+)、安全(完全云原生)、一站式开箱即用的CI/CD全生命周期研发平台。
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## 目标
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
DevStar Studio是一个通用的一站式软件研发平台,它最初的目标是服务于汽车软件、消费电子、智能制造等嵌入式软件研发场景中的开发者
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## 在线演示
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
访问[devstar.cn](https://devstar.cn)或者在VS Code插件市场搜索devstar
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								docs/public/DevStar.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								docs/public/DevStar.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 68 KiB  | 
							
								
								
									
										104
									
								
								docs/runner/index.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										104
									
								
								docs/runner/index.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,104 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					sidebar_position: 1
 | 
				
			||||||
 | 
					slug: /
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# What is Gitea Runner
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Act runner is a runner for Gitea based on [Gitea fork](https://gitea.com/gitea/act) of [act](https://github.com/nektos/act). This documentation is a copy of https://gitea.com/gitea/act_runner/src/branch/main/README.md . And it should be updated once that README changed.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Installation
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Prerequisites
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Docker Engine Community version is required for docker mode. To install Docker CE, follow the official [install instructions](https://docs.docker.com/engine/install/).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Download pre-built binary
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Visit [here](https://dl.gitea.com/act_runner/) and download the right version for your platform.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Build from source
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```bash
 | 
				
			||||||
 | 
					make build
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Build a docker image
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```bash
 | 
				
			||||||
 | 
					make docker
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Register
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```bash
 | 
				
			||||||
 | 
					./act_runner register
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					And you will be asked to input:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1. Gitea instance URL, like `http://192.168.8.8:3000/`. You should use your gitea instance ROOT_URL as the instance argument
 | 
				
			||||||
 | 
					 and you should not use `localhost` or `127.0.0.1` as instance IP;
 | 
				
			||||||
 | 
					2. Runner token, you can get it from `http://192.168.8.8:3000/-/admin/actions/runners`;
 | 
				
			||||||
 | 
					3. Runner name, you can just leave it blank;
 | 
				
			||||||
 | 
					4. Runner labels, you can just leave it blank.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The process looks like:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```text
 | 
				
			||||||
 | 
					INFO Registering runner, arch=amd64, os=darwin, version=0.1.5.
 | 
				
			||||||
 | 
					WARN Runner in user-mode.
 | 
				
			||||||
 | 
					INFO Enter the Gitea instance URL (for example, https://gitea.com/):
 | 
				
			||||||
 | 
					http://192.168.8.8:3000/
 | 
				
			||||||
 | 
					INFO Enter the runner token:
 | 
				
			||||||
 | 
					fe884e8027dc292970d4e0303fe82b14xxxxxxxx
 | 
				
			||||||
 | 
					INFO Enter the runner name (if set empty, use hostname: Test.local):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					INFO Enter the runner labels, leave blank to use the default labels (comma-separated, for example, ubuntu-latest:docker://gitea/runner-images:ubuntu-latest):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					INFO Registering runner, name=Test.local, instance=http://192.168.8.8:3000/, labels=[ubuntu-latest:docker://gitea/runner-images:ubuntu-latest ubuntu-22.04:docker://gitea/runner-images:ubuntu-22.04 ubuntu-20.04:docker://gitea/runner-images:ubuntu-20.04].
 | 
				
			||||||
 | 
					DEBU Successfully pinged the Gitea instance server
 | 
				
			||||||
 | 
					INFO Runner registered successfully.
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					You can also register with command line arguments.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```bash
 | 
				
			||||||
 | 
					./act_runner register --instance http://192.168.8.8:3000 --token <my_runner_token> --no-interactive
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					If the registry succeed, it will run immediately. Next time, you could run the runner directly.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Run
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```bash
 | 
				
			||||||
 | 
					./act_runner daemon
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Run with docker
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```bash
 | 
				
			||||||
 | 
					docker run -e GITEA_INSTANCE_URL=https://your_gitea.com -e GITEA_RUNNER_REGISTRATION_TOKEN=<your_token> -v /var/run/docker.sock:/var/run/docker.sock --name my_runner gitea/act_runner:nightly
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Configuration
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					You can also configure the runner with a configuration file.
 | 
				
			||||||
 | 
					The configuration file is a YAML file, you can generate a sample configuration file with `./act_runner generate-config`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```bash
 | 
				
			||||||
 | 
					./act_runner generate-config > config.yaml
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					You can specify the configuration file path with `-c`/`--config` argument.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```bash
 | 
				
			||||||
 | 
					./act_runner -c config.yaml register # register with config file
 | 
				
			||||||
 | 
					./act_runner -c config.yaml daemon # run with config file
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					You can read the latest version of the configuration file online at [config.example.yaml](internal/pkg/config/config.example.yaml).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Example Deployments
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Check out the [examples](https://gitea.com/gitea/act_runner/src/branch/main/examples) directory for sample deployment types.
 | 
				
			||||||
		Reference in New Issue
	
	Block a user