first-commit
55
.gitea/workflows/devstar-studio-master.yaml
Normal file
@@ -0,0 +1,55 @@
|
||||
name: CI Pipeline
|
||||
|
||||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: gitea/runner-images:ubuntu-latest
|
||||
steps:
|
||||
- name: 拉取代码
|
||||
uses: https://devstar.cn/actions/checkout@v4
|
||||
|
||||
- name: 安装依赖
|
||||
working-directory:
|
||||
run: |
|
||||
npm install
|
||||
npm add -D vitepress
|
||||
|
||||
- name: 构建项目
|
||||
working-directory:
|
||||
run: |
|
||||
chmod +x node_modules/.bin/vitepress
|
||||
npm run docs:build
|
||||
|
||||
- name: 构建 Docker 镜像
|
||||
run: |
|
||||
docker build -t mynodeapp:latest .
|
||||
|
||||
- name: 登录 Docker Registry 并推送镜像
|
||||
env:
|
||||
DOCKER_REGISTRY_USERNAME: ${{ secrets.DOCKER_REGISTRY_USERNAME }}
|
||||
DOCKER_REGISTRY_PASSWORD: ${{ secrets.DOCKER_REGISTRY_PASSWORD }}
|
||||
DOCKER_REGISTRY_ADDRESS: crpi-pqfsp88s5zx2zwfq.cn-hangzhou.personal.cr.aliyuncs.com/devstar
|
||||
DOCKER_IMAGE_NAME: devstar_introduction
|
||||
run: |
|
||||
echo "$DOCKER_REGISTRY_PASSWORD" | docker login $DOCKER_REGISTRY_ADDRESS -u "$DOCKER_REGISTRY_USERNAME" --password-stdin
|
||||
docker tag mynodeapp:latest $DOCKER_REGISTRY_ADDRESS/$DOCKER_IMAGE_NAME:latest
|
||||
docker push $DOCKER_REGISTRY_ADDRESS/$DOCKER_IMAGE_NAME:latest
|
||||
|
||||
- name: 安装 kubectl
|
||||
run: |
|
||||
curl -LO https://mirrors.ustc.edu.cn/kubernetes/core%3A/stable%3A/v1.28/deb/amd64/kubectl_1.28.0-1.1_amd64.deb
|
||||
sudo dpkg -i kubectl_1.28.0-1.1_amd64.deb
|
||||
|
||||
- name: 配置 kubeconfig
|
||||
env:
|
||||
KUBECONFIG_CONTENT: ${{ secrets.KUBECONFIG_CONTENT }}
|
||||
run: |
|
||||
mkdir -p ~/.kube
|
||||
echo "$KUBECONFIG_CONTENT" | base64 -d > ~/.kube/config
|
||||
|
||||
- name: 部署到 Kubernetes
|
||||
run: |
|
||||
kubectl apply -f /tmp/project/k8s/job.yaml
|
||||
21
Dockerfile
Normal file
@@ -0,0 +1,21 @@
|
||||
# 第一阶段:node镜像打包
|
||||
FROM node:20-alpine AS frontend-builder
|
||||
WORKDIR /build-app
|
||||
COPY . .
|
||||
RUN npm install
|
||||
RUN npm add -D vitepress
|
||||
RUN npm run docs:build
|
||||
|
||||
# 第二阶段:nginx打包
|
||||
FROM nginx:1.25-alpine
|
||||
EXPOSE 80
|
||||
WORKDIR /app
|
||||
# 替换nginx配置
|
||||
COPY nginx.conf /etc/nginx/conf.d/default.conf
|
||||
# 将第一阶段的静态文件复制到nginx中
|
||||
RUN rm -rf /usr/share/nginx/html
|
||||
RUN mkdir /usr/share/nginx/html
|
||||
COPY --from=frontend-builder /build-app/docs/.vitepress/dist /usr/share/nginx/html
|
||||
|
||||
# 运行
|
||||
CMD ["nginx", "-g", "daemon off;"]
|
||||
24
README.md
Normal file
@@ -0,0 +1,24 @@
|
||||
# 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链接的内容既可以是网页链接,也可以是本地文档
|
||||
## 如何自定义网站样式
|
||||
在docs/.vitepress/theme/style.css中自定义网站样式
|
||||
|
||||
## 如何添加或修改导航栏
|
||||
在docs/.vitepress/config.mts中的nav进行修改
|
||||
|
||||
52
docs/.vitepress/cache/deps/_metadata.json
vendored
Normal file
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"hash": "390d4507",
|
||||
"configHash": "3912053b",
|
||||
"lockfileHash": "a51f4fcb",
|
||||
"browserHash": "0df5bf9e",
|
||||
"optimized": {
|
||||
"vue": {
|
||||
"src": "../../../../node_modules/vue/dist/vue.runtime.esm-bundler.js",
|
||||
"file": "vue.js",
|
||||
"fileHash": "d98b0a1e",
|
||||
"needsInterop": false
|
||||
},
|
||||
"vitepress > @vue/devtools-api": {
|
||||
"src": "../../../../node_modules/@vue/devtools-api/dist/index.js",
|
||||
"file": "vitepress___@vue_devtools-api.js",
|
||||
"fileHash": "ecea16b3",
|
||||
"needsInterop": false
|
||||
},
|
||||
"vitepress > @vueuse/core": {
|
||||
"src": "../../../../node_modules/@vueuse/core/index.mjs",
|
||||
"file": "vitepress___@vueuse_core.js",
|
||||
"fileHash": "b7cfb4aa",
|
||||
"needsInterop": false
|
||||
},
|
||||
"vitepress > @vueuse/integrations/useFocusTrap": {
|
||||
"src": "../../../../node_modules/@vueuse/integrations/useFocusTrap.mjs",
|
||||
"file": "vitepress___@vueuse_integrations_useFocusTrap.js",
|
||||
"fileHash": "d4cebcfe",
|
||||
"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": "c771fe49",
|
||||
"needsInterop": false
|
||||
},
|
||||
"vitepress > minisearch": {
|
||||
"src": "../../../../node_modules/minisearch/dist/es/index.js",
|
||||
"file": "vitepress___minisearch.js",
|
||||
"fileHash": "6cf9570b",
|
||||
"needsInterop": false
|
||||
}
|
||||
},
|
||||
"chunks": {
|
||||
"chunk-P2XGSYO7": {
|
||||
"file": "chunk-P2XGSYO7.js"
|
||||
},
|
||||
"chunk-HVR2FF6M": {
|
||||
"file": "chunk-HVR2FF6M.js"
|
||||
}
|
||||
}
|
||||
}
|
||||
12644
docs/.vitepress/cache/deps/chunk-HVR2FF6M.js
vendored
Normal file
7
docs/.vitepress/cache/deps/chunk-HVR2FF6M.js.map
vendored
Normal file
9719
docs/.vitepress/cache/deps/chunk-P2XGSYO7.js
vendored
Normal file
7
docs/.vitepress/cache/deps/chunk-P2XGSYO7.js.map
vendored
Normal file
3
docs/.vitepress/cache/deps/package.json
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"type": "module"
|
||||
}
|
||||
4505
docs/.vitepress/cache/deps/vitepress___@vue_devtools-api.js
vendored
Normal file
7
docs/.vitepress/cache/deps/vitepress___@vue_devtools-api.js.map
vendored
Normal file
583
docs/.vitepress/cache/deps/vitepress___@vueuse_core.js
vendored
Normal file
@@ -0,0 +1,583 @@
|
||||
import {
|
||||
DefaultMagicKeysAliasMap,
|
||||
StorageSerializers,
|
||||
TransitionPresets,
|
||||
assert,
|
||||
breakpointsAntDesign,
|
||||
breakpointsBootstrapV5,
|
||||
breakpointsElement,
|
||||
breakpointsMasterCss,
|
||||
breakpointsPrimeFlex,
|
||||
breakpointsQuasar,
|
||||
breakpointsSematic,
|
||||
breakpointsTailwind,
|
||||
breakpointsVuetify,
|
||||
breakpointsVuetifyV2,
|
||||
breakpointsVuetifyV3,
|
||||
bypassFilter,
|
||||
camelize,
|
||||
clamp,
|
||||
cloneFnJSON,
|
||||
computedAsync,
|
||||
computedEager,
|
||||
computedInject,
|
||||
computedWithControl,
|
||||
containsProp,
|
||||
controlledRef,
|
||||
createEventHook,
|
||||
createFetch,
|
||||
createFilterWrapper,
|
||||
createGlobalState,
|
||||
createInjectionState,
|
||||
createRef,
|
||||
createReusableTemplate,
|
||||
createSharedComposable,
|
||||
createSingletonPromise,
|
||||
createTemplatePromise,
|
||||
createUnrefFn,
|
||||
customStorageEventName,
|
||||
debounceFilter,
|
||||
defaultDocument,
|
||||
defaultLocation,
|
||||
defaultNavigator,
|
||||
defaultWindow,
|
||||
executeTransition,
|
||||
extendRef,
|
||||
formatDate,
|
||||
formatTimeAgo,
|
||||
get,
|
||||
getLifeCycleTarget,
|
||||
getSSRHandler,
|
||||
hasOwn,
|
||||
hyphenate,
|
||||
identity,
|
||||
increaseWithUnit,
|
||||
injectLocal,
|
||||
invoke,
|
||||
isClient,
|
||||
isDef,
|
||||
isDefined,
|
||||
isIOS,
|
||||
isObject,
|
||||
isWorker,
|
||||
makeDestructurable,
|
||||
mapGamepadToXbox360Controller,
|
||||
noop,
|
||||
normalizeDate,
|
||||
notNullish,
|
||||
now,
|
||||
objectEntries,
|
||||
objectOmit,
|
||||
objectPick,
|
||||
onClickOutside,
|
||||
onElementRemoval,
|
||||
onKeyDown,
|
||||
onKeyPressed,
|
||||
onKeyStroke,
|
||||
onKeyUp,
|
||||
onLongPress,
|
||||
onStartTyping,
|
||||
pausableFilter,
|
||||
promiseTimeout,
|
||||
provideLocal,
|
||||
provideSSRWidth,
|
||||
pxValue,
|
||||
rand,
|
||||
reactify,
|
||||
reactifyObject,
|
||||
reactiveComputed,
|
||||
reactiveOmit,
|
||||
reactivePick,
|
||||
refAutoReset,
|
||||
refDebounced,
|
||||
refDefault,
|
||||
refThrottled,
|
||||
refWithControl,
|
||||
resolveRef,
|
||||
resolveUnref,
|
||||
set,
|
||||
setSSRHandler,
|
||||
syncRef,
|
||||
syncRefs,
|
||||
templateRef,
|
||||
throttleFilter,
|
||||
timestamp,
|
||||
toArray,
|
||||
toReactive,
|
||||
toRef,
|
||||
toRefs,
|
||||
toValue,
|
||||
tryOnBeforeMount,
|
||||
tryOnBeforeUnmount,
|
||||
tryOnMounted,
|
||||
tryOnScopeDispose,
|
||||
tryOnUnmounted,
|
||||
unrefElement,
|
||||
until,
|
||||
useActiveElement,
|
||||
useAnimate,
|
||||
useArrayDifference,
|
||||
useArrayEvery,
|
||||
useArrayFilter,
|
||||
useArrayFind,
|
||||
useArrayFindIndex,
|
||||
useArrayFindLast,
|
||||
useArrayIncludes,
|
||||
useArrayJoin,
|
||||
useArrayMap,
|
||||
useArrayReduce,
|
||||
useArraySome,
|
||||
useArrayUnique,
|
||||
useAsyncQueue,
|
||||
useAsyncState,
|
||||
useBase64,
|
||||
useBattery,
|
||||
useBluetooth,
|
||||
useBreakpoints,
|
||||
useBroadcastChannel,
|
||||
useBrowserLocation,
|
||||
useCached,
|
||||
useClipboard,
|
||||
useClipboardItems,
|
||||
useCloned,
|
||||
useColorMode,
|
||||
useConfirmDialog,
|
||||
useCountdown,
|
||||
useCounter,
|
||||
useCssVar,
|
||||
useCurrentElement,
|
||||
useCycleList,
|
||||
useDark,
|
||||
useDateFormat,
|
||||
useDebounceFn,
|
||||
useDebouncedRefHistory,
|
||||
useDeviceMotion,
|
||||
useDeviceOrientation,
|
||||
useDevicePixelRatio,
|
||||
useDevicesList,
|
||||
useDisplayMedia,
|
||||
useDocumentVisibility,
|
||||
useDraggable,
|
||||
useDropZone,
|
||||
useElementBounding,
|
||||
useElementByPoint,
|
||||
useElementHover,
|
||||
useElementSize,
|
||||
useElementVisibility,
|
||||
useEventBus,
|
||||
useEventListener,
|
||||
useEventSource,
|
||||
useEyeDropper,
|
||||
useFavicon,
|
||||
useFetch,
|
||||
useFileDialog,
|
||||
useFileSystemAccess,
|
||||
useFocus,
|
||||
useFocusWithin,
|
||||
useFps,
|
||||
useFullscreen,
|
||||
useGamepad,
|
||||
useGeolocation,
|
||||
useIdle,
|
||||
useImage,
|
||||
useInfiniteScroll,
|
||||
useIntersectionObserver,
|
||||
useInterval,
|
||||
useIntervalFn,
|
||||
useKeyModifier,
|
||||
useLastChanged,
|
||||
useLocalStorage,
|
||||
useMagicKeys,
|
||||
useManualRefHistory,
|
||||
useMediaControls,
|
||||
useMediaQuery,
|
||||
useMemoize,
|
||||
useMemory,
|
||||
useMounted,
|
||||
useMouse,
|
||||
useMouseInElement,
|
||||
useMousePressed,
|
||||
useMutationObserver,
|
||||
useNavigatorLanguage,
|
||||
useNetwork,
|
||||
useNow,
|
||||
useObjectUrl,
|
||||
useOffsetPagination,
|
||||
useOnline,
|
||||
usePageLeave,
|
||||
useParallax,
|
||||
useParentElement,
|
||||
usePerformanceObserver,
|
||||
usePermission,
|
||||
usePointer,
|
||||
usePointerLock,
|
||||
usePointerSwipe,
|
||||
usePreferredColorScheme,
|
||||
usePreferredContrast,
|
||||
usePreferredDark,
|
||||
usePreferredLanguages,
|
||||
usePreferredReducedMotion,
|
||||
usePreferredReducedTransparency,
|
||||
usePrevious,
|
||||
useRafFn,
|
||||
useRefHistory,
|
||||
useResizeObserver,
|
||||
useSSRWidth,
|
||||
useScreenOrientation,
|
||||
useScreenSafeArea,
|
||||
useScriptTag,
|
||||
useScroll,
|
||||
useScrollLock,
|
||||
useSessionStorage,
|
||||
useShare,
|
||||
useSorted,
|
||||
useSpeechRecognition,
|
||||
useSpeechSynthesis,
|
||||
useStepper,
|
||||
useStorage,
|
||||
useStorageAsync,
|
||||
useStyleTag,
|
||||
useSupported,
|
||||
useSwipe,
|
||||
useTemplateRefsList,
|
||||
useTextDirection,
|
||||
useTextSelection,
|
||||
useTextareaAutosize,
|
||||
useThrottleFn,
|
||||
useThrottledRefHistory,
|
||||
useTimeAgo,
|
||||
useTimeout,
|
||||
useTimeoutFn,
|
||||
useTimeoutPoll,
|
||||
useTimestamp,
|
||||
useTitle,
|
||||
useToNumber,
|
||||
useToString,
|
||||
useToggle,
|
||||
useTransition,
|
||||
useUrlSearchParams,
|
||||
useUserMedia,
|
||||
useVModel,
|
||||
useVModels,
|
||||
useVibrate,
|
||||
useVirtualList,
|
||||
useWakeLock,
|
||||
useWebNotification,
|
||||
useWebSocket,
|
||||
useWebWorker,
|
||||
useWebWorkerFn,
|
||||
useWindowFocus,
|
||||
useWindowScroll,
|
||||
useWindowSize,
|
||||
watchArray,
|
||||
watchAtMost,
|
||||
watchDebounced,
|
||||
watchDeep,
|
||||
watchIgnorable,
|
||||
watchImmediate,
|
||||
watchOnce,
|
||||
watchPausable,
|
||||
watchThrottled,
|
||||
watchTriggerable,
|
||||
watchWithFilter,
|
||||
whenever
|
||||
} from "./chunk-P2XGSYO7.js";
|
||||
import "./chunk-HVR2FF6M.js";
|
||||
export {
|
||||
DefaultMagicKeysAliasMap,
|
||||
StorageSerializers,
|
||||
TransitionPresets,
|
||||
assert,
|
||||
computedAsync as asyncComputed,
|
||||
refAutoReset as autoResetRef,
|
||||
breakpointsAntDesign,
|
||||
breakpointsBootstrapV5,
|
||||
breakpointsElement,
|
||||
breakpointsMasterCss,
|
||||
breakpointsPrimeFlex,
|
||||
breakpointsQuasar,
|
||||
breakpointsSematic,
|
||||
breakpointsTailwind,
|
||||
breakpointsVuetify,
|
||||
breakpointsVuetifyV2,
|
||||
breakpointsVuetifyV3,
|
||||
bypassFilter,
|
||||
camelize,
|
||||
clamp,
|
||||
cloneFnJSON,
|
||||
computedAsync,
|
||||
computedEager,
|
||||
computedInject,
|
||||
computedWithControl,
|
||||
containsProp,
|
||||
computedWithControl as controlledComputed,
|
||||
controlledRef,
|
||||
createEventHook,
|
||||
createFetch,
|
||||
createFilterWrapper,
|
||||
createGlobalState,
|
||||
createInjectionState,
|
||||
reactify as createReactiveFn,
|
||||
createRef,
|
||||
createReusableTemplate,
|
||||
createSharedComposable,
|
||||
createSingletonPromise,
|
||||
createTemplatePromise,
|
||||
createUnrefFn,
|
||||
customStorageEventName,
|
||||
debounceFilter,
|
||||
refDebounced as debouncedRef,
|
||||
watchDebounced as debouncedWatch,
|
||||
defaultDocument,
|
||||
defaultLocation,
|
||||
defaultNavigator,
|
||||
defaultWindow,
|
||||
computedEager as eagerComputed,
|
||||
executeTransition,
|
||||
extendRef,
|
||||
formatDate,
|
||||
formatTimeAgo,
|
||||
get,
|
||||
getLifeCycleTarget,
|
||||
getSSRHandler,
|
||||
hasOwn,
|
||||
hyphenate,
|
||||
identity,
|
||||
watchIgnorable as ignorableWatch,
|
||||
increaseWithUnit,
|
||||
injectLocal,
|
||||
invoke,
|
||||
isClient,
|
||||
isDef,
|
||||
isDefined,
|
||||
isIOS,
|
||||
isObject,
|
||||
isWorker,
|
||||
makeDestructurable,
|
||||
mapGamepadToXbox360Controller,
|
||||
noop,
|
||||
normalizeDate,
|
||||
notNullish,
|
||||
now,
|
||||
objectEntries,
|
||||
objectOmit,
|
||||
objectPick,
|
||||
onClickOutside,
|
||||
onElementRemoval,
|
||||
onKeyDown,
|
||||
onKeyPressed,
|
||||
onKeyStroke,
|
||||
onKeyUp,
|
||||
onLongPress,
|
||||
onStartTyping,
|
||||
pausableFilter,
|
||||
watchPausable as pausableWatch,
|
||||
promiseTimeout,
|
||||
provideLocal,
|
||||
provideSSRWidth,
|
||||
pxValue,
|
||||
rand,
|
||||
reactify,
|
||||
reactifyObject,
|
||||
reactiveComputed,
|
||||
reactiveOmit,
|
||||
reactivePick,
|
||||
refAutoReset,
|
||||
refDebounced,
|
||||
refDefault,
|
||||
refThrottled,
|
||||
refWithControl,
|
||||
resolveRef,
|
||||
resolveUnref,
|
||||
set,
|
||||
setSSRHandler,
|
||||
syncRef,
|
||||
syncRefs,
|
||||
templateRef,
|
||||
throttleFilter,
|
||||
refThrottled as throttledRef,
|
||||
watchThrottled as throttledWatch,
|
||||
timestamp,
|
||||
toArray,
|
||||
toReactive,
|
||||
toRef,
|
||||
toRefs,
|
||||
toValue,
|
||||
tryOnBeforeMount,
|
||||
tryOnBeforeUnmount,
|
||||
tryOnMounted,
|
||||
tryOnScopeDispose,
|
||||
tryOnUnmounted,
|
||||
unrefElement,
|
||||
until,
|
||||
useActiveElement,
|
||||
useAnimate,
|
||||
useArrayDifference,
|
||||
useArrayEvery,
|
||||
useArrayFilter,
|
||||
useArrayFind,
|
||||
useArrayFindIndex,
|
||||
useArrayFindLast,
|
||||
useArrayIncludes,
|
||||
useArrayJoin,
|
||||
useArrayMap,
|
||||
useArrayReduce,
|
||||
useArraySome,
|
||||
useArrayUnique,
|
||||
useAsyncQueue,
|
||||
useAsyncState,
|
||||
useBase64,
|
||||
useBattery,
|
||||
useBluetooth,
|
||||
useBreakpoints,
|
||||
useBroadcastChannel,
|
||||
useBrowserLocation,
|
||||
useCached,
|
||||
useClipboard,
|
||||
useClipboardItems,
|
||||
useCloned,
|
||||
useColorMode,
|
||||
useConfirmDialog,
|
||||
useCountdown,
|
||||
useCounter,
|
||||
useCssVar,
|
||||
useCurrentElement,
|
||||
useCycleList,
|
||||
useDark,
|
||||
useDateFormat,
|
||||
refDebounced as useDebounce,
|
||||
useDebounceFn,
|
||||
useDebouncedRefHistory,
|
||||
useDeviceMotion,
|
||||
useDeviceOrientation,
|
||||
useDevicePixelRatio,
|
||||
useDevicesList,
|
||||
useDisplayMedia,
|
||||
useDocumentVisibility,
|
||||
useDraggable,
|
||||
useDropZone,
|
||||
useElementBounding,
|
||||
useElementByPoint,
|
||||
useElementHover,
|
||||
useElementSize,
|
||||
useElementVisibility,
|
||||
useEventBus,
|
||||
useEventListener,
|
||||
useEventSource,
|
||||
useEyeDropper,
|
||||
useFavicon,
|
||||
useFetch,
|
||||
useFileDialog,
|
||||
useFileSystemAccess,
|
||||
useFocus,
|
||||
useFocusWithin,
|
||||
useFps,
|
||||
useFullscreen,
|
||||
useGamepad,
|
||||
useGeolocation,
|
||||
useIdle,
|
||||
useImage,
|
||||
useInfiniteScroll,
|
||||
useIntersectionObserver,
|
||||
useInterval,
|
||||
useIntervalFn,
|
||||
useKeyModifier,
|
||||
useLastChanged,
|
||||
useLocalStorage,
|
||||
useMagicKeys,
|
||||
useManualRefHistory,
|
||||
useMediaControls,
|
||||
useMediaQuery,
|
||||
useMemoize,
|
||||
useMemory,
|
||||
useMounted,
|
||||
useMouse,
|
||||
useMouseInElement,
|
||||
useMousePressed,
|
||||
useMutationObserver,
|
||||
useNavigatorLanguage,
|
||||
useNetwork,
|
||||
useNow,
|
||||
useObjectUrl,
|
||||
useOffsetPagination,
|
||||
useOnline,
|
||||
usePageLeave,
|
||||
useParallax,
|
||||
useParentElement,
|
||||
usePerformanceObserver,
|
||||
usePermission,
|
||||
usePointer,
|
||||
usePointerLock,
|
||||
usePointerSwipe,
|
||||
usePreferredColorScheme,
|
||||
usePreferredContrast,
|
||||
usePreferredDark,
|
||||
usePreferredLanguages,
|
||||
usePreferredReducedMotion,
|
||||
usePreferredReducedTransparency,
|
||||
usePrevious,
|
||||
useRafFn,
|
||||
useRefHistory,
|
||||
useResizeObserver,
|
||||
useSSRWidth,
|
||||
useScreenOrientation,
|
||||
useScreenSafeArea,
|
||||
useScriptTag,
|
||||
useScroll,
|
||||
useScrollLock,
|
||||
useSessionStorage,
|
||||
useShare,
|
||||
useSorted,
|
||||
useSpeechRecognition,
|
||||
useSpeechSynthesis,
|
||||
useStepper,
|
||||
useStorage,
|
||||
useStorageAsync,
|
||||
useStyleTag,
|
||||
useSupported,
|
||||
useSwipe,
|
||||
useTemplateRefsList,
|
||||
useTextDirection,
|
||||
useTextSelection,
|
||||
useTextareaAutosize,
|
||||
refThrottled as useThrottle,
|
||||
useThrottleFn,
|
||||
useThrottledRefHistory,
|
||||
useTimeAgo,
|
||||
useTimeout,
|
||||
useTimeoutFn,
|
||||
useTimeoutPoll,
|
||||
useTimestamp,
|
||||
useTitle,
|
||||
useToNumber,
|
||||
useToString,
|
||||
useToggle,
|
||||
useTransition,
|
||||
useUrlSearchParams,
|
||||
useUserMedia,
|
||||
useVModel,
|
||||
useVModels,
|
||||
useVibrate,
|
||||
useVirtualList,
|
||||
useWakeLock,
|
||||
useWebNotification,
|
||||
useWebSocket,
|
||||
useWebWorker,
|
||||
useWebWorkerFn,
|
||||
useWindowFocus,
|
||||
useWindowScroll,
|
||||
useWindowSize,
|
||||
watchArray,
|
||||
watchAtMost,
|
||||
watchDebounced,
|
||||
watchDeep,
|
||||
watchIgnorable,
|
||||
watchImmediate,
|
||||
watchOnce,
|
||||
watchPausable,
|
||||
watchThrottled,
|
||||
watchTriggerable,
|
||||
watchWithFilter,
|
||||
whenever
|
||||
};
|
||||
//# sourceMappingURL=vitepress___@vueuse_core.js.map
|
||||
7
docs/.vitepress/cache/deps/vitepress___@vueuse_core.js.map
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": [],
|
||||
"sourcesContent": [],
|
||||
"mappings": "",
|
||||
"names": []
|
||||
}
|
||||
1145
docs/.vitepress/cache/deps/vitepress___@vueuse_integrations_useFocusTrap.js
vendored
Normal file
7
docs/.vitepress/cache/deps/vitepress___@vueuse_integrations_useFocusTrap.js.map
vendored
Normal file
1665
docs/.vitepress/cache/deps/vitepress___mark__js_src_vanilla__js.js
vendored
Normal file
7
docs/.vitepress/cache/deps/vitepress___mark__js_src_vanilla__js.js.map
vendored
Normal file
1812
docs/.vitepress/cache/deps/vitepress___minisearch.js
vendored
Normal file
7
docs/.vitepress/cache/deps/vitepress___minisearch.js.map
vendored
Normal file
343
docs/.vitepress/cache/deps/vue.js
vendored
Normal file
@@ -0,0 +1,343 @@
|
||||
import {
|
||||
BaseTransition,
|
||||
BaseTransitionPropsValidators,
|
||||
Comment,
|
||||
DeprecationTypes,
|
||||
EffectScope,
|
||||
ErrorCodes,
|
||||
ErrorTypeStrings,
|
||||
Fragment,
|
||||
KeepAlive,
|
||||
ReactiveEffect,
|
||||
Static,
|
||||
Suspense,
|
||||
Teleport,
|
||||
Text,
|
||||
TrackOpTypes,
|
||||
Transition,
|
||||
TransitionGroup,
|
||||
TriggerOpTypes,
|
||||
VueElement,
|
||||
assertNumber,
|
||||
callWithAsyncErrorHandling,
|
||||
callWithErrorHandling,
|
||||
camelize,
|
||||
capitalize,
|
||||
cloneVNode,
|
||||
compatUtils,
|
||||
compile,
|
||||
computed,
|
||||
createApp,
|
||||
createBaseVNode,
|
||||
createBlock,
|
||||
createCommentVNode,
|
||||
createElementBlock,
|
||||
createHydrationRenderer,
|
||||
createPropsRestProxy,
|
||||
createRenderer,
|
||||
createSSRApp,
|
||||
createSlots,
|
||||
createStaticVNode,
|
||||
createTextVNode,
|
||||
createVNode,
|
||||
customRef,
|
||||
defineAsyncComponent,
|
||||
defineComponent,
|
||||
defineCustomElement,
|
||||
defineEmits,
|
||||
defineExpose,
|
||||
defineModel,
|
||||
defineOptions,
|
||||
defineProps,
|
||||
defineSSRCustomElement,
|
||||
defineSlots,
|
||||
devtools,
|
||||
effect,
|
||||
effectScope,
|
||||
getCurrentInstance,
|
||||
getCurrentScope,
|
||||
getCurrentWatcher,
|
||||
getTransitionRawChildren,
|
||||
guardReactiveProps,
|
||||
h,
|
||||
handleError,
|
||||
hasInjectionContext,
|
||||
hydrate,
|
||||
hydrateOnIdle,
|
||||
hydrateOnInteraction,
|
||||
hydrateOnMediaQuery,
|
||||
hydrateOnVisible,
|
||||
initCustomFormatter,
|
||||
initDirectivesForSSR,
|
||||
inject,
|
||||
isMemoSame,
|
||||
isProxy,
|
||||
isReactive,
|
||||
isReadonly,
|
||||
isRef,
|
||||
isRuntimeOnly,
|
||||
isShallow,
|
||||
isVNode,
|
||||
markRaw,
|
||||
mergeDefaults,
|
||||
mergeModels,
|
||||
mergeProps,
|
||||
nextTick,
|
||||
normalizeClass,
|
||||
normalizeProps,
|
||||
normalizeStyle,
|
||||
onActivated,
|
||||
onBeforeMount,
|
||||
onBeforeUnmount,
|
||||
onBeforeUpdate,
|
||||
onDeactivated,
|
||||
onErrorCaptured,
|
||||
onMounted,
|
||||
onRenderTracked,
|
||||
onRenderTriggered,
|
||||
onScopeDispose,
|
||||
onServerPrefetch,
|
||||
onUnmounted,
|
||||
onUpdated,
|
||||
onWatcherCleanup,
|
||||
openBlock,
|
||||
popScopeId,
|
||||
provide,
|
||||
proxyRefs,
|
||||
pushScopeId,
|
||||
queuePostFlushCb,
|
||||
reactive,
|
||||
readonly,
|
||||
ref,
|
||||
registerRuntimeCompiler,
|
||||
render,
|
||||
renderList,
|
||||
renderSlot,
|
||||
resolveComponent,
|
||||
resolveDirective,
|
||||
resolveDynamicComponent,
|
||||
resolveFilter,
|
||||
resolveTransitionHooks,
|
||||
setBlockTracking,
|
||||
setDevtoolsHook,
|
||||
setTransitionHooks,
|
||||
shallowReactive,
|
||||
shallowReadonly,
|
||||
shallowRef,
|
||||
ssrContextKey,
|
||||
ssrUtils,
|
||||
stop,
|
||||
toDisplayString,
|
||||
toHandlerKey,
|
||||
toHandlers,
|
||||
toRaw,
|
||||
toRef,
|
||||
toRefs,
|
||||
toValue,
|
||||
transformVNodeArgs,
|
||||
triggerRef,
|
||||
unref,
|
||||
useAttrs,
|
||||
useCssModule,
|
||||
useCssVars,
|
||||
useHost,
|
||||
useId,
|
||||
useModel,
|
||||
useSSRContext,
|
||||
useShadowRoot,
|
||||
useSlots,
|
||||
useTemplateRef,
|
||||
useTransitionState,
|
||||
vModelCheckbox,
|
||||
vModelDynamic,
|
||||
vModelRadio,
|
||||
vModelSelect,
|
||||
vModelText,
|
||||
vShow,
|
||||
version,
|
||||
warn,
|
||||
watch,
|
||||
watchEffect,
|
||||
watchPostEffect,
|
||||
watchSyncEffect,
|
||||
withAsyncContext,
|
||||
withCtx,
|
||||
withDefaults,
|
||||
withDirectives,
|
||||
withKeys,
|
||||
withMemo,
|
||||
withModifiers,
|
||||
withScopeId
|
||||
} from "./chunk-HVR2FF6M.js";
|
||||
export {
|
||||
BaseTransition,
|
||||
BaseTransitionPropsValidators,
|
||||
Comment,
|
||||
DeprecationTypes,
|
||||
EffectScope,
|
||||
ErrorCodes,
|
||||
ErrorTypeStrings,
|
||||
Fragment,
|
||||
KeepAlive,
|
||||
ReactiveEffect,
|
||||
Static,
|
||||
Suspense,
|
||||
Teleport,
|
||||
Text,
|
||||
TrackOpTypes,
|
||||
Transition,
|
||||
TransitionGroup,
|
||||
TriggerOpTypes,
|
||||
VueElement,
|
||||
assertNumber,
|
||||
callWithAsyncErrorHandling,
|
||||
callWithErrorHandling,
|
||||
camelize,
|
||||
capitalize,
|
||||
cloneVNode,
|
||||
compatUtils,
|
||||
compile,
|
||||
computed,
|
||||
createApp,
|
||||
createBlock,
|
||||
createCommentVNode,
|
||||
createElementBlock,
|
||||
createBaseVNode as createElementVNode,
|
||||
createHydrationRenderer,
|
||||
createPropsRestProxy,
|
||||
createRenderer,
|
||||
createSSRApp,
|
||||
createSlots,
|
||||
createStaticVNode,
|
||||
createTextVNode,
|
||||
createVNode,
|
||||
customRef,
|
||||
defineAsyncComponent,
|
||||
defineComponent,
|
||||
defineCustomElement,
|
||||
defineEmits,
|
||||
defineExpose,
|
||||
defineModel,
|
||||
defineOptions,
|
||||
defineProps,
|
||||
defineSSRCustomElement,
|
||||
defineSlots,
|
||||
devtools,
|
||||
effect,
|
||||
effectScope,
|
||||
getCurrentInstance,
|
||||
getCurrentScope,
|
||||
getCurrentWatcher,
|
||||
getTransitionRawChildren,
|
||||
guardReactiveProps,
|
||||
h,
|
||||
handleError,
|
||||
hasInjectionContext,
|
||||
hydrate,
|
||||
hydrateOnIdle,
|
||||
hydrateOnInteraction,
|
||||
hydrateOnMediaQuery,
|
||||
hydrateOnVisible,
|
||||
initCustomFormatter,
|
||||
initDirectivesForSSR,
|
||||
inject,
|
||||
isMemoSame,
|
||||
isProxy,
|
||||
isReactive,
|
||||
isReadonly,
|
||||
isRef,
|
||||
isRuntimeOnly,
|
||||
isShallow,
|
||||
isVNode,
|
||||
markRaw,
|
||||
mergeDefaults,
|
||||
mergeModels,
|
||||
mergeProps,
|
||||
nextTick,
|
||||
normalizeClass,
|
||||
normalizeProps,
|
||||
normalizeStyle,
|
||||
onActivated,
|
||||
onBeforeMount,
|
||||
onBeforeUnmount,
|
||||
onBeforeUpdate,
|
||||
onDeactivated,
|
||||
onErrorCaptured,
|
||||
onMounted,
|
||||
onRenderTracked,
|
||||
onRenderTriggered,
|
||||
onScopeDispose,
|
||||
onServerPrefetch,
|
||||
onUnmounted,
|
||||
onUpdated,
|
||||
onWatcherCleanup,
|
||||
openBlock,
|
||||
popScopeId,
|
||||
provide,
|
||||
proxyRefs,
|
||||
pushScopeId,
|
||||
queuePostFlushCb,
|
||||
reactive,
|
||||
readonly,
|
||||
ref,
|
||||
registerRuntimeCompiler,
|
||||
render,
|
||||
renderList,
|
||||
renderSlot,
|
||||
resolveComponent,
|
||||
resolveDirective,
|
||||
resolveDynamicComponent,
|
||||
resolveFilter,
|
||||
resolveTransitionHooks,
|
||||
setBlockTracking,
|
||||
setDevtoolsHook,
|
||||
setTransitionHooks,
|
||||
shallowReactive,
|
||||
shallowReadonly,
|
||||
shallowRef,
|
||||
ssrContextKey,
|
||||
ssrUtils,
|
||||
stop,
|
||||
toDisplayString,
|
||||
toHandlerKey,
|
||||
toHandlers,
|
||||
toRaw,
|
||||
toRef,
|
||||
toRefs,
|
||||
toValue,
|
||||
transformVNodeArgs,
|
||||
triggerRef,
|
||||
unref,
|
||||
useAttrs,
|
||||
useCssModule,
|
||||
useCssVars,
|
||||
useHost,
|
||||
useId,
|
||||
useModel,
|
||||
useSSRContext,
|
||||
useShadowRoot,
|
||||
useSlots,
|
||||
useTemplateRef,
|
||||
useTransitionState,
|
||||
vModelCheckbox,
|
||||
vModelDynamic,
|
||||
vModelRadio,
|
||||
vModelSelect,
|
||||
vModelText,
|
||||
vShow,
|
||||
version,
|
||||
warn,
|
||||
watch,
|
||||
watchEffect,
|
||||
watchPostEffect,
|
||||
watchSyncEffect,
|
||||
withAsyncContext,
|
||||
withCtx,
|
||||
withDefaults,
|
||||
withDirectives,
|
||||
withKeys,
|
||||
withMemo,
|
||||
withModifiers,
|
||||
withScopeId
|
||||
};
|
||||
//# sourceMappingURL=vue.js.map
|
||||
7
docs/.vitepress/cache/deps/vue.js.map
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": [],
|
||||
"sourcesContent": [],
|
||||
"mappings": "",
|
||||
"names": []
|
||||
}
|
||||
300
docs/.vitepress/config.mts
Normal file
@@ -0,0 +1,300 @@
|
||||
import { defineConfig } from 'vitepress'
|
||||
import type { DefaultTheme } from 'vitepress'
|
||||
import { set_sidebar } from "../utils/auto_sidebar.js";
|
||||
|
||||
// https://vitepress.dev/reference/site-config
|
||||
export default defineConfig({
|
||||
title: "梦宁软件",
|
||||
head: [
|
||||
['link', { rel: 'stylesheet', href: '/theme/style.css' }], // 引入CSS
|
||||
['link', { rel: 'icon', href: '/mengninglogo.png' }] // 设置favicon
|
||||
],
|
||||
description: "梦宁软件",
|
||||
themeConfig: {
|
||||
// https://vitepress.dev/reference/default-theme-config
|
||||
outlineTitle: '目录',
|
||||
outline: [2, 6],
|
||||
logo: {
|
||||
src: '/mnsoftware.png',
|
||||
},
|
||||
nav: [
|
||||
// { text: '文档', link: '/document/index' },
|
||||
{
|
||||
text: '文档',
|
||||
items: [
|
||||
{
|
||||
text: 'Devstar介绍文档',
|
||||
link: '/document/index'
|
||||
},
|
||||
]
|
||||
},
|
||||
{ text: 'API', link: 'https://docs.gitea.com/zh-cn/api/1.24/' },
|
||||
{ text: 'Runner', link: 'runner/index' },
|
||||
{ text: 'Enterprise', link: '/enterprise/index' },
|
||||
],
|
||||
sidebar: {
|
||||
'/document/': sidebarDocument(), // 直接返回 SidebarItem[]
|
||||
'/enterprise/': sidebarEnterprise()
|
||||
},
|
||||
socialLinks: [
|
||||
{ icon: 'github', link: ' https://github.com/mengning/DevStar' }
|
||||
],
|
||||
footer: {
|
||||
copyright: 'Copyright © 2025-present devstar contributors',
|
||||
},
|
||||
// 设置搜索框的样式
|
||||
search: {
|
||||
provider: "local",
|
||||
options: {
|
||||
translations: {
|
||||
button: {
|
||||
buttonText: "搜索文档",
|
||||
buttonAriaLabel: "搜索文档",
|
||||
},
|
||||
modal: {
|
||||
noResultsText: "无法找到相关结果",
|
||||
resetButtonTitle: "清除查询条件",
|
||||
footer: {
|
||||
selectText: "选择",
|
||||
navigateText: "切换",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
})
|
||||
|
||||
function sidebarDocument(): DefaultTheme.SidebarItem[] {
|
||||
return [
|
||||
{
|
||||
text: 'Devstar是什么',
|
||||
link: '/document/index',
|
||||
items: []
|
||||
} as any,
|
||||
{
|
||||
text: '安装',
|
||||
collapsible: true, // 使整个组可折叠
|
||||
collapsed: true, // 默认展开
|
||||
items: [
|
||||
{ text: '对比Gitea与其它Git托管工具', link: 'https://docs.gitea.com/zh-cn/installation/comparison' },
|
||||
{ text: '数据库准备', link: 'https://docs.gitea.com/zh-cn/installation/database-prep' },
|
||||
// { text: '数据库准备', link: '/document/installation/from-source' },
|
||||
{ text: '使用shell脚本安装', link: '/document/installation/install-via-shell-script' },
|
||||
{ text: '使用二进制文件安装', link: 'https://docs.gitea.com/zh-cn/installation/install-from-binary' },
|
||||
{ text: '包管理器安装', link: 'https://docs.gitea.com/zh-cn/installation/install-from-package' },
|
||||
{ text: '使用源代码安装', link: 'https://docs.gitea.com/zh-cn/installation/install-from-source' },
|
||||
{ text: '在Linux中以service方式运行', link: 'https://docs.gitea.com/zh-cn/installation/linux-service' },//
|
||||
{ text: '注册为Windows服务', link: 'https://docs.gitea.com/zh-cn/installation/windows-service' },
|
||||
{ text: '使用Docker安装(rootless)', link: 'https://docs.gitea.com/zh-cn/installation/install-with-docker-rootless' },
|
||||
{ text: '使用Docker安装', link: 'https://docs.gitea.com/zh-cn/installation/install-with-docker' },
|
||||
{ text: '在Kubernetes中安装Gitea', link: 'https://docs.gitea.com/zh-cn/installation/install-on-kubernetes' },
|
||||
{ text: '在云服务器上安装Gitea', link: 'https://docs.gitea.com/zh-cn/installation/install-on-cloud-provider' },
|
||||
{ text: '从旧版Gitea升级', link: 'https://docs.gitea.com/zh-cn/installation/upgrade-from-gitea' },
|
||||
]
|
||||
} as any,
|
||||
{
|
||||
text: '管理',
|
||||
collapsible: true, // 使整个组可折叠
|
||||
collapsed: true, // 默认展开
|
||||
items: [
|
||||
{ text: '命令行', link: 'https://docs.gitea.com/zh-cn/administration/command-line' },
|
||||
{ text: '认证', link: 'https://docs.gitea.com/zh-cn/administration/authentication' },
|
||||
{ text: '环境变量清单', link: 'https://docs.gitea.com/zh-cn/administration/environment-variables' },
|
||||
{ text: '备份与恢复', link: 'https://docs.gitea.com/zh-cn/administration/backup-and-restore' },
|
||||
{ text: 'Email设置', link: 'https://docs.gitea.com/zh-cn/administration/email-setup' },
|
||||
{ text: 'Git LFS设置', link: 'https://docs.gitea.com/zh-cn/administration/git-lfs-setup' },
|
||||
{ text: 'HTTPS配置', link: 'https://docs.gitea.com/zh-cn/administration/https-setup' },
|
||||
{ text: '设置Fail2ban', link: 'https://docs.gitea.com/zh-cn/administration/fail2ban-setup' },
|
||||
{ text: '反向代理', link: 'https://docs.gitea.com/zh-cn/administration/reverse-proxies' },
|
||||
{ text: '嵌入资源提取工具', link: 'https://docs.gitea.com/zh-cn/administration/cmd-embedded' },
|
||||
{ text: '配置说明', link: 'https://docs.gitea.com/zh-cn/administration/config-cheat-sheet' },
|
||||
{ text: '日志配置', link: 'https://docs.gitea.com/zh-cn/administration/logging-config' },
|
||||
{ text: '邮件模板', link: 'https://docs.gitea.com/zh-cn/administration/mail-templates' },
|
||||
{ text: '仓库索引器', link: 'https://docs.gitea.com/zh-cn/administration/repo-indexer' },
|
||||
{ text: 'GPG提交签名', link: 'https://docs.gitea.com/zh-cn/administration/signing' },
|
||||
{ text: '外部渲染器', link: 'https://docs.gitea.com/zh-cn/administration/external-renderers' },
|
||||
{ text: '搜索引擎索引', link: 'https://docs.gitea.com/zh-cn/administration/search-engines-indexation' },
|
||||
{ text: '自定义Gitea配置', link: 'https://docs.gitea.com/zh-cn/administration/customizing-gitea' },
|
||||
{ text: '添加法律页面', link: 'https://docs.gitea.com/zh-cn/administration/adding-legal-pages' }
|
||||
]
|
||||
} as any,
|
||||
{
|
||||
text: '使用',
|
||||
collapsible: true, // 使整个组可折叠
|
||||
collapsed: true, // 默认展开
|
||||
items: [
|
||||
{
|
||||
text: 'Actions',
|
||||
collapsible: true, // 使整个组可折叠
|
||||
collapsed: false, // 默认展开
|
||||
items: [
|
||||
{ text: 'Overview', link: 'https://docs.gitea.com/zh-cn/usage/actions/overview' },
|
||||
{ text: '快速入门', link: 'https://docs.gitea.com/zh-cn/usage/actions/quickstart' },
|
||||
{ text: '与GitHub Actions的对比', link: 'https://docs.gitea.com/zh-cn/usage/actions/comparison' },
|
||||
{ text: 'Act Runner', link: 'https://docs.gitea.com/zh-cn/usage/actions/act-runner' },
|
||||
{ text: '变量', link: 'https://docs.gitea.com/zh-cn/usage/actions/actions-variables' },
|
||||
{ text: 'Gitea Actions设计', link: 'https://docs.gitea.com/zh-cn/usage/actions/design' },
|
||||
{ text: '密钥管理', link: 'https://docs.gitea.com/zh-cn/usage/actions/secrets' },
|
||||
{ text: 'Gitea Actions常见问题解答', link: 'https://docs.gitea.com/zh-cn/usage/actions/faq' },
|
||||
{ text: 'Badge', link: 'https://docs.gitea.com/zh-cn/usage/actions/badge' }
|
||||
]
|
||||
},
|
||||
{
|
||||
text: '软件包',
|
||||
collapsible: true, // 使整个组可折叠
|
||||
collapsed: true, // 默认展开
|
||||
items: [
|
||||
{ text: '软件包注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/overview' },
|
||||
{ text: 'Alpine 软件包注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/alpine' },
|
||||
{ text: 'Arch package registry', link: 'https://docs.gitea.com/zh-cn/usage/packages/arch' },
|
||||
{ text: 'Cargo 软件包注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/cargo' },
|
||||
{ text: 'Chef 软件包注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/chef' },
|
||||
{ text: '存储', link: 'https://docs.gitea.com/zh-cn/usage/packages/storage' },
|
||||
{ text: 'Composer 软件包注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/composer' },
|
||||
{ text: 'Conan 软件包注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/conan' },
|
||||
{ text: 'Conda 软件包注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/conda' },
|
||||
{ text: '容器注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/container' },
|
||||
{ text: 'CRAN 软件包注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/cran' },
|
||||
{ text: 'Go 软件包注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/go' },
|
||||
{ text: 'Helm Chart 注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/helm' },
|
||||
{ text: 'Maven 软件包注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/maven' },
|
||||
{ text: 'NPM Package Registry', link: 'https://docs.gitea.com/zh-cn/usage/packages/npm' },
|
||||
{ text: 'NuGet 软件包注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/nuget' },
|
||||
{ text: 'Pub 软件包注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/pub' },
|
||||
{ text: 'PyPI 软件包注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/pypi' },
|
||||
{ text: 'RPM 软件包注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/packages/rpm' },
|
||||
{ text: 'RubyGems 软件包注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/rubygems' },
|
||||
{ text: 'Swift 软件包注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/swift' },
|
||||
{ text: 'Vagrant 软件包注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/vagrant' },
|
||||
{ text: '通用软件包注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/generic' },
|
||||
{ text: 'Debian 软件包注册表', link: 'https://docs.gitea.com/zh-cn/usage/packages/debian' }
|
||||
]
|
||||
},
|
||||
{ text: 'AGit', link: 'https://docs.gitea.com/zh-cn/usage/agit' },
|
||||
{ text: '个人资料 README', link: 'https://docs.gitea.com/zh-cn/usage/profile-readme' },
|
||||
{ text: 'Blame File View', link: 'https://docs.gitea.com/zh-cn/usage/blame' },
|
||||
{ text: '邮件接收', link: 'https://docs.gitea.com/zh-cn/usage/incoming-email' },
|
||||
{ text: '标签', link: 'https://docs.gitea.com/zh-cn/usage/labels' },
|
||||
{ text: '合并请求', link: 'https://docs.gitea.com/zh-cn/usage/pull-request' },
|
||||
{ text: '权限', link: 'https://docs.gitea.com/zh-cn/usage/permissions' },
|
||||
{ text: '模板仓库', link: 'https://docs.gitea.com/zh-cn/usage/template-repositories' },
|
||||
{ text: '从模板创建工单与合并请求', link: 'https://docs.gitea.com/zh-cn/usage/issue-pull-request-templates' },
|
||||
{ text: '自动链接引用', link: 'https://docs.gitea.com/zh-cn/usage/automatically-linked-references' },
|
||||
{ text: '合并消息模板', link: 'https://docs.gitea.com/zh-cn/usage/merge-message-template' },
|
||||
{ text: '推送', link: 'https://docs.gitea.com/zh-cn/usage/push' },
|
||||
{ text: 'Blocking a user', link: 'https://docs.gitea.com/zh-cn/usage/blocking-user' },
|
||||
{ text: '克隆过滤器 (部分克隆)', link: 'https://docs.gitea.com/zh-cn/usage/clone-filters' },
|
||||
{ text: 'Code Owners', link: 'https://docs.gitea.com/zh-cn/usage/code-owners' },
|
||||
{ text: 'Webhooks', link: 'https://docs.gitea.com/zh-cn/usage/webhooks' },
|
||||
{ text: 'Migration', link: 'https://docs.gitea.com/zh-cn/usage/migration' },
|
||||
{ text: '受保护的标签', link: 'https://docs.gitea.com/zh-cn/usage/protected-tags' },
|
||||
{ text: '仓库镜像', link: 'https://docs.gitea.com/zh-cn/usage/repo-mirror' },
|
||||
{ text: 'Markdown', link: 'https://docs.gitea.com/zh-cn/usage/markdown' },
|
||||
{ text: 'Multi-factor Authentication (MFA)', link: 'https://docs.gitea.com/zh-cn/usage/multi-factor-authentication' }
|
||||
]
|
||||
} as any,
|
||||
{
|
||||
text: '开发',
|
||||
collapsible: true, // 使整个组可折叠
|
||||
collapsed: true, // 默认展开
|
||||
items: [
|
||||
{ text: '玩转 Gitea', link: 'https://docs.gitea.com/zh-cn/development/hacking-on-gitea' },
|
||||
{ text: 'API 使用指南', link: 'https://docs.gitea.com/zh-cn/development/api-usage' },
|
||||
{ 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' }
|
||||
]
|
||||
} as any,
|
||||
{
|
||||
text: '贡献',
|
||||
collapsible: true, // 使整个组可折叠
|
||||
collapsed: true, // 默认展开
|
||||
items: [
|
||||
{ text: '后端开发指南', link: 'https://docs.gitea.com/zh-cn/contributing/guidelines-backend' },
|
||||
{ text: '前端开发指南', link: 'https://docs.gitea.com/zh-cn/contributing/guidelines-frontend' },
|
||||
{ text: '重构指南', link: 'https://docs.gitea.com/zh-cn/contributing/guidelines-refactoring' },
|
||||
{ text: '本地化', link: 'https://docs.gitea.com/zh-cn/contributing/localization' }
|
||||
]
|
||||
} as any,
|
||||
{
|
||||
text: '帮助',
|
||||
collapsible: true, // 使整个组可折叠
|
||||
collapsed: true, // 默认展开
|
||||
items: [
|
||||
{ text: '常见问题', link: 'https://docs.gitea.com/zh-cn/help/faq' },
|
||||
{ text: '支持选项', link: 'https://docs.gitea.com/zh-cn/help/support' },
|
||||
]
|
||||
} as any,
|
||||
]
|
||||
}
|
||||
|
||||
function sidebarEnterprise(): DefaultTheme.SidebarItem[] {
|
||||
return [
|
||||
{
|
||||
text: 'Gitea Enterprise 是什么',
|
||||
link: '/enterprise/index',
|
||||
items: [
|
||||
|
||||
]
|
||||
},
|
||||
{
|
||||
text: '特征',
|
||||
collapsible: true, // 使整个组可折叠
|
||||
collapsed: true, // 默认展开
|
||||
items: [
|
||||
{
|
||||
text: '可继承分支保护',
|
||||
link: 'https://docs.gitea.com/enterprise/features/inheritable-branch-protection'
|
||||
},
|
||||
{
|
||||
text: '依赖关系扫描',
|
||||
link: 'https://docs.gitea.com/enterprise/features/dependency-scan'
|
||||
},
|
||||
{
|
||||
text: 'IP 允许列表',
|
||||
link: 'https://docs.gitea.com/enterprise/features/ip-allowlist'
|
||||
},
|
||||
{
|
||||
text: '企业主题',
|
||||
link: 'https://docs.gitea.com/enterprise/features/enterprise-theme'
|
||||
},
|
||||
{
|
||||
text: '强制2FA身份验证',
|
||||
link: 'https://docs.gitea.com/enterprise/features/mandatory-2fa'
|
||||
},
|
||||
{
|
||||
text: '审计日志',
|
||||
link: 'https://docs.gitea.com/enterprise/features/audit-log'
|
||||
},
|
||||
{
|
||||
text: 'SAML',
|
||||
link: 'https://docs.gitea.com/enterprise/features/saml-auth'
|
||||
},
|
||||
{
|
||||
text: '发布节奏和版本控制',
|
||||
link: 'https://docs.gitea.com/enterprise/features/release-cadence'
|
||||
}
|
||||
]
|
||||
} as any,
|
||||
{
|
||||
text: '安装',
|
||||
link: 'https://docs.gitea.com/enterprise/installation',
|
||||
items: []
|
||||
},
|
||||
{
|
||||
text: '常见问题',
|
||||
link: 'https://docs.gitea.com/enterprise/faq',
|
||||
items: []
|
||||
},
|
||||
]
|
||||
}
|
||||
|
||||
function sidebarRunner(): DefaultTheme.SidebarItem[] {
|
||||
return [
|
||||
{
|
||||
link: '/runner/index',
|
||||
},
|
||||
]
|
||||
}
|
||||
|
||||
24
docs/.vitepress/dist/404.html
vendored
Normal file
BIN
docs/.vitepress/dist/DevStar.png
vendored
Normal file
|
After Width: | Height: | Size: 68 KiB |
1
docs/.vitepress/dist/assets/app.auNZsvtC.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{t as p}from"./chunks/theme.BP9HmfGK.js";import{R as s,a2 as i,a3 as u,a4 as c,a5 as l,a6 as f,a7 as d,a8 as m,a9 as h,aa as g,ab as A,d as v,u as y,v as C,s as P,ac as b,ad as w,ae as R,af as E}from"./chunks/framework.S-Qvb3wi.js";function r(e){if(e.extends){const a=r(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const n=r(p),S=v({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=y();return C(()=>{P(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&b(),w(),R(),n.setup&&n.setup(),()=>E(n.Layout)}});async function T(){globalThis.__VITEPRESS__=!0;const e=_(),a=D();a.provide(u,e);const t=c(e.route);return a.provide(l,t),a.component("Content",f),a.component("ClientOnly",d),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),n.enhanceApp&&await n.enhanceApp({app:a,router:e,siteData:m}),{app:a,router:e,data:t}}function D(){return A(S)}function _(){let e=s;return h(a=>{let t=g(a),o=null;return t&&(e&&(t=t.replace(/\.js$/,".lean.js")),o=import(t)),s&&(e=!1),o},n.NotFound)}s&&T().then(({app:e,router:a,data:t})=>{a.go().then(()=>{i(a.route,t.site),e.mount("#app")})});export{T as createApp};
|
||||
1
docs/.vitepress/dist/assets/chunks/@localSearchIndexroot.BF4sbLhx.js
vendored
Normal file
8
docs/.vitepress/dist/assets/chunks/VPLocalSearchBox.CqtXRzJv.js
vendored
Normal file
18
docs/.vitepress/dist/assets/chunks/framework.S-Qvb3wi.js
vendored
Normal file
2
docs/.vitepress/dist/assets/chunks/theme.BP9HmfGK.js
vendored
Normal file
1
docs/.vitepress/dist/assets/document_index.md.BNMnkktn.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{_ as a,c as t,o as r,ag as o}from"./chunks/framework.S-Qvb3wi.js";const p=JSON.parse('{"title":"关于Devstar","description":"","frontmatter":{"outline":"deep","weight":1},"headers":[],"relativePath":"document/index.md","filePath":"document/index.md"}'),n={name:"document/index.md"};function d(i,e,s,c,l,_){return r(),t("div",null,e[0]||(e[0]=[o('<h1 id="关于devstar" tabindex="-1">关于Devstar <a class="header-anchor" href="#关于devstar" aria-label="Permalink to "关于Devstar""></a></h1><p>DevStar Studio 是一个Gitea 发行版,在Git代码仓库托管的基础上提供了开发环境DevEnv执行引擎,与VS Code插件或自定义IDE深度融合,形成灵活适配基础软件工具的生态平台,从而为开发者用户提供智能(代码大模型AI+)、安全(完全云原生)、一站式开箱即用的CI/CD全生命周期研发平台。</p><h2 id="目标" tabindex="-1">目标 <a class="header-anchor" href="#目标" aria-label="Permalink to "目标""></a></h2><p>DevStar Studio是一个通用的一站式软件研发平台,它最初的目标是服务于汽车软件、消费电子、智能制造等嵌入式软件研发场景中的开发者</p><h2 id="在线演示" tabindex="-1">在线演示 <a class="header-anchor" href="#在线演示" aria-label="Permalink to "在线演示""></a></h2><p>访问<a href="https://devstar.cn" target="_blank" rel="noreferrer">devstar.cn</a>或者在VS Code插件市场搜索devstar</p>',6)]))}const u=a(n,[["render",d]]);export{p as __pageData,u as default};
|
||||
1
docs/.vitepress/dist/assets/document_index.md.BNMnkktn.lean.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{_ as a,c as t,o as r,ag as o}from"./chunks/framework.S-Qvb3wi.js";const p=JSON.parse('{"title":"关于Devstar","description":"","frontmatter":{"outline":"deep","weight":1},"headers":[],"relativePath":"document/index.md","filePath":"document/index.md"}'),n={name:"document/index.md"};function d(i,e,s,c,l,_){return r(),t("div",null,e[0]||(e[0]=[o("",6)]))}const u=a(n,[["render",d]]);export{p as __pageData,u as default};
|
||||
18
docs/.vitepress/dist/assets/document_installation_install-via-shell-script.md.rfAwY06x.js
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
import{_ as a,c as i,o as t,ag as n}from"./chunks/framework.S-Qvb3wi.js";const k=JSON.parse('{"title":"快速开始","description":"","frontmatter":{"outline":"deep","weight":2},"headers":[],"relativePath":"document/installation/install-via-shell-script.md","filePath":"document/installation/install-via-shell-script.md"}'),e={name:"document/installation/install-via-shell-script.md"};function l(p,s,h,d,o,r){return t(),i("div",null,s[0]||(s[0]=[n(`<h1 id="快速开始" tabindex="-1">快速开始 <a class="header-anchor" href="#快速开始" aria-label="Permalink to "快速开始""></a></h1><p>如果您是在Windows环境下,请在cmd命令行下先运行如下命令:</p><div class="language-md vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">md</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">powershell wsl --install -d Ubuntu-20.04</span></span></code></pre></div><p>如果以上命令无法自动完成安装WSL,可以手动执行如下消耗完成命令安装:</p><div class="language-md vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">md</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">dism.exe /Online /Enable-Feature /FeatureName:Microsoft-Windows-Subsystem-Linux /All /LimitAccess /All</span></span>
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">dism.exe /Online /Enable-Feature /FeatureName:VirtualMachinePlatform /All /LimitAccess</span></span></code></pre></div><p>在Ubuntu-20.04下完成安装:</p><div class="language-md vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">md</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">wget -c https://devstar.cn/assets/install.sh && chmod +x install.sh && sudo ./install.sh</span></span>
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">devstar help</span></span>
|
||||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold;">------------------------------------------------------------------------</span></span>
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">DevStar usage help:</span></span>
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> help, -h, --help, Help information</span></span>
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> start Start DevStar Studio</span></span>
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> --port=<arg> Specify the port number (default port is 8080)</span></span>
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> --version=<arg> Specify the DevStar Studio Image Version (default verson is latest)</span></span>
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> stop Stop the running DevStar Studio</span></span>
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> logs View the logs of the devstar-studio container</span></span>
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> clean Clean up the running DevStar Studio, including deleting user data. Please use with caution.</span></span>
|
||||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold;">------------------------------------------------------------------------</span></span>
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">sudo devstar start</span></span>
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">...</span></span>
|
||||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold;">-------------------------------------------------------</span></span>
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">DevStar started in http://localhost:8080 successfully!</span></span>
|
||||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold;">-------------------------------------------------------</span></span></code></pre></div><p>然后通过浏览器打开http://localhost:8080完成后配置安装,默认第一个注册用户为管理员账户。</p>`,8)]))}const E=a(e,[["render",l]]);export{k as __pageData,E as default};
|
||||
@@ -0,0 +1 @@
|
||||
import{_ as a,c as i,o as t,ag as n}from"./chunks/framework.S-Qvb3wi.js";const k=JSON.parse('{"title":"快速开始","description":"","frontmatter":{"outline":"deep","weight":2},"headers":[],"relativePath":"document/installation/install-via-shell-script.md","filePath":"document/installation/install-via-shell-script.md"}'),e={name:"document/installation/install-via-shell-script.md"};function l(p,s,h,d,o,r){return t(),i("div",null,s[0]||(s[0]=[n("",8)]))}const E=a(e,[["render",l]]);export{k as __pageData,E as default};
|
||||
18
docs/.vitepress/dist/assets/document_快速开始.md.sbeOmH7c.js
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
import{_ as a,c as i,o as t,ag as n}from"./chunks/framework.S-Qvb3wi.js";const c=JSON.parse('{"title":"快速开始","description":"","frontmatter":{"outline":"deep","weight":2},"headers":[],"relativePath":"document/快速开始.md","filePath":"document/快速开始.md"}'),e={name:"document/快速开始.md"};function l(p,s,h,d,o,r){return t(),i("div",null,s[0]||(s[0]=[n(`<h1 id="快速开始" tabindex="-1">快速开始 <a class="header-anchor" href="#快速开始" aria-label="Permalink to "快速开始""></a></h1><p>如果您是在Windows环境下,请在cmd命令行下先运行如下命令:</p><div class="language-md vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">md</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">powershell wsl --install -d Ubuntu-20.04</span></span></code></pre></div><p>如果以上命令无法自动完成安装WSL,可以手动执行如下消耗完成命令安装:</p><div class="language-md vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">md</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">dism.exe /Online /Enable-Feature /FeatureName:Microsoft-Windows-Subsystem-Linux /All /LimitAccess /All</span></span>
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">dism.exe /Online /Enable-Feature /FeatureName:VirtualMachinePlatform /All /LimitAccess</span></span></code></pre></div><p>在Ubuntu-20.04下完成安装:</p><div class="language-md vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">md</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">wget -c https://devstar.cn/assets/install.sh && chmod +x install.sh && sudo ./install.sh</span></span>
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">devstar help</span></span>
|
||||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold;">------------------------------------------------------------------------</span></span>
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">DevStar usage help:</span></span>
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> help, -h, --help, Help information</span></span>
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> start Start DevStar Studio</span></span>
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> --port=<arg> Specify the port number (default port is 8080)</span></span>
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> --version=<arg> Specify the DevStar Studio Image Version (default verson is latest)</span></span>
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> stop Stop the running DevStar Studio</span></span>
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> logs View the logs of the devstar-studio container</span></span>
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> clean Clean up the running DevStar Studio, including deleting user data. Please use with caution.</span></span>
|
||||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold;">------------------------------------------------------------------------</span></span>
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">sudo devstar start</span></span>
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">...</span></span>
|
||||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold;">-------------------------------------------------------</span></span>
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">DevStar started in http://localhost:8080 successfully!</span></span>
|
||||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold;">-------------------------------------------------------</span></span></code></pre></div><p>然后通过浏览器打开http://localhost:8080完成后配置安装,默认第一个注册用户为管理员账户。</p>`,8)]))}const E=a(e,[["render",l]]);export{c as __pageData,E as default};
|
||||
1
docs/.vitepress/dist/assets/document_快速开始.md.sbeOmH7c.lean.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{_ as a,c as i,o as t,ag as n}from"./chunks/framework.S-Qvb3wi.js";const c=JSON.parse('{"title":"快速开始","description":"","frontmatter":{"outline":"deep","weight":2},"headers":[],"relativePath":"document/快速开始.md","filePath":"document/快速开始.md"}'),e={name:"document/快速开始.md"};function l(p,s,h,d,o,r){return t(),i("div",null,s[0]||(s[0]=[n("",8)]))}const E=a(e,[["render",l]]);export{c as __pageData,E as default};
|
||||
1
docs/.vitepress/dist/assets/enterprise_index.md.D1yvtgOO.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{_ as a,c as i,o as t,ag as r}from"./chunks/framework.S-Qvb3wi.js";const u=JSON.parse('{"title":"Gitea Enterprise 介绍","description":"","frontmatter":{"title":"Gitea Enterprise 介绍","sidebar":"auto"},"headers":[],"relativePath":"enterprise/index.md","filePath":"enterprise/index.md"}'),l={name:"enterprise/index.md"};function o(n,e,s,p,d,c){return t(),i("div",null,e[0]||(e[0]=[r('<h1 id="gitea-enterprise" tabindex="-1">Gitea Enterprise <a class="header-anchor" href="#gitea-enterprise" aria-label="Permalink to "Gitea Enterprise""></a></h1><h2 id="什么是-gitea-enterprise" tabindex="-1">什么是 Gitea Enterprise? <a class="header-anchor" href="#什么是-gitea-enterprise" aria-label="Permalink to "什么是 Gitea Enterprise?""></a></h2><p>Gitea Enterprise 是基于开源 Gitea 项目开发的增强版,为企业级用户提供更可靠的体验。</p><h2 id="与开源版的关系" tabindex="-1">与开源版的关系 <a class="header-anchor" href="#与开源版的关系" aria-label="Permalink to "与开源版的关系""></a></h2><ul><li>基于开源 Gitea 项目开发,操作和配置方式几乎相同</li><li>熟悉 Gitea 的用户可以快速上手 Gitea Enterprise</li><li>企业版专为企业用例需求构建</li><li><strong>注意</strong>:企业版功能需要付费激活</li></ul><blockquote><p>如果您对价格有疑问,可以申请30天免费试用,试用期结束后可选择继续使用(功能将恢复为开源版相同)</p></blockquote><h2 id="定价方案" tabindex="-1">定价方案 <a class="header-anchor" href="#定价方案" aria-label="Permalink to "定价方案""></a></h2><p>您可以在客户门户自主购买 Gitea Enterprise 许可证:</p><ul><li>价格基于用户数量,可按实际需求购买</li><li>支持随时"调整"许可证规模(增减用户数或调整时长) <ul><li>示例:可将20人12个月许可调整为40人6个月或10人24个月</li><li>调整不产生额外费用</li></ul></li><li>许可证到期前可选择续订延长有效期</li><li>随时续订可享受促销优惠</li></ul><h2 id="版本规则" tabindex="-1">版本规则 <a class="header-anchor" href="#版本规则" aria-label="Permalink to "版本规则""></a></h2><p>Gitea Enterprise 与 Gitea 项目的版本号不同但相互对应:</p><ul><li>企业版版本格式:<code>v21.6.*</code><ul><li><code>v21.6</code> 表示基于 Gitea 1.21.6 版本开发</li><li><code>.*</code> 包含企业版特有的补丁或功能更新</li></ul></li></ul><h3 id="版本切换指南" tabindex="-1">版本切换指南 <a class="header-anchor" href="#版本切换指南" aria-label="Permalink to "版本切换指南""></a></h3><ol><li><strong>切换条件</strong>:所有数据和配置完全兼容</li><li><strong>操作步骤</strong>:只需替换可执行文件或 Docker 镜像</li><li><strong>版本对应规则</strong>: <ul><li>从 Gitea v1.21.6 → 需选择 Gitea Enterprise v21+</li><li>从 Gitea Enterprise v23.1.0 → 需选择 Gitea v1.23+</li></ul></li></ol><h2 id="问题反馈" tabindex="-1">问题反馈 <a class="header-anchor" href="#问题反馈" aria-label="Permalink to "问题反馈""></a></h2><p>大多数问题已在 <a href="https://docs.gitea.com/enterprise/faq" target="_blank" rel="noreferrer">FAQ</a> 中解答,如需进一步帮助请联系:</p><p><strong>邮箱</strong>: <a href="mailto:support@example.com" target="_blank" rel="noreferrer">support@example.com</a></p>',17)]))}const _=a(l,[["render",o]]);export{u as __pageData,_ as default};
|
||||
1
docs/.vitepress/dist/assets/enterprise_index.md.D1yvtgOO.lean.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{_ as a,c as i,o as t,ag as r}from"./chunks/framework.S-Qvb3wi.js";const u=JSON.parse('{"title":"Gitea Enterprise 介绍","description":"","frontmatter":{"title":"Gitea Enterprise 介绍","sidebar":"auto"},"headers":[],"relativePath":"enterprise/index.md","filePath":"enterprise/index.md"}'),l={name:"enterprise/index.md"};function o(n,e,s,p,d,c){return t(),i("div",null,e[0]||(e[0]=[r("",17)]))}const _=a(l,[["render",o]]);export{u as __pageData,_ as default};
|
||||
1
docs/.vitepress/dist/assets/index.md.5npbrEC4.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{_ as i,c as d,o as e,ag as r,G as o}from"./chunks/framework.S-Qvb3wi.js";const a="/DevStar.png",l={name:"HomePage",methods:{handleClick(){alert("按钮被点击!")}}},n={id:"header"};function v(c,t,s,_,m,h){return e(),d("div",n,t[0]||(t[0]=[r('<h2 data-v-8dc2780e>我们的产品</h2><div class="product-container" data-v-8dc2780e><ol class="product-list" data-v-8dc2780e><li class="product-item" data-v-8dc2780e><div class="product-card" data-v-8dc2780e><img src="'+a+'" alt="产品1" class="product-image" data-v-8dc2780e><div class="product-info" data-v-8dc2780e><h3 class="product-title" data-v-8dc2780e>Devstar</h3><p class="product-desc" data-v-8dc2780e>DevStar Studio 是一个Gitea 发行版,在Git代码仓库托管的基础上提供了开发环境DevEnv执行引擎,与VS Code插件或自定义IDE深度融合,形成灵活适配基础软件工具的生态平台,从而为开发者用户提供智能(代码大模型AI+)、安全(完全云原生)、一站式开箱即用的CI/CD全生命周期研发平台</p><a href="/document/index" class="product-link" data-v-8dc2780e>介绍文档</a></div></div></li><li class="product-item" data-v-8dc2780e><div class="product-card" data-v-8dc2780e><img src="'+a+'" alt="产品2" class="product-image" data-v-8dc2780e><div class="product-info" data-v-8dc2780e><h3 class="product-title" data-v-8dc2780e>Devstar</h3><p class="product-desc" data-v-8dc2780e>DevStar Studio 是一个Gitea 发行版,在Git代码仓库托管的基础上提供了开发环境DevEnv执行引擎,与VS Code插件或自定义IDE深度融合,形成灵活适配基础软件工具的生态平台,从而为开发者用户提供智能(代码大模型AI+)、安全(完全云原生)、一站式开箱即用的CI/CD全生命周期研发平台</p><a href="/document/index" class="product-link" data-v-8dc2780e>介绍文档</a></div></div></li><li class="product-item" data-v-8dc2780e><div class="product-card" data-v-8dc2780e><img src="'+a+'" alt="产品3" class="product-image" data-v-8dc2780e><div class="product-info" data-v-8dc2780e><h3 class="product-title" data-v-8dc2780e>Devstar</h3><p class="product-desc" data-v-8dc2780e>DevStar Studio 是一个Gitea 发行版,在Git代码仓库托管的基础上提供了开发环境DevEnv执行引擎,与VS Code插件或自定义IDE深度融合,形成灵活适配基础软件工具的生态平台,从而为开发者用户提供智能(代码大模型AI+)、安全(完全云原生)、一站式开箱即用的CI/CD全生命周期研发平台</p><a href="/document/index" class="product-link" data-v-8dc2780e>介绍文档</a></div></div></li></ol></div>',2)]))}const p=i(l,[["render",v],["__scopeId","data-v-8dc2780e"]]),D=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"text":"为中小型公司提供IT服务","tagline":"我们为各行各业提供定制软件解决方案,为您的企业打造高价值的软件和技术","image":{"src":"/slider1.png","alt":"背景图片"},"actions":[{"theme":"brand","text":"devstar入门","link":"/document/index"},{"theme":"alt","text":"devstar入门","link":"/document/index"},{"theme":"alt","text":"devstar入门","link":"/document/index"}]}},"headers":[],"relativePath":"index.md","filePath":"index.md"}'),u={name:"index.md"},f=Object.assign(u,{setup(c){return(t,s)=>(e(),d("div",null,[o(p)]))}});export{D as __pageData,f as default};
|
||||
1
docs/.vitepress/dist/assets/index.md.5npbrEC4.lean.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{_ as i,c as d,o as e,ag as r,G as o}from"./chunks/framework.S-Qvb3wi.js";const a="/DevStar.png",l={name:"HomePage",methods:{handleClick(){alert("按钮被点击!")}}},n={id:"header"};function v(c,t,s,_,m,h){return e(),d("div",n,t[0]||(t[0]=[r("",2)]))}const p=i(l,[["render",v],["__scopeId","data-v-8dc2780e"]]),D=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"text":"为中小型公司提供IT服务","tagline":"我们为各行各业提供定制软件解决方案,为您的企业打造高价值的软件和技术","image":{"src":"/slider1.png","alt":"背景图片"},"actions":[{"theme":"brand","text":"devstar入门","link":"/document/index"},{"theme":"alt","text":"devstar入门","link":"/document/index"},{"theme":"alt","text":"devstar入门","link":"/document/index"}]}},"headers":[],"relativePath":"index.md","filePath":"index.md"}'),u={name:"index.md"},f=Object.assign(u,{setup(c){return(t,s)=>(e(),d("div",null,[o(p)]))}});export{D as __pageData,f as default};
|
||||
BIN
docs/.vitepress/dist/assets/inter-italic-cyrillic-ext.r48I6akx.woff2
vendored
Normal file
BIN
docs/.vitepress/dist/assets/inter-italic-cyrillic.By2_1cv3.woff2
vendored
Normal file
BIN
docs/.vitepress/dist/assets/inter-italic-greek-ext.1u6EdAuj.woff2
vendored
Normal file
BIN
docs/.vitepress/dist/assets/inter-italic-greek.DJ8dCoTZ.woff2
vendored
Normal file
BIN
docs/.vitepress/dist/assets/inter-italic-latin-ext.CN1xVJS-.woff2
vendored
Normal file
BIN
docs/.vitepress/dist/assets/inter-italic-latin.C2AdPX0b.woff2
vendored
Normal file
BIN
docs/.vitepress/dist/assets/inter-italic-vietnamese.BSbpV94h.woff2
vendored
Normal file
BIN
docs/.vitepress/dist/assets/inter-roman-cyrillic-ext.BBPuwvHQ.woff2
vendored
Normal file
BIN
docs/.vitepress/dist/assets/inter-roman-cyrillic.C5lxZ8CY.woff2
vendored
Normal file
BIN
docs/.vitepress/dist/assets/inter-roman-greek-ext.CqjqNYQ-.woff2
vendored
Normal file
BIN
docs/.vitepress/dist/assets/inter-roman-greek.BBVDIX6e.woff2
vendored
Normal file
BIN
docs/.vitepress/dist/assets/inter-roman-latin-ext.4ZJIpNVo.woff2
vendored
Normal file
BIN
docs/.vitepress/dist/assets/inter-roman-latin.Di8DUHzh.woff2
vendored
Normal file
BIN
docs/.vitepress/dist/assets/inter-roman-vietnamese.BjW4sHH5.woff2
vendored
Normal file
14
docs/.vitepress/dist/assets/runner_index.md.D07NDeB4.js
vendored
Normal file
1
docs/.vitepress/dist/assets/runner_index.md.D07NDeB4.lean.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{_ as e,c as s,o as i,ag as n}from"./chunks/framework.S-Qvb3wi.js";const k=JSON.parse('{"title":"What is Gitea Runner","description":"","frontmatter":{"sidebar_position":1,"slug":"/"},"headers":[],"relativePath":"runner/index.md","filePath":"runner/index.md"}'),t={name:"runner/index.md"};function r(l,a,h,p,o,d){return i(),s("div",null,a[0]||(a[0]=[n("",32)]))}const u=e(t,[["render",r]]);export{k as __pageData,u as default};
|
||||
1
docs/.vitepress/dist/assets/style.yRCA_4kz.css
vendored
Normal file
BIN
docs/.vitepress/dist/background.png
vendored
Normal file
|
After Width: | Height: | Size: 36 KiB |
BIN
docs/.vitepress/dist/devstar-logo.png
vendored
Normal file
|
After Width: | Height: | Size: 26 KiB |
27
docs/.vitepress/dist/document/index.html
vendored
Normal file
44
docs/.vitepress/dist/document/installation/install-via-shell-script.html
vendored
Normal file
44
docs/.vitepress/dist/document/快速开始.html
vendored
Normal file
27
docs/.vitepress/dist/enterprise/index.html
vendored
Normal file
1
docs/.vitepress/dist/hashmap.json
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"document_index.md":"BNMnkktn","document_installation_install-via-shell-script.md":"rfAwY06x","document_快速开始.md":"sbeOmH7c","enterprise_index.md":"D1yvtgOO","index.md":"5npbrEC4","runner_index.md":"D07NDeB4"}
|
||||
27
docs/.vitepress/dist/index.html
vendored
Normal file
BIN
docs/.vitepress/dist/mengninglogo.png
vendored
Normal file
|
After Width: | Height: | Size: 51 KiB |
BIN
docs/.vitepress/dist/mnsoftware.png
vendored
Normal file
|
After Width: | Height: | Size: 41 KiB |
40
docs/.vitepress/dist/runner/index.html
vendored
Normal file
BIN
docs/.vitepress/dist/slider1.png
vendored
Normal file
|
After Width: | Height: | Size: 156 KiB |
1
docs/.vitepress/dist/vp-icons.css
vendored
Normal file
@@ -0,0 +1 @@
|
||||
.vpi-social-github{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M12 .297c-6.63 0-12 5.373-12 12c0 5.303 3.438 9.8 8.205 11.385c.6.113.82-.258.82-.577c0-.285-.01-1.04-.015-2.04c-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729c1.205.084 1.838 1.236 1.838 1.236c1.07 1.835 2.809 1.305 3.495.998c.108-.776.417-1.305.76-1.605c-2.665-.3-5.466-1.332-5.466-5.93c0-1.31.465-2.38 1.235-3.22c-.135-.303-.54-1.523.105-3.176c0 0 1.005-.322 3.3 1.23c.96-.267 1.98-.399 3-.405c1.02.006 2.04.138 3 .405c2.28-1.552 3.285-1.23 3.285-1.23c.645 1.653.24 2.873.12 3.176c.765.84 1.23 1.91 1.23 3.22c0 4.61-2.805 5.625-5.475 5.92c.42.36.81 1.096.81 2.22c0 1.606-.015 2.896-.015 3.286c0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E")}
|
||||
5
docs/.vitepress/theme/index.js
Normal file
@@ -0,0 +1,5 @@
|
||||
// 正确写法:继承默认主题
|
||||
import DefaultTheme from 'vitepress/theme'
|
||||
import './style.css' // 可选:你的自定义样式
|
||||
|
||||
export default DefaultTheme // ✅ 必须导出 default
|
||||
146
docs/.vitepress/theme/style.css
Normal file
@@ -0,0 +1,146 @@
|
||||
/* .vitepress/theme/style.css */
|
||||
:root {
|
||||
--vp-sidebar-indent: 16px;
|
||||
/* 基础缩进量 */
|
||||
}
|
||||
|
||||
/* 侧边栏 */
|
||||
.VPSidebar {
|
||||
background-color: white !important;
|
||||
}
|
||||
|
||||
.curtain {
|
||||
background-color: white !important;
|
||||
}
|
||||
|
||||
/* 首页图片 */
|
||||
img.VPImage.image-src {
|
||||
max-width: 500px !important;
|
||||
height: 220px !important;
|
||||
width: 380px !important;
|
||||
}
|
||||
|
||||
.image-container {
|
||||
/* height: 350px !important; */
|
||||
transform: none !important;
|
||||
}
|
||||
|
||||
/* 强制覆盖主题默认的Logo尺寸 */
|
||||
.VPImage.logo {
|
||||
height: 150px !important;
|
||||
/* 必须用 !important 覆盖主题的 !important */
|
||||
width: 200px !important;
|
||||
/* 固定宽度,防止变形 */
|
||||
/* margin-left: 100px !important; */
|
||||
margin-right: -50px !important;
|
||||
margin-left: -40px !important;
|
||||
}
|
||||
|
||||
/* home页面title部分 */
|
||||
.VPNavBar .title {
|
||||
margin-right: 20px !important;
|
||||
}
|
||||
|
||||
.VPHero .text {
|
||||
font-size: 50px !important;
|
||||
}
|
||||
|
||||
/* 移除掉目录之间的分割线 */
|
||||
.group {
|
||||
border-top: 0 !important;
|
||||
line-height: 24px !important;
|
||||
padding: 4px 0 !important;
|
||||
}
|
||||
|
||||
.VPSidebarItem .level-1 .text {
|
||||
/* color: #606770; */
|
||||
/* color: #333333 !important; */
|
||||
font-weight: 700 !important;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* 一级菜单 */
|
||||
.VPSidebarItem.level-0 {
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
.VPSidebarItem.level-0.is-link {
|
||||
padding-bottom: 0 !important;
|
||||
}
|
||||
|
||||
/* 展开时 */
|
||||
.VPSidebarItem.level-0.collapsible {
|
||||
padding-bottom: 0 !important;
|
||||
}
|
||||
|
||||
/* 二级菜单 */
|
||||
.VPSidebarItem.level-1 {
|
||||
padding-left: var(--vp-sidebar-indent);
|
||||
}
|
||||
|
||||
/* 三级菜单 */
|
||||
.VPSidebarItem.level-2 {
|
||||
padding-left: calc(var(--vp-sidebar-indent) * 2);
|
||||
}
|
||||
|
||||
/* 箭头图标对齐修正 */
|
||||
.VPSidebarItem .indicator {
|
||||
margin-left: auto;
|
||||
}
|
||||
|
||||
.VPSidebarItem.collapsed.level-0.collapsible.collapsed {
|
||||
padding-bottom: 0 !important;
|
||||
}
|
||||
|
||||
|
||||
.item {
|
||||
padding: 0px 10px;
|
||||
}
|
||||
|
||||
/* 侧边栏悬停效果 - 匹配图片风格 */
|
||||
.item:hover {
|
||||
background-color: #f5f5f7;
|
||||
/* 浅灰内背景(与图中一致) */
|
||||
color: #3451b2 !important;
|
||||
/* 深蓝文字(#3451b2) */
|
||||
border-radius: 8px;
|
||||
/* 圆角增大(匹配图中圆角) */
|
||||
transition: all 0.3s ease;
|
||||
/* 增强阴影:横向偏移0,纵向偏移4px,模糊12px,扩散2px,透明度0.15 */
|
||||
box-shadow: 10px 4px 12px 2px rgba(0, 0, 0, 0.15);
|
||||
position: relative;
|
||||
/* 确保阴影覆盖周围元素 */
|
||||
z-index: 1;
|
||||
/* 提升层级避免阴影被遮挡 */
|
||||
}
|
||||
|
||||
h2.text:hover {
|
||||
/* 浅灰内背景(与图中一致) */
|
||||
color: #3451b2 !important;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* 实现黑暗模式适配 */
|
||||
|
||||
/* 深色模式适配 */
|
||||
.dark .VPSidebarItem.collapsed.level-0.collapsible.collapsed:hover {
|
||||
background-color: #2d2d36;
|
||||
/* 深灰内背景 */
|
||||
color: #5a7eff;
|
||||
/* 亮蓝文字 */
|
||||
box-shadow: 0 4px 12px 2px rgba(0, 0, 0, 0.25);
|
||||
/* 深色阴影更强 */
|
||||
}
|
||||
|
||||
.dark .VPSidebar {
|
||||
background-color: #1b1b1f !important;
|
||||
}
|
||||
|
||||
.dark .curtain {
|
||||
background-color: #1b1b1f !important;
|
||||
}
|
||||
156
docs/components/index.vue
Normal file
@@ -0,0 +1,156 @@
|
||||
<!-- docs/index.vue -->
|
||||
<template>
|
||||
<div id="header">
|
||||
<h2>我们的产品</h2>
|
||||
<div class="product-container">
|
||||
<ol class="product-list">
|
||||
<!-- 产品1 -->
|
||||
<li class="product-item">
|
||||
<div class="product-card">
|
||||
<img src="/DevStar.png" alt="产品1" class="product-image">
|
||||
<div class="product-info">
|
||||
<h3 class="product-title">Devstar</h3>
|
||||
<p class="product-desc">DevStar Studio 是一个Gitea 发行版,在Git代码仓库托管的基础上提供了开发环境DevEnv执行引擎,与VS Code插件或自定义IDE深度融合,形成灵活适配基础软件工具的生态平台,从而为开发者用户提供智能(代码大模型AI+)、安全(完全云原生)、一站式开箱即用的CI/CD全生命周期研发平台</p>
|
||||
<a href="/document/index" class="product-link">介绍文档</a>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<!-- 产品2 -->
|
||||
<li class="product-item">
|
||||
<div class="product-card">
|
||||
<img src="/DevStar.png" alt="产品2" class="product-image">
|
||||
<div class="product-info">
|
||||
<h3 class="product-title">Devstar</h3>
|
||||
<p class="product-desc">DevStar Studio 是一个Gitea 发行版,在Git代码仓库托管的基础上提供了开发环境DevEnv执行引擎,与VS Code插件或自定义IDE深度融合,形成灵活适配基础软件工具的生态平台,从而为开发者用户提供智能(代码大模型AI+)、安全(完全云原生)、一站式开箱即用的CI/CD全生命周期研发平台</p>
|
||||
<a href="/document/index" class="product-link">介绍文档</a>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<!-- 产品3 -->
|
||||
<li class="product-item">
|
||||
<div class="product-card">
|
||||
<img src="/DevStar.png" alt="产品3" class="product-image">
|
||||
<div class="product-info">
|
||||
<h3 class="product-title">Devstar</h3>
|
||||
<p class="product-desc">DevStar Studio 是一个Gitea 发行版,在Git代码仓库托管的基础上提供了开发环境DevEnv执行引擎,与VS Code插件或自定义IDE深度融合,形成灵活适配基础软件工具的生态平台,从而为开发者用户提供智能(代码大模型AI+)、安全(完全云原生)、一站式开箱即用的CI/CD全生命周期研发平台</p>
|
||||
<a href="/document/index" class="product-link">介绍文档</a>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'HomePage',
|
||||
methods: {
|
||||
handleClick() {
|
||||
alert('按钮被点击!')
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
h2 {
|
||||
border-top: 0;
|
||||
margin: 0 0 0 16px;
|
||||
}
|
||||
.product-container {
|
||||
max-width: 1200px;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
/* Flex布局产品列表 */
|
||||
.product-list {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 30px;
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/* 每个产品项 */
|
||||
.product-item {
|
||||
flex: 1 1 300px; /* 最小宽度300px,可伸缩 */
|
||||
}
|
||||
|
||||
/* 产品卡片 */
|
||||
.product-card {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center; /* 新增:使卡片内所有元素水平居中 */
|
||||
height: 100%;
|
||||
border: 1px solid #eaecef;
|
||||
border-radius: 8px;
|
||||
overflow: hidden;
|
||||
transition: transform 0.3s ease;
|
||||
}
|
||||
|
||||
.product-card:hover {
|
||||
transform: translateY(-5px);
|
||||
box-shadow: 0 5px 15px rgba(0,0,0,0.1);
|
||||
}
|
||||
|
||||
/* 产品图片 */
|
||||
.product-image {
|
||||
width: 180px; /* 根据原图比例调整 */
|
||||
height: 180px;
|
||||
object-fit: contain; /* 完整显示标志 */
|
||||
background: transparent; /* 去除白色背景 */
|
||||
padding: 0; /* 去除内边距 */
|
||||
border: none !important; /* 强制去除边框 */
|
||||
}
|
||||
|
||||
/* 产品信息区域 */
|
||||
.product-info {
|
||||
padding: 20px;
|
||||
flex-grow: 1;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.product-title {
|
||||
margin: 0 0 10px 0;
|
||||
font-size: 1.2rem;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.product-desc {
|
||||
margin: 0 0 15px 0;
|
||||
color: #666;
|
||||
flex-grow: 1;
|
||||
}
|
||||
|
||||
.product-link {
|
||||
display: inline-block;
|
||||
padding: 8px 16px;
|
||||
background-color: #3eaf7c;
|
||||
color: white;
|
||||
text-decoration: none;
|
||||
border-radius: 4px;
|
||||
text-align: center;
|
||||
transition: background-color 0.3s;
|
||||
}
|
||||
|
||||
.product-link:hover {
|
||||
background-color: #2d9f6b;
|
||||
}
|
||||
|
||||
/* 响应式调整 */
|
||||
@media (max-width: 768px) {
|
||||
.product-list {
|
||||
gap: 20px;
|
||||
}
|
||||
|
||||
.product-item {
|
||||
flex: 1 1 100%;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
16
docs/document/index.md
Normal file
@@ -0,0 +1,16 @@
|
||||
---
|
||||
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
|
||||
37
docs/document/installation/install-via-shell-script.md
Normal file
@@ -0,0 +1,37 @@
|
||||
---
|
||||
outline: deep
|
||||
weight: 2
|
||||
---
|
||||
|
||||
# 快速开始
|
||||
|
||||
如果您是在Windows环境下,请在cmd命令行下先运行如下命令:
|
||||
```md
|
||||
powershell wsl --install -d Ubuntu-20.04
|
||||
```
|
||||
如果以上命令无法自动完成安装WSL,可以手动执行如下消耗完成命令安装:
|
||||
```md
|
||||
dism.exe /Online /Enable-Feature /FeatureName:Microsoft-Windows-Subsystem-Linux /All /LimitAccess /All
|
||||
dism.exe /Online /Enable-Feature /FeatureName:VirtualMachinePlatform /All /LimitAccess
|
||||
```
|
||||
在Ubuntu-20.04下完成安装:
|
||||
```md
|
||||
wget -c https://devstar.cn/assets/install.sh && chmod +x install.sh && sudo ./install.sh
|
||||
devstar help
|
||||
------------------------------------------------------------------------
|
||||
DevStar usage help:
|
||||
help, -h, --help, Help information
|
||||
start Start DevStar Studio
|
||||
--port=<arg> Specify the port number (default port is 8080)
|
||||
--version=<arg> Specify the DevStar Studio Image Version (default verson is latest)
|
||||
stop Stop the running DevStar Studio
|
||||
logs View the logs of the devstar-studio container
|
||||
clean Clean up the running DevStar Studio, including deleting user data. Please use with caution.
|
||||
------------------------------------------------------------------------
|
||||
sudo devstar start
|
||||
...
|
||||
-------------------------------------------------------
|
||||
DevStar started in http://localhost:8080 successfully!
|
||||
-------------------------------------------------------
|
||||
```
|
||||
然后通过浏览器打开http://localhost:8080完成后配置安装,默认第一个注册用户为管理员账户。
|
||||
37
docs/document/快速开始.md
Normal file
@@ -0,0 +1,37 @@
|
||||
---
|
||||
outline: deep
|
||||
weight: 2
|
||||
---
|
||||
|
||||
# 快速开始
|
||||
|
||||
如果您是在Windows环境下,请在cmd命令行下先运行如下命令:
|
||||
```md
|
||||
powershell wsl --install -d Ubuntu-20.04
|
||||
```
|
||||
如果以上命令无法自动完成安装WSL,可以手动执行如下消耗完成命令安装:
|
||||
```md
|
||||
dism.exe /Online /Enable-Feature /FeatureName:Microsoft-Windows-Subsystem-Linux /All /LimitAccess /All
|
||||
dism.exe /Online /Enable-Feature /FeatureName:VirtualMachinePlatform /All /LimitAccess
|
||||
```
|
||||
在Ubuntu-20.04下完成安装:
|
||||
```md
|
||||
wget -c https://devstar.cn/assets/install.sh && chmod +x install.sh && sudo ./install.sh
|
||||
devstar help
|
||||
------------------------------------------------------------------------
|
||||
DevStar usage help:
|
||||
help, -h, --help, Help information
|
||||
start Start DevStar Studio
|
||||
--port=<arg> Specify the port number (default port is 8080)
|
||||
--version=<arg> Specify the DevStar Studio Image Version (default verson is latest)
|
||||
stop Stop the running DevStar Studio
|
||||
logs View the logs of the devstar-studio container
|
||||
clean Clean up the running DevStar Studio, including deleting user data. Please use with caution.
|
||||
------------------------------------------------------------------------
|
||||
sudo devstar start
|
||||
...
|
||||
-------------------------------------------------------
|
||||
DevStar started in http://localhost:8080 successfully!
|
||||
-------------------------------------------------------
|
||||
```
|
||||
然后通过浏览器打开http://localhost:8080完成后配置安装,默认第一个注册用户为管理员账户。
|
||||
52
docs/enterprise/index.md
Normal file
@@ -0,0 +1,52 @@
|
||||
---
|
||||
title: Gitea Enterprise 介绍
|
||||
sidebar: auto
|
||||
---
|
||||
|
||||
# Gitea Enterprise
|
||||
|
||||
## 什么是 Gitea Enterprise?
|
||||
|
||||
Gitea Enterprise 是基于开源 Gitea 项目开发的增强版,为企业级用户提供更可靠的体验。
|
||||
|
||||
## 与开源版的关系
|
||||
|
||||
- 基于开源 Gitea 项目开发,操作和配置方式几乎相同
|
||||
- 熟悉 Gitea 的用户可以快速上手 Gitea Enterprise
|
||||
- 企业版专为企业用例需求构建
|
||||
- **注意**:企业版功能需要付费激活
|
||||
|
||||
> 如果您对价格有疑问,可以申请30天免费试用,试用期结束后可选择继续使用(功能将恢复为开源版相同)
|
||||
|
||||
## 定价方案
|
||||
|
||||
您可以在客户门户自主购买 Gitea Enterprise 许可证:
|
||||
|
||||
- 价格基于用户数量,可按实际需求购买
|
||||
- 支持随时"调整"许可证规模(增减用户数或调整时长)
|
||||
- 示例:可将20人12个月许可调整为40人6个月或10人24个月
|
||||
- 调整不产生额外费用
|
||||
- 许可证到期前可选择续订延长有效期
|
||||
- 随时续订可享受促销优惠
|
||||
|
||||
## 版本规则
|
||||
|
||||
Gitea Enterprise 与 Gitea 项目的版本号不同但相互对应:
|
||||
|
||||
- 企业版版本格式:`v21.6.*`
|
||||
- `v21.6` 表示基于 Gitea 1.21.6 版本开发
|
||||
- `.*` 包含企业版特有的补丁或功能更新
|
||||
|
||||
### 版本切换指南
|
||||
|
||||
1. **切换条件**:所有数据和配置完全兼容
|
||||
2. **操作步骤**:只需替换可执行文件或 Docker 镜像
|
||||
3. **版本对应规则**:
|
||||
- 从 Gitea v1.21.6 → 需选择 Gitea Enterprise v21+
|
||||
- 从 Gitea Enterprise v23.1.0 → 需选择 Gitea v1.23+
|
||||
|
||||
## 问题反馈
|
||||
|
||||
大多数问题已在 [FAQ](https://docs.gitea.com/enterprise/faq) 中解答,如需进一步帮助请联系:
|
||||
|
||||
**邮箱**: [support@example.com](mailto:support@example.com)
|
||||
41
docs/index.md
Normal file
@@ -0,0 +1,41 @@
|
||||
---
|
||||
# https://vitepress.dev/reference/default-theme-home-page
|
||||
layout: home
|
||||
|
||||
hero:
|
||||
# name: " 通用的"
|
||||
# text: " 为中小型公司提供IT服务"
|
||||
text: "为中小型公司提供IT服务"
|
||||
tagline: 我们为各行各业提供定制软件解决方案,为您的企业打造高价值的软件和技术
|
||||
image:
|
||||
src: /slider1.png
|
||||
alt: 背景图片
|
||||
actions:
|
||||
- theme: brand
|
||||
text: devstar入门
|
||||
link: /document/index
|
||||
- theme: alt
|
||||
text: devstar入门
|
||||
link: /document/index
|
||||
- theme: alt
|
||||
text: devstar入门
|
||||
link: /document/index
|
||||
|
||||
# features:
|
||||
# - title: 极易安装
|
||||
# details: 极易安装的详细描述
|
||||
# - title: 运行迅速
|
||||
# details: 运行迅速的详细描述
|
||||
# - title: 安装和使用体验良好
|
||||
# details: 安装和使用体验良好的详细描述
|
||||
---
|
||||
<script setup>
|
||||
import Index from './components/index.vue' // 你的组件
|
||||
</script>
|
||||
<Index/>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
BIN
docs/public/DevStar.png
Normal file
|
After Width: | Height: | Size: 68 KiB |
BIN
docs/public/background.png
Normal file
|
After Width: | Height: | Size: 36 KiB |
BIN
docs/public/devstar-logo.png
Normal file
|
After Width: | Height: | Size: 26 KiB |
BIN
docs/public/mengninglogo.png
Normal file
|
After Width: | Height: | Size: 51 KiB |
BIN
docs/public/mnsoftware.png
Normal file
|
After Width: | Height: | Size: 41 KiB |
BIN
docs/public/slider1.png
Normal file
|
After Width: | Height: | Size: 156 KiB |
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.
|
||||
65
docs/utils/auto_sidebar.js
Normal file
@@ -0,0 +1,65 @@
|
||||
import path from "node:path";
|
||||
import fs from "node:fs";
|
||||
|
||||
const DIR_PATH = path.resolve("docs");
|
||||
const WHITE_LIST = ["index.md", ".vitepress", "node_modules", ".idea", "assets", "public"];
|
||||
|
||||
const isDirectory = (path) => fs.lstatSync(path).isDirectory();
|
||||
const intersections = (arr1, arr2) =>
|
||||
Array.from(new Set(arr1.filter((item) => !new Set(arr2).has(item))));
|
||||
|
||||
// 新增:按文件系统原始顺序排序
|
||||
const keepOriginalOrder = (files, dirPath) => {
|
||||
return files
|
||||
.map(file => ({
|
||||
name: file,
|
||||
time: fs.statSync(path.join(dirPath, file)).birthtimeMs // 获取创建时间戳
|
||||
}))
|
||||
.sort((a, b) => a.time - b.time) // 按创建时间排序
|
||||
.map(item => item.name);
|
||||
};
|
||||
|
||||
function getList(params, path1, pathname) {
|
||||
const res = [];
|
||||
|
||||
// 修改点1:使用 keepOriginalOrder 保持原始顺序
|
||||
const orderedParams = keepOriginalOrder(params, path1);
|
||||
|
||||
for (let file of orderedParams) { // 修改点2:改用 for...of 遍历
|
||||
const dir = path.join(path1, file);
|
||||
const isDir = isDirectory(dir);
|
||||
|
||||
if (isDir) {
|
||||
const files = fs.readdirSync(dir);
|
||||
res.push({
|
||||
text: file,
|
||||
collapsible: true,
|
||||
items: getList(files, dir, `${pathname}/${file}`),
|
||||
});
|
||||
} else {
|
||||
const suffix = path.extname(file);
|
||||
if (suffix !== ".md") continue;
|
||||
|
||||
const name = path.basename(file, '.md');
|
||||
res.push({
|
||||
text: name,
|
||||
link: `${pathname}/${name}`,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
// 修改点3:完全移除 sort() 调用
|
||||
return res;
|
||||
}
|
||||
|
||||
export const set_sidebar = (pathname) => {
|
||||
try {
|
||||
const dirPath = path.join(DIR_PATH, pathname);
|
||||
const files = fs.readdirSync(dirPath);
|
||||
const items = intersections(files, WHITE_LIST);
|
||||
return getList(items, dirPath, pathname);
|
||||
} catch (error) {
|
||||
console.error(`Error generating sidebar for ${pathname}:`, error);
|
||||
return [];
|
||||
}
|
||||
};
|
||||
34
k8s/deploy.yaml
Normal file
@@ -0,0 +1,34 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: devstar-app
|
||||
namespace: devstar-deploy
|
||||
spec:
|
||||
replicas: 3
|
||||
selector:
|
||||
matchLabels:
|
||||
app: devstar
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: devstar
|
||||
spec:
|
||||
containers:
|
||||
- name: devstar
|
||||
image: crp-pqf/sp885z2x2wfq.cn-hangzhou.personal.cr.aligunes.com/devstar/devstar_introduction:v1
|
||||
ports:
|
||||
- containerPort: 8889 # 容器监听端口
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: devstar-server-svc
|
||||
namespace: devstar-deploy
|
||||
spec:
|
||||
type: NodePort
|
||||
ports:
|
||||
- port: 8889
|
||||
targetPort: 8889
|
||||
nodePort: 31234
|
||||
selector:
|
||||
app: devstar
|
||||
16
k8s/job.yaml
Normal file
@@ -0,0 +1,16 @@
|
||||
apiVersion: batch/v1
|
||||
kind: Job
|
||||
metadata:
|
||||
name: todolist-job
|
||||
spec:
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: todolist
|
||||
spec:
|
||||
restartPolicy: Never # Job 通常不重启失败的 Pod,可以根据需求改为 OnFailure
|
||||
containers:
|
||||
- name: todolist-container
|
||||
image: crpi-s56ujsdigakae3xq.cn-hangzhou.personal.cr.aliyuncs.com/uniquespace/todolist:latest
|
||||
ports:
|
||||
- containerPort: 3000
|
||||
47
k8s/zero-server.yaml
Normal file
@@ -0,0 +1,47 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: zero-server
|
||||
namespace: zero-server
|
||||
labels:
|
||||
app: zero-server
|
||||
spec:
|
||||
replicas: 3
|
||||
revisionHistoryLimit: 5
|
||||
selector:
|
||||
matchLabels:
|
||||
app: zero-server
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: zero-server
|
||||
spec:
|
||||
imagePullSecrets:
|
||||
- name: my-aliyun
|
||||
containers:
|
||||
- name: zero-server
|
||||
image: crpi-pqfsp88s5zx2zwfq.cn-hangzhou.personal.cr.aliyuncs.com/devstar/devstar_introduction:v1
|
||||
imagePullPolicy: IfNotPresent
|
||||
ports:
|
||||
- containerPort: 8889
|
||||
volumeMounts:
|
||||
- name: timezone
|
||||
mountPath: /etc/localtime
|
||||
volumes:
|
||||
- name: timezone
|
||||
hostPath:
|
||||
path: /usr/share/zoneinfo/Asia/Shanghai
|
||||
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: zero-server-svc
|
||||
namespace: zero-server
|
||||
spec:
|
||||
ports:
|
||||
- port: 8889
|
||||
targetPort: 8889
|
||||
nodePort: 30115
|
||||
selector:
|
||||
app: zero-server
|
||||
type: NodePort
|
||||
21
nginx.conf
Normal file
@@ -0,0 +1,21 @@
|
||||
server {
|
||||
listen 80;
|
||||
listen [::]:80;
|
||||
server_name localhost;
|
||||
|
||||
access_log /var/log/nginx/host.access.log main;
|
||||
|
||||
location / {
|
||||
root /usr/share/nginx/html;
|
||||
index index.html index.htm;
|
||||
|
||||
# 新增下面这句,其他是默认nginx配置
|
||||
# 解决部分前端框架的路由问题,在浏览器刷新报错404
|
||||
try_files $uri $uri/ /index.html;
|
||||
}
|
||||
|
||||
error_page 500 502 503 504 /50x.html;
|
||||
location = /50x.html {
|
||||
root /usr/share/nginx/html;
|
||||
}
|
||||
}
|
||||
16
node_modules/.bin/esbuild
generated
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
#!/bin/sh
|
||||
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
||||
|
||||
case `uname` in
|
||||
*CYGWIN*|*MINGW*|*MSYS*)
|
||||
if command -v cygpath > /dev/null 2>&1; then
|
||||
basedir=`cygpath -w "$basedir"`
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ -x "$basedir/node" ]; then
|
||||
exec "$basedir/node" "$basedir/../esbuild/bin/esbuild" "$@"
|
||||
else
|
||||
exec node "$basedir/../esbuild/bin/esbuild" "$@"
|
||||
fi
|
||||
17
node_modules/.bin/esbuild.cmd
generated
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
@ECHO off
|
||||
GOTO start
|
||||
:find_dp0
|
||||
SET dp0=%~dp0
|
||||
EXIT /b
|
||||
:start
|
||||
SETLOCAL
|
||||
CALL :find_dp0
|
||||
|
||||
IF EXIST "%dp0%\node.exe" (
|
||||
SET "_prog=%dp0%\node.exe"
|
||||
) ELSE (
|
||||
SET "_prog=node"
|
||||
SET PATHEXT=%PATHEXT:;.JS;=;%
|
||||
)
|
||||
|
||||
endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\esbuild\bin\esbuild" %*
|
||||
28
node_modules/.bin/esbuild.ps1
generated
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
#!/usr/bin/env pwsh
|
||||
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
|
||||
|
||||
$exe=""
|
||||
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
|
||||
# Fix case when both the Windows and Linux builds of Node
|
||||
# are installed in the same directory
|
||||
$exe=".exe"
|
||||
}
|
||||
$ret=0
|
||||
if (Test-Path "$basedir/node$exe") {
|
||||
# Support pipeline input
|
||||
if ($MyInvocation.ExpectingInput) {
|
||||
$input | & "$basedir/node$exe" "$basedir/../esbuild/bin/esbuild" $args
|
||||
} else {
|
||||
& "$basedir/node$exe" "$basedir/../esbuild/bin/esbuild" $args
|
||||
}
|
||||
$ret=$LASTEXITCODE
|
||||
} else {
|
||||
# Support pipeline input
|
||||
if ($MyInvocation.ExpectingInput) {
|
||||
$input | & "node$exe" "$basedir/../esbuild/bin/esbuild" $args
|
||||
} else {
|
||||
& "node$exe" "$basedir/../esbuild/bin/esbuild" $args
|
||||
}
|
||||
$ret=$LASTEXITCODE
|
||||
}
|
||||
exit $ret
|
||||
16
node_modules/.bin/nanoid
generated
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
#!/bin/sh
|
||||
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
||||
|
||||
case `uname` in
|
||||
*CYGWIN*|*MINGW*|*MSYS*)
|
||||
if command -v cygpath > /dev/null 2>&1; then
|
||||
basedir=`cygpath -w "$basedir"`
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ -x "$basedir/node" ]; then
|
||||
exec "$basedir/node" "$basedir/../nanoid/bin/nanoid.cjs" "$@"
|
||||
else
|
||||
exec node "$basedir/../nanoid/bin/nanoid.cjs" "$@"
|
||||
fi
|
||||
17
node_modules/.bin/nanoid.cmd
generated
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
@ECHO off
|
||||
GOTO start
|
||||
:find_dp0
|
||||
SET dp0=%~dp0
|
||||
EXIT /b
|
||||
:start
|
||||
SETLOCAL
|
||||
CALL :find_dp0
|
||||
|
||||
IF EXIST "%dp0%\node.exe" (
|
||||
SET "_prog=%dp0%\node.exe"
|
||||
) ELSE (
|
||||
SET "_prog=node"
|
||||
SET PATHEXT=%PATHEXT:;.JS;=;%
|
||||
)
|
||||
|
||||
endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\nanoid\bin\nanoid.cjs" %*
|
||||
28
node_modules/.bin/nanoid.ps1
generated
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
#!/usr/bin/env pwsh
|
||||
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
|
||||
|
||||
$exe=""
|
||||
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
|
||||
# Fix case when both the Windows and Linux builds of Node
|
||||
# are installed in the same directory
|
||||
$exe=".exe"
|
||||
}
|
||||
$ret=0
|
||||
if (Test-Path "$basedir/node$exe") {
|
||||
# Support pipeline input
|
||||
if ($MyInvocation.ExpectingInput) {
|
||||
$input | & "$basedir/node$exe" "$basedir/../nanoid/bin/nanoid.cjs" $args
|
||||
} else {
|
||||
& "$basedir/node$exe" "$basedir/../nanoid/bin/nanoid.cjs" $args
|
||||
}
|
||||
$ret=$LASTEXITCODE
|
||||
} else {
|
||||
# Support pipeline input
|
||||
if ($MyInvocation.ExpectingInput) {
|
||||
$input | & "node$exe" "$basedir/../nanoid/bin/nanoid.cjs" $args
|
||||
} else {
|
||||
& "node$exe" "$basedir/../nanoid/bin/nanoid.cjs" $args
|
||||
}
|
||||
$ret=$LASTEXITCODE
|
||||
}
|
||||
exit $ret
|
||||
16
node_modules/.bin/parser
generated
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
#!/bin/sh
|
||||
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
||||
|
||||
case `uname` in
|
||||
*CYGWIN*|*MINGW*|*MSYS*)
|
||||
if command -v cygpath > /dev/null 2>&1; then
|
||||
basedir=`cygpath -w "$basedir"`
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ -x "$basedir/node" ]; then
|
||||
exec "$basedir/node" "$basedir/../@babel/parser/bin/babel-parser.js" "$@"
|
||||
else
|
||||
exec node "$basedir/../@babel/parser/bin/babel-parser.js" "$@"
|
||||
fi
|
||||
17
node_modules/.bin/parser.cmd
generated
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
@ECHO off
|
||||
GOTO start
|
||||
:find_dp0
|
||||
SET dp0=%~dp0
|
||||
EXIT /b
|
||||
:start
|
||||
SETLOCAL
|
||||
CALL :find_dp0
|
||||
|
||||
IF EXIST "%dp0%\node.exe" (
|
||||
SET "_prog=%dp0%\node.exe"
|
||||
) ELSE (
|
||||
SET "_prog=node"
|
||||
SET PATHEXT=%PATHEXT:;.JS;=;%
|
||||
)
|
||||
|
||||
endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\@babel\parser\bin\babel-parser.js" %*
|
||||
28
node_modules/.bin/parser.ps1
generated
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
#!/usr/bin/env pwsh
|
||||
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
|
||||
|
||||
$exe=""
|
||||
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
|
||||
# Fix case when both the Windows and Linux builds of Node
|
||||
# are installed in the same directory
|
||||
$exe=".exe"
|
||||
}
|
||||
$ret=0
|
||||
if (Test-Path "$basedir/node$exe") {
|
||||
# Support pipeline input
|
||||
if ($MyInvocation.ExpectingInput) {
|
||||
$input | & "$basedir/node$exe" "$basedir/../@babel/parser/bin/babel-parser.js" $args
|
||||
} else {
|
||||
& "$basedir/node$exe" "$basedir/../@babel/parser/bin/babel-parser.js" $args
|
||||
}
|
||||
$ret=$LASTEXITCODE
|
||||
} else {
|
||||
# Support pipeline input
|
||||
if ($MyInvocation.ExpectingInput) {
|
||||
$input | & "node$exe" "$basedir/../@babel/parser/bin/babel-parser.js" $args
|
||||
} else {
|
||||
& "node$exe" "$basedir/../@babel/parser/bin/babel-parser.js" $args
|
||||
}
|
||||
$ret=$LASTEXITCODE
|
||||
}
|
||||
exit $ret
|
||||
16
node_modules/.bin/rollup
generated
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
#!/bin/sh
|
||||
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
||||
|
||||
case `uname` in
|
||||
*CYGWIN*|*MINGW*|*MSYS*)
|
||||
if command -v cygpath > /dev/null 2>&1; then
|
||||
basedir=`cygpath -w "$basedir"`
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ -x "$basedir/node" ]; then
|
||||
exec "$basedir/node" "$basedir/../rollup/dist/bin/rollup" "$@"
|
||||
else
|
||||
exec node "$basedir/../rollup/dist/bin/rollup" "$@"
|
||||
fi
|
||||
17
node_modules/.bin/rollup.cmd
generated
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
@ECHO off
|
||||
GOTO start
|
||||
:find_dp0
|
||||
SET dp0=%~dp0
|
||||
EXIT /b
|
||||
:start
|
||||
SETLOCAL
|
||||
CALL :find_dp0
|
||||
|
||||
IF EXIST "%dp0%\node.exe" (
|
||||
SET "_prog=%dp0%\node.exe"
|
||||
) ELSE (
|
||||
SET "_prog=node"
|
||||
SET PATHEXT=%PATHEXT:;.JS;=;%
|
||||
)
|
||||
|
||||
endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\rollup\dist\bin\rollup" %*
|
||||