아이피니비로 Zenn의 기사를 써주세요.
10287 단어 Jupyter NotebookZennidea
원래 아이피니비는...
https://github.com/fereria/zenn_ipynb/blob/master/ipynb/sample-ipynb.ipynb
여기에 ipynb Push를 Giit에 연결하면 Giithub Actions가 실행됩니다
mardown→push md로 자동 변환됩니다.
HeaderFormater의 쓰기
Markedown으로 쓸 수 있지만, 노트북처럼 파이톤으로 쓸 수 있습니다.
# -*- coding: utf-8 -*-
import glob
import os.path
import os
import codecs
import nbconvert
import nbformat
os.makedirs('articles', exist_ok=True)
for ipynb in glob.glob("./ipynb/*.ipynb"):
with codecs.open(ipynb, 'r', 'utf-8') as f:
lines = f.readlines()
f = nbformat.reads("".join(lines), as_version=4)
cell = f['cells'].pop(0)
exec(cell['source'])
header = ["---",
f'title: "{title}"',
f'emoji: "{emoji}"',
f'type: "{text_type}"',
"topics: " + "[" + ",".join([f"\"{x}\"" for x in topics]) + "]",
"published: " + ("true" if published else "false"),
"---"]
exporter = nbconvert.TemplateExporter(template_file="template/markdown.tpl")
(body, resources) = exporter.from_notebook_node(f)
with codecs.open(f'articles/{os.path.splitext(os.path.basename(ipynb))[0]}.md', 'w', 'utf-8') as f:
f.write("\n".join(header) + "\n" + body)
명령줄 대신 파이톤 스크립트를 사용합니다.첫 번째 단원은 Formater입니다. 그리고 Cell Pop을 시작하세요.
나는 그 내용을 헤더로 썼다.
그리고 nbconvert의 Template Exporter를 사용하면 마크다운을 만들 수 있습니다.
print("Hello World!!!")
print("hoge hoge hoge")
>> ResultHello World!!!
hoge hoge hoge
Python의 실행 결과의 예를 표시합니다.Notebook을 사용하는 장점으로 이렇게 즉석에서 명령을 실행합니다
그 집행 결과는 아마 남아 있을 것이다.
시험을 보면서 직접 기사를 쓰면 좋을 것 같아요.
문장은 VScode로 쓰거나 JuptyterLab로 쓸 수 있다.
JupytrerLab로 작성된 경우의 참조 예입니다.
이쪽도 문제 없이 기사를 쓸 수 있다.
JupytherLab의 환경은 Docker 컨테이너로 구축됩니다.
이 컨테이너는 GiithubAction이 글을 반영할 때 사용하는 용기와 같다.
docker-compose -f "docker\docker-compose.yml" up -d --build
docker-compose를 사용하면 USD의 집필 환경에 들어가면 JuptysterNotebook이 시작됩니다.를 참고하십시오.
총결산
일반적인 기사라면, Macdown으로 VScode에 쓰는 것이 비교적 쉽다
스크립트를 검증하면서 글을 쓰면 노트북에서 글을 만들 수 있다
매우 좋은 점이 있다.
당분간 여러 가지 검증을 해서 쓰기 쉬운 환경으로 업데이트했으면 좋겠어요.
공개용 지허브 여기 있습니다.
Reference
이 문제에 관하여(아이피니비로 Zenn의 기사를 써주세요.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/remiria/articles/sample-ipynb텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)