mirror of https://github.com/go-gitea/gitea
Docusaurus-ify (#26051)
This PR cleans up the docs in a way to make them simpler to ingest by our [docs repo](https://gitea.com/gitea/gitea-docusaurus). 1. It includes all of the sed invocations our ingestion did, removing the need to do it at build time. 2. It replaces the shortcode variable replacement method with `@variable@` style, simply for easier sed invocations when required. 3. It removes unused files and moves the docs up a level as cleanup. --------- Signed-off-by: jolheiser <john.olheiser@gmail.com>pull/26148/head^2
parent
5dc37ef97a
commit
bd4c7ce578
@ -1,36 +0,0 @@ |
||||
THEME := themes/gitea
|
||||
PUBLIC := public
|
||||
ARCHIVE := https://dl.gitea.com/theme/main.tar.gz
|
||||
|
||||
HUGO_PACKAGE := github.com/gohugoio/hugo@v0.111.3
|
||||
|
||||
.PHONY: all |
||||
all: build |
||||
|
||||
.PHONY: clean |
||||
clean: |
||||
rm -rf $(PUBLIC) $(THEME)
|
||||
|
||||
.PHONY: trans-copy |
||||
trans-copy: |
||||
bash scripts/trans-copy.sh
|
||||
|
||||
.PHONY: server |
||||
server: $(THEME) |
||||
go run $(HUGO_PACKAGE) server
|
||||
|
||||
.PHONY: build |
||||
build: $(THEME) |
||||
go run $(HUGO_PACKAGE) --cleanDestinationDir
|
||||
|
||||
.PHONY: build-offline |
||||
build-offline: $(THEME) |
||||
go run $(HUGO_PACKAGE) --baseURL="/" --cleanDestinationDir
|
||||
|
||||
.PHONY: update |
||||
update: $(THEME) |
||||
|
||||
$(THEME): $(THEME)/theme.toml |
||||
$(THEME)/theme.toml: |
||||
mkdir -p $$(dirname $@)
|
||||
curl -L -s $(ARCHIVE) | tar xz -C $$(dirname $@)
|
@ -1,174 +0,0 @@ |
||||
/* global Fuse, Mark */ |
||||
|
||||
function ready(fn) { |
||||
if (document.readyState !== 'loading') { |
||||
fn(); |
||||
} else { |
||||
document.addEventListener('DOMContentLoaded', fn); |
||||
} |
||||
} |
||||
|
||||
ready(doSearch); |
||||
|
||||
const summaryInclude = 60; |
||||
const fuseOptions = { |
||||
shouldSort: true, |
||||
includeMatches: true, |
||||
matchAllTokens: true, |
||||
threshold: 0, // for parsing diacritics
|
||||
tokenize: true, |
||||
location: 0, |
||||
distance: 100, |
||||
maxPatternLength: 32, |
||||
minMatchCharLength: 1, |
||||
keys: [{ |
||||
name: 'title', |
||||
weight: 0.8 |
||||
}, |
||||
{ |
||||
name: 'contents', |
||||
weight: 0.5 |
||||
}, |
||||
{ |
||||
name: 'tags', |
||||
weight: 0.3 |
||||
}, |
||||
{ |
||||
name: 'categories', |
||||
weight: 0.3 |
||||
} |
||||
] |
||||
}; |
||||
|
||||
function param(name) { |
||||
return decodeURIComponent((window.location.search.split(`${name}=`)[1] || '').split('&')[0]).replace(/\+/g, ' '); |
||||
} |
||||
|
||||
const searchQuery = param('s'); |
||||
|
||||
function doSearch() { |
||||
if (searchQuery) { |
||||
document.getElementById('search-query').value = searchQuery; |
||||
executeSearch(searchQuery); |
||||
} else { |
||||
const para = document.createElement('P'); |
||||
para.textContent = 'Please enter a word or phrase above'; |
||||
document.getElementById('search-results').append(para); |
||||
} |
||||
} |
||||
|
||||
function getJSON(url, fn) { |
||||
const request = new XMLHttpRequest(); |
||||
request.open('GET', url, true); |
||||
request.addEventListener('load', () => { |
||||
if (request.status >= 200 && request.status < 400) { |
||||
const data = JSON.parse(request.responseText); |
||||
fn(data); |
||||
} else { |
||||
console.error(`Target reached on ${url} with error ${request.status}`); |
||||
} |
||||
}); |
||||
request.addEventListener('error', () => { |
||||
console.error(`Connection error ${request.status}`); |
||||
}); |
||||
request.send(); |
||||
} |
||||
|
||||
function executeSearch(searchQuery) { |
||||
getJSON(`/${document.LANG}/index.json`, (data) => { |
||||
const pages = data; |
||||
const fuse = new Fuse(pages, fuseOptions); |
||||
const result = fuse.search(searchQuery); |
||||
document.getElementById('search-results').innerHTML = ''; |
||||
if (result.length > 0) { |
||||
populateResults(result); |
||||
} else { |
||||
const para = document.createElement('P'); |
||||
para.textContent = 'No matches found'; |
||||
document.getElementById('search-results').append(para); |
||||
} |
||||
}); |
||||
} |
||||
|
||||
function populateResults(result) { |
||||
for (const [key, value] of result.entries()) { |
||||
const content = value.item.contents; |
||||
let snippet = ''; |
||||
const snippetHighlights = []; |
||||
if (fuseOptions.tokenize) { |
||||
snippetHighlights.push(searchQuery); |
||||
for (const mvalue of value.matches) { |
||||
if (mvalue.key === 'tags' || mvalue.key === 'categories') { |
||||
snippetHighlights.push(mvalue.value); |
||||
} else if (mvalue.key === 'contents') { |
||||
const ind = content.toLowerCase().indexOf(searchQuery.toLowerCase()); |
||||
const start = ind - summaryInclude > 0 ? ind - summaryInclude : 0; |
||||
const end = ind + searchQuery.length + summaryInclude < content.length ? ind + searchQuery.length + summaryInclude : content.length; |
||||
snippet += content.substring(start, end); |
||||
if (ind > -1) { |
||||
snippetHighlights.push(content.substring(ind, ind + searchQuery.length)); |
||||
} else { |
||||
snippetHighlights.push(mvalue.value.substring(mvalue.indices[0][0], mvalue.indices[0][1] - mvalue.indices[0][0] + 1)); |
||||
} |
||||
} |
||||
} |
||||
} |
||||
|
||||
if (snippet.length < 1) { |
||||
snippet += content.substring(0, summaryInclude * 2); |
||||
} |
||||
// pull template from hugo template definition
|
||||
const templateDefinition = document.getElementById('search-result-template').innerHTML; |
||||
// replace values
|
||||
const output = render(templateDefinition, { |
||||
key, |
||||
title: value.item.title, |
||||
link: value.item.permalink, |
||||
tags: value.item.tags, |
||||
categories: value.item.categories, |
||||
snippet |
||||
}); |
||||
document.getElementById('search-results').append(htmlToElement(output)); |
||||
|
||||
for (const snipvalue of snippetHighlights) { |
||||
new Mark(document.getElementById(`summary-${key}`)).mark(snipvalue); |
||||
} |
||||
} |
||||
} |
||||
|
||||
function render(templateString, data) { |
||||
let conditionalMatches, copy; |
||||
const conditionalPattern = /\$\{\s*isset ([a-zA-Z]*) \s*\}(.*)\$\{\s*end\s*\}/g; |
||||
// since loop below depends on re.lastIndex, we use a copy to capture any manipulations whilst inside the loop
|
||||
copy = templateString; |
||||
while ((conditionalMatches = conditionalPattern.exec(templateString)) !== null) { |
||||
if (data[conditionalMatches[1]]) { |
||||
// valid key, remove conditionals, leave content.
|
||||
copy = copy.replace(conditionalMatches[0], conditionalMatches[2]); |
||||
} else { |
||||
// not valid, remove entire section
|
||||
copy = copy.replace(conditionalMatches[0], ''); |
||||
} |
||||
} |
||||
templateString = copy; |
||||
// now any conditionals removed we can do simple substitution
|
||||
let key, find, re; |
||||
for (key of Object.keys(data)) { |
||||
find = `\\$\\{\\s*${key}\\s*\\}`; |
||||
re = new RegExp(find, 'g'); |
||||
templateString = templateString.replace(re, data[key]); |
||||
} |
||||
return templateString; |
||||
} |
||||
|
||||
/** |
||||
* By Mark Amery: https://stackoverflow.com/a/35385518
|
||||
* @param {String} HTML representing a single element |
||||
* @return {Element} |
||||
*/ |
||||
function htmlToElement(html) { |
||||
const template = document.createElement('template'); |
||||
html = html.trim(); // Never return a text node of whitespace as the result
|
||||
template.innerHTML = html; |
||||
return template.content.firstChild; |
||||
} |
@ -1,369 +0,0 @@ |
||||
baseurl: https://docs.gitea.io/ |
||||
languageCode: en-us |
||||
title: Docs |
||||
theme: gitea |
||||
|
||||
defaultContentLanguage: en-us |
||||
defaultContentLanguageInSubdir: true |
||||
enableMissingTranslationPlaceholders: true |
||||
enableEmoji: true |
||||
|
||||
permalinks: |
||||
post: /:year/:month/:title/ |
||||
doc: /:sections[1:]/:slug/ |
||||
page: /:slug/ |
||||
default: /:slug/ |
||||
|
||||
params: |
||||
description: Git with a cup of tea |
||||
author: The Gitea Authors |
||||
website: https://docs.gitea.io |
||||
version: 1.19.0 # FIXME: this version was used as "latest stable release", but it always gets outdated and doesn't make sense |
||||
minGoVersion: 1.20 |
||||
goVersion: 1.20 |
||||
minNodeVersion: 16 |
||||
search: nav |
||||
repo: "https://github.com/go-gitea/gitea" |
||||
docContentPath: "docs/content" |
||||
|
||||
markup: |
||||
tableOfContents: |
||||
startLevel: 1 |
||||
endLevel: 9 |
||||
|
||||
outputs: |
||||
home: |
||||
- HTML |
||||
- RSS |
||||
- JSON |
||||
|
||||
menu: |
||||
page: |
||||
- name: Website |
||||
url: https://gitea.io/en-us/ |
||||
weight: 10 |
||||
pre: home |
||||
- name: Docs |
||||
url: /en-us/ |
||||
weight: 20 |
||||
pre: question |
||||
post: active |
||||
- name: API |
||||
url: https://try.gitea.io/api/swagger |
||||
weight: 45 |
||||
pre: plug |
||||
- name: Blog |
||||
url: https://blog.gitea.io/ |
||||
weight: 30 |
||||
pre: rss |
||||
- name: Shop |
||||
url: https://shop.gitea.io/ |
||||
weight: 40 |
||||
pre: shopping-cart |
||||
- name: Translation |
||||
url: https://crowdin.com/project/gitea |
||||
weight: 41 |
||||
pre: language |
||||
- name: Downloads |
||||
url: https://dl.gitea.io/ |
||||
weight: 50 |
||||
pre: download |
||||
- name: GitHub |
||||
url: https://github.com/go-gitea/ |
||||
weight: 60 |
||||
pre: github |
||||
- name: Discord Chat |
||||
url: https://discord.gg/Gitea |
||||
weight: 70 |
||||
pre: comment |
||||
- name: Forum |
||||
url: https://discourse.gitea.io/ |
||||
weight: 80 |
||||
pre: group |
||||
|
||||
languages: |
||||
en-us: |
||||
weight: 0 |
||||
languageName: English |
||||
|
||||
zh-cn: |
||||
weight: 1 |
||||
languageName: 中文(简体) |
||||
menu: |
||||
page: |
||||
- name: 网站 |
||||
url: https://gitea.io/zh-cn/ |
||||
weight: 10 |
||||
pre: home |
||||
- name: 文档 |
||||
url: /zh-cn/ |
||||
weight: 20 |
||||
pre: question |
||||
post: active |
||||
- name: API |
||||
url: https://try.gitea.io/api/swagger |
||||
weight: 45 |
||||
pre: plug |
||||
- name: 博客 |
||||
url: https://blog.gitea.io/ |
||||
weight: 30 |
||||
pre: rss |
||||
- name: 导入 |
||||
url: https://code.gitea.io/ |
||||
weight: 40 |
||||
pre: code |
||||
- name: 翻译 |
||||
url: https://crowdin.com/project/gitea |
||||
weight: 41 |
||||
pre: language |
||||
- name: 下载 |
||||
url: https://dl.gitea.io/ |
||||
weight: 50 |
||||
pre: download |
||||
- name: GitHub |
||||
url: https://github.com/go-gitea/ |
||||
weight: 60 |
||||
pre: github |
||||
- name: Discord Chat |
||||
url: https://discord.gg/Gitea |
||||
weight: 70 |
||||
pre: comment |
||||
- name: Forum |
||||
url: https://discourse.gitea.io/ |
||||
weight: 80 |
||||
pre: group |
||||
|
||||
zh-tw: |
||||
weight: 2 |
||||
languageName: 中文(繁體) |
||||
menu: |
||||
page: |
||||
- name: 網站 |
||||
url: https://gitea.io/zh-tw/ |
||||
weight: 10 |
||||
pre: home |
||||
- name: 文件 |
||||
url: /zh-tw/ |
||||
weight: 20 |
||||
pre: question |
||||
post: active |
||||
- name: API |
||||
url: https://try.gitea.io/api/swagger |
||||
weight: 45 |
||||
pre: plug |
||||
- name: 部落格 |
||||
url: https://blog.gitea.io/ |
||||
weight: 30 |
||||
pre: rss |
||||
- name: 商店 |
||||
url: https://shop.gitea.io/ |
||||
weight: 40 |
||||
pre: shopping-cart |
||||
- name: 翻譯 |
||||
url: https://crowdin.com/project/gitea |
||||
weight: 41 |
||||
pre: language |
||||
- name: 下載 |
||||
url: https://dl.gitea.io/ |
||||
weight: 50 |
||||
pre: download |
||||
- name: GitHub |
||||
url: https://github.com/go-gitea/ |
||||
weight: 60 |
||||
pre: github |
||||
- name: Discord 聊天室 |
||||
url: https://discord.gg/Gitea |
||||
weight: 70 |
||||
pre: comment |
||||
- name: 討論區 |
||||
url: https://discourse.gitea.io/ |
||||
weight: 80 |
||||
pre: group |
||||
|
||||
pt-br: |
||||
weight: 3 |
||||
languageName: Português Brasileiro |
||||
menu: |
||||
page: |
||||
- name: Página inicial |
||||
url: https://gitea.io/pt-br/ |
||||
weight: 10 |
||||
pre: home |
||||
- name: Documentação |
||||
url: /pt-br/ |
||||
weight: 20 |
||||
pre: question |
||||
post: active |
||||
- name: API |
||||
url: https://try.gitea.io/api/swagger |
||||
weight: 45 |
||||
pre: plug |
||||
- name: Blog |
||||
url: https://blog.gitea.io/ |
||||
weight: 30 |
||||
pre: rss |
||||
- name: Código-fonte |
||||
url: https://code.gitea.io/ |
||||
weight: 40 |
||||
pre: code |
||||
- name: Translation |
||||
url: https://crowdin.com/project/gitea |
||||
weight: 41 |
||||
pre: language |
||||
- name: Downloads |
||||
url: https://dl.gitea.io/ |
||||
weight: 50 |
||||
pre: download |
||||
- name: GitHub |
||||
url: https://github.com/go-gitea/ |
||||
weight: 60 |
||||
pre: github |
||||
- name: Chat no Discord |
||||
url: https://discord.gg/Gitea |
||||
weight: 70 |
||||
pre: comment |
||||
- name: Forum |
||||
url: https://discourse.gitea.io/ |
||||
weight: 80 |
||||
pre: group |
||||
|
||||
nl-nl: |
||||
weight: 4 |
||||
languageName: Nederlands |
||||
menu: |
||||
page: |
||||
- name: Website |
||||
url: https://gitea.io/nl-nl/ |
||||
weight: 10 |
||||
pre: home |
||||
- name: Docs |
||||
url: /nl-nl/ |
||||
weight: 20 |
||||
pre: question |
||||
post: active |
||||
- name: API |
||||
url: https://try.gitea.io/api/swagger |
||||
weight: 45 |
||||
pre: plug |
||||
- name: Blog |
||||
url: https://blog.gitea.io/ |
||||
weight: 30 |
||||
pre: rss |
||||
- name: Code |
||||
url: https://code.gitea.io/ |
||||
weight: 40 |
||||
pre: code |
||||
- name: Translation |
||||
url: https://crowdin.com/project/gitea |
||||
weight: 41 |
||||
pre: language |
||||
- name: Downloads |
||||
url: https://dl.gitea.io/ |
||||
weight: 50 |
||||
pre: download |
||||
- name: GitHub |
||||
url: https://github.com/go-gitea/ |
||||
weight: 60 |
||||
pre: github |
||||
- name: Discord Chat |
||||
url: https://discord.gg/Gitea |
||||
weight: 70 |
||||
pre: comment |
||||
- name: Forum |
||||
url: https://discourse.gitea.io/ |
||||
weight: 80 |
||||
pre: group |
||||
|
||||
fr-fr: |
||||
weight: 5 |
||||
languageName: Français |
||||
menu: |
||||
page: |
||||
- name: Site |
||||
url: https://gitea.io/en-us/ |
||||
weight: 10 |
||||
pre: home |
||||
post: active |
||||
- name: Documentation |
||||
url: /fr-fr/ |
||||
weight: 20 |
||||
pre: question |
||||
- name: API |
||||
url: https://try.gitea.io/api/swagger |
||||
weight: 45 |
||||
pre: plug |
||||
- name: Blog |
||||
url: https://blog.gitea.io/ |
||||
weight: 30 |
||||
pre: rss |
||||
- name: Code |
||||
url: https://code.gitea.io/ |
||||
weight: 40 |
||||
pre: code |
||||
- name: Translation |
||||
url: https://crowdin.com/project/gitea |
||||
weight: 41 |
||||
pre: language |
||||
- name: Téléchargement |
||||
url: https://dl.gitea.io/ |
||||
weight: 50 |
||||
pre: download |
||||
- name: GitHub |
||||
url: https://github.com/go-gitea/ |
||||
weight: 60 |
||||
pre: github |
||||
- name: Discord Chat |
||||
url: https://discord.gg/Gitea |
||||
weight: 70 |
||||
pre: comment |
||||
- name: Forum |
||||
url: https://discourse.gitea.io/ |
||||
weight: 80 |
||||
pre: group |
||||
|
||||
de-de: |
||||
weight: 6 |
||||
languageName: Deutsch |
||||
menu: |
||||
page: |
||||
- name: Webseite |
||||
url: https://gitea.io/en-us/ |
||||
weight: 10 |
||||
pre: home |
||||
post: active |
||||
- name: Dokumentation |
||||
url: /de-de/ |
||||
weight: 20 |
||||
pre: question |
||||
- name: API |
||||
url: https://try.gitea.io/api/swagger |
||||
weight: 45 |
||||
pre: plug |
||||
- name: Blog |
||||
url: https://blog.gitea.io/ |
||||
weight: 30 |
||||
pre: rss |
||||
- name: Code |
||||
url: https://code.gitea.io/ |
||||
weight: 40 |
||||
pre: code |
||||
- name: Übersetzung |
||||
url: https://crowdin.com/project/gitea |
||||
weight: 41 |
||||
pre: language |
||||
- name: Downloads |
||||
url: https://dl.gitea.io/ |
||||
weight: 50 |
||||
pre: download |
||||
- name: GitHub |
||||
url: https://github.com/go-gitea/ |
||||
weight: 60 |
||||
pre: github |
||||
- name: Discord Chat |
||||
url: https://discord.gg/Gitea |
||||
weight: 70 |
||||
pre: comment |
||||
- name: Forum |
||||
url: https://discourse.gitea.io/ |
||||
weight: 80 |
||||
pre: group |
@ -1,14 +1,14 @@ |
||||
--- |
||||
date: "2023-05-25T00:00:00+02:00" |
||||
title: "翻译指南" |
||||
weight: 70 |
||||
sidebar_position: 70 |
||||
toc: true |
||||
draft: false |
||||
menu: |
||||
sidebar: |
||||
parent: "contributing" |
||||
name: "翻译指南" |
||||
weight: 70 |
||||
sidebar_position: 70 |
||||
identifier: "translation-guidelines" |
||||
--- |
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue