CleanUpWiki_v10 - itnett/FTD02N GitHub Wiki
Ja, vi er enige om følgende prosess:
-
Kilde for alt innhold:
- Kilde for innholdet er
https://github.com/itnett/FTD02N/blob/main/
. Dette repoet inneholder både kodeblokker og annen dokumentasjon som skal migreres.
- Kilde for innholdet er
-
Publisering av kode:
- Kun kodeblokker som finnes i wiki-sidene skal trekkes ut og lagres i
https://github.com/itnett/FTD02N.git
. - Kodefilene skal organiseres i en passende mappestruktur basert på type kode (for eksempel
Python
,Bash
,SQL
, etc.). - Hver kodefil skal ha en tilhørende
README.md
-fil som inneholder:- Informasjon om hvor koden opprinnelig ble funnet i
https://github.com/itnett/FTD02N/blob/main/
. - Eventuelle relevante lenker tilbake til
https://github.com/itnett/FTD02N/blob/main/
der denne koden brukes.
- Informasjon om hvor koden opprinnelig ble funnet i
- Kun kodeblokker som finnes i wiki-sidene skal trekkes ut og lagres i
-
Publisering av oppdaterte wiki-sider:
- De oppdaterte wiki-sidene skal publiseres til
https://github.com/itnett/FTD02N/blob/main/
. - Disse sidene skal ha lenker til de kodeblokkene som er flyttet til
https://github.com/itnett/FTD02N.git
, slik at koden blir tilgjengelig i de respektive mapper. - Lenken på wiki-siden skal peke til den spesifikke kodefilen i
https://github.com/itnett/FTD02N.git
(for eksempel via en URL som peker til filen i den relevante underkatalogen i repoet).
- De oppdaterte wiki-sidene skal publiseres til
-
Sikre struktur og lesbarhet:
- Kodefilene skal legges i en godt organisert mappestruktur.
README.md
-filene sikrer at det er tydelig dokumentasjon og lett navigasjon til både koden og den opprinnelige konteksten fra wiki-sidene.
Med dette oppsettet skal vi oppnå en profesjonell og organisert overføring fra wiki-sidene til separate kodefiler i et dedikert GitHub-repo, samtidig som vi bevarer sammenhengen mellom dokumentasjon og kode gjennom lenker og README-filer. Skriptet jeg har laget skal automatisere denne prosessen. Hvis det er noen justeringer eller ytterligere behov, kan vi gjøre endringer i skriptet for å tilpasse det.
Her er den endelige versjonen av både input.yml
og skriptet som håndterer hele prosessen vi har diskutert.
input.yml
# URL til den originale Wiki-repoen som skal klones
wiki_repo_url: "https://github.com/itnett/FTD02N/blob/main/"
# Sti til katalogen hvor den klonede Wiki-repoen skal lagres midlertidig
dump_directory: "C:\\WikiMigration\\git\\code_dump"
# URL til den nye kode-repoen hvor skript skal lagres
code_repo_url: "https://github.com/itnett/FTD02N.git"
# URL til den nye Wiki-repoen hvor oppdaterte Wiki-sider skal publiseres
wiki_repo_new_url: "https://github.com/itnett/FTD02N/blob/main/"
# Sti til katalogen hvor skriptene fra Wiki-repoen skal lagres
code_repo_directory: "C:\\WikiMigration\\git\\code_repo"
# Sti til katalogen hvor den nye Wiki-repoen skal klones midlertidig
wiki_repo_directory: "C:\\WikiMigration\\git\\wiki_repo"
wiki_code_migration_v06.py
Se skriptet herpython', r'^Se skriptet hersql', r'^Se skriptet hershell'] for pattern in executable_patterns: if re.search(pattern, code_block, re.MULTILINE): return True return False
Funksjon for å migrere kodeblokker
def migrate_code_blocks(input_dir, output_dir): if not os.path.exists(output_dir): os.makedirs(output_dir)
for root, _, files in os.walk(input_dir):
for file in files:
if file.endswith('.md'):
file_path = os.path.join(root, file)
with open(file_path, 'r', encoding='utf-8') as f:
content = f.read()
# Finn alle kodeblokker
code_blocks = re.findall(r'```.*?```', content, re.DOTALL)
for block in code_blocks:
if is_executable_code_block(block):
# Bestem filtype basert på innholdet
if '[Se skriptet her](https://github.com/itnett/FTD02N/blob/main/Python/CleanUpWiki_v10_5.py)bash' in block or '[Se skriptet her](https://github.com/itnett/FTD02N/blob/main/ShellScripts/CleanUpWiki_v10_6.sh)sql' in block:
extension = 'sql'
folder = 'SQL'
elif '[Se skriptet her](https://github.com/itnett/FTD02N/blob/main/Makefiles/CleanUpWiki_v10_7.makefile)
Oppsummering av funksjonalitet
-
input.yml
:- Konfigurasjonsfilen definerer alle nødvendige variabler, som URL-er til GitHub-repoene, stier til kataloger for midlertidig lagring, og hvor filene skal plasseres.
-
Skriptet:
- Kloning av den originale Wiki-repoen: Skriptet kloner
https://github.com/itnett/FTD02N/blob/main/
til en midlertidig katalog. - Migrering av kodeblokker: Alle kodeblokker som er identifisert som kjørbare (f.eks. Python, Bash, SQL) blir eksportert til
https://github.com/itnett/FTD02N.git
, plassert i passende mapper, og enREADME.md
-fil genereres for hver kodefil. - Oppdatering av URL-er i wiki-sidene: Lenker i de oppdaterte wiki-sidene på
https://github.com/itnett/FTD02N/blob/main/
peker nå til de relevante kodefilene ihttps://github.com/itnett/FTD02N.git
. - Automatiserte Git-operasjoner: Alle endringer blir automatisk pushet til de respektive GitHub-repoene med en dynamisk generert commit-melding.
- Kloning av den originale Wiki-repoen: Skriptet kloner
Dette skriptet bør utføre den ønskede migreringen og publiseringen effektivt. Hvis du har ytterligere spørsmål eller ønsker justeringer, er det bare å si fra!