Ich las den Artikel von @ mima_ita Qiita-Artikel nach GitHub migrieren - Qiita und schreibe (?), Weil ich auch migrieren wollte. Nach der Bergung → Es ist eine Geschichte, die auf GitHub Pages + VuePress veröffentlicht wird. Da sich der Zweck ein wenig vom Originalartikel unterscheidet, wird PR nicht veröffentlicht.
Das Ergebnis ist hier: perpouh / blog
Ich werde es weglassen, weil es bereits existiert. Befolgen Sie die Schritte in Offiziell.
Weitere Informationen finden Sie unter Migrieren von Qiita-Artikeln zu GitHub. Als ich das Zugriffstoken erhielt, überprüfte ich sowohl "read_qiita" als auch "write_qiita". Ich habe nicht geschrieben.
Außerdem funktionierte der ursprüngliche Code in meiner Umgebung nicht, also am Anfang der Datei
# -*- coding: utf-8 -*-
# %%
Ich habe reingesteckt. Ich frage mich, ob dies von der Umgebung abhängt.
Ich möchte das Bild in .vuepress / public / assets / img
anstelle von image
speichern, also schreibe den Pfad neu.
Die Anzeige lautet "/ blog / assets / img /" (abhängig von den vuepress-Einstellungen).
Ich möchte nicht zu viel harten Code machen, aber ich schreibe ihn und frage mich, ob es sich nicht um eine Art Skript handelt, das ich oft benutze.
if not os.path.exists(dst):
os.mkdir(dst)
- if not os.path.exists(dst + '/image'):
- os.mkdir(dst + '/image')
def fix_image(dst_folder, line):
"""Ändern Sie die Server-Image-Datei von Qiita, um Dateien in Ihrem Repository anzuzeigen."""
images = re.findall(r'https://qiita-image-store.+?\.(?:png|gif|jpeg|jpg)', line)
if not images:
return line
for url in images:
name = url.split("/")[-1]
- download(url, dst_folder + '/image/' + name)
+ download(url, dst_folder + '/../.vuepress/public/assets/img/' + name)
ix = line.find(url)
- line = line.replace(url, '/image/' + name)
+ line = line.replace(url, '/blog/assets/img/' + name)
return line
Ich wollte den Titel und das Datum in den Text aufnehmen, also fügte ich Folgendes hinzu.
for i in items:
text = fix_markdown(github_url, dst, i['body'], dict_title)
with open(dst + '/' + i['title'] + '.md', 'w', encoding='utf-8') as md_file:
+ md_file.write("#" + i['title'] + "\n")
+ md_file.write("zuletzt aktualisiert:" + datetime.strptime(i['updated_at'], '%Y-%m-%dT%H:%M:%S+09:00').strftime('%Y Jahr%m Monat%d Tag') + "\n\n")
md_file.write(text)
Ich habe die Datei erhalten, also habe ich versucht, sie hier zu erstellen, und bestätigt, dass sie in Ordnung zu sein scheint.
Da es keine Flusslinie zum Artikel gibt, werde ich einen Link erstellen. Ich möchte es wirklich mit nur einem Befehl tun, aber ist diese Art des Kopierens und Einfügens akzeptabel?
import os
if __name__ == '__main__':
filelist = os.listdir('../blog/qiita')
for item in filelist:
#Letzte 3 Zeichen(.md)Beseitigen, abschütteln
print("['qiita/"+item[-4::-1][-1::-1]+"', '"+item[-4::-1][-1::-1]+"']")
Ich bekomme so etwas.
['qiita/Starten Sie die Git-Verwaltung auf dem Mac', 'Starten Sie die Git-Verwaltung auf dem Mac'],
...
Ich bin in den .DS_Store gekommen und habe ihn manuell entfernt.
Kopieren Sie dies nach .vuepress / config.js
. Weitere Informationen finden Sie auch beim Beamten in der Seitenleiste.
Ich habe die Quelle unter Bezugnahme auf hier geschrieben Versuchen Sie, den Artikel über API - Qiita auf Qiita zu aktualisieren. Da der Artikeltitel so wie er ist als Übertragungsziel-URL behandelt werden könnte
if __name__ == "__main__":
argvs = sys.argv
token = argvs[1]
user = argvs[2]
qiitaApi = qiita_api.QiitaApi(token)
items = qiitaApi.query_user_items(user)
for item in items:
execute(item, token)
break
def parse(item):
return {
'title': item['title'],
'qiita_id': item['id'],
'tags': item['tags'],
'body': f'''
Dieser Artikel wurde auf GitHub Pages verschoben.\n
"https://perpouh.github.io/blog/qiita/{item['title']}.html"
''',
'tweet': False,
'private': False,
}
Ich habe versucht, es zu kneten Ich hörte auf, weil ich zu ängstlich war, um mich auch ohne Schleifen zu bewegen, und mein Magen schmerzte (verdammt noch mal den Kommentar) Sie können es manuell tun, wenn Sie Lust dazu haben: schwerwiegend:
Ich mache es mit GitHub Actions. Automatische Bereitstellung auf GitHub-Seiten durch GitHub Actions-Qiita Es ist schön, dass Sie keine Dateien (Post-Deployment-Dateien) in den Hauptzweig einfügen müssen, die Sie nicht manuell berühren würden, sondern automatisch ausführen würden.
Recommended Posts