Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
dev.toの記事もGitHubで管理してみた
Search
YouYou
May 14, 2022
Technology
0
1.8k
dev.toの記事もGitHubで管理してみた
詳細ブログ↓
https://zenn.dev/yuta28/articles/dev-github-vscode
YouYou
May 14, 2022
Tweet
Share
More Decks by YouYou
See All by YouYou
今インフラ技術をイチから学び直すなら
yuhta28
1
170
AWSに詳しくない人でも始められるコスト最適化ガイド
yuhta28
3
550
Datadog外形監視基盤をEC2から ECSへ移行してみた
yuhta28
0
1.5k
アウトプット頑張ったら企業からLT登壇の依頼がきた話
yuhta28
1
1.2k
小さなことから始めるAWSコスト最適入門
yuhta28
1
980
Datadogのコストも監視しよう
yuhta28
1
790
Rcloneを使った定期的なストレージ同期
yuhta28
0
540
Pulumiを触ってみよう
yuhta28
1
2.1k
ログストレージコスパ最強!?OpenObserveを試してみた
yuhta28
0
3.4k
Other Decks in Technology
See All in Technology
インフラとバックエンドとフロントエンドをくまなく調べて遅いアプリを早くした件
tubone24
1
430
いざ、BSC討伐の旅
nikinusu
2
780
Evangelismo técnico: ¿qué, cómo y por qué?
trishagee
0
360
ExaDB-D dbaascli で出来ること
oracle4engineer
PRO
0
3.8k
The Role of Developer Relations in AI Product Success.
giftojabu1
0
120
Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集
oracle4engineer
PRO
2
3.2k
AGIについてChatGPTに聞いてみた
blueb
0
130
TypeScript、上達の瞬間
sadnessojisan
46
13k
SSMRunbook作成の勘所_20241120
koichiotomo
2
130
Lambda10周年!Lambdaは何をもたらしたか
smt7174
2
110
Python(PYNQ)がテーマのAMD主催のFPGAコンテストに参加してきた
iotengineer22
0
470
AWS Media Services 最新サービスアップデート 2024
eijikominami
0
190
Featured
See All Featured
Six Lessons from altMBA
skipperchong
27
3.5k
Adopting Sorbet at Scale
ufuk
73
9.1k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
506
140k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.5k
BBQ
matthewcrist
85
9.3k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
The Language of Interfaces
destraynor
154
24k
The Cult of Friendly URLs
andyhume
78
6k
Unsuck your backbone
ammeep
668
57k
A better future with KSS
kneath
238
17k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
Optimizing for Happiness
mojombo
376
70k
Transcript
dev.toの記事もGitHubで管理し てみた 1
Name:ユータ Occupation:SRE Twitter:@Y0u281 (オーでなくゼロです) ブログ:https://zenn.dev/yuta28 自己紹介 Twitter 2
目次 • 背景 • dev.toについて • dev.to管理用テンプレートリポジトリ • dev.toとGitHubとの連携 •
まとめ 3
背景 • Zennでブログ執筆中 ◦ GitHub Actionsを使って記事の自動投稿を実現 • dev.toでも同じように自動投稿を実現したい • すでに実践している人がいたので参考にしてみた
詳しくはこちら↓ GitHub ActionsでZennブログの 校正を自動化してみた 4
dev.toについて • 英語版Qiitaみたいなもの • 爆速であることで有名 ◦ 阿部寛さんのHPとどちらが速いか比較されたこともある • スマホアプリ版もある DEV
is a community of software developers getting together to help one another out. The software industry relies on collaboration and networked learning. We provide a place for that to happen. Aboutページより引用 5
dev.to管理用テンプレートリポジトリ 以下のリポジトリをコピーしてもらえたら皆さんもdev.toの記事をGitHubで管理できま す。 https://github.com/Yuhta28/dev-to-blog-template 6
DEV Community APIキー生成 GitHubにセットするAPIキー DEV API (beta) | Forem Docs
APIはベータ版なのか若干動作不安 7
GitHub Actions用の変数セット 先ほど生成したAPIキーをセット 8
GitHub Actionsワークフロー設定 deploy: # 長いので記事投稿部分のみ抜粋 name: Deploy if: github.ref == 'refs/heads/main'
&& github.event_name == 'push' runs-on: ubuntu-latest steps: - name: Checkout Repo uses: actions/checkout@master - name: Install Dependencies uses: bahmutov/npm-install@v1 - name: Deploy to dev.to run: DEV_TO_GIT_TOKEN=${{ secrets.DEV_TO_GIT_TOKEN }} yarn run dev-to-git Yarnパッケージ ↑参照 dev-to-gitにAPIキーを渡す 9
記事の初期作成 dev.toのAPIリクエストで作成する curl -X POST -H "Content-Type: application/json" \ -H
"api-key: API_KEY" \ -d \ '{"article":{"title":"Template","body_markdown":"Body","published":false,"tags":["tag1", "tag2"]}}' https://dev.to/api/articles 環境変数でセット 10 Goで作った
記事の初期作成 ドラフト記事作成 この記事のIDを取得する 11
記事IDの取得 curl -H "api-key: API_KEY" https://dev.to/api/articles/me/(un)published | \ jq '.[].id'
プログラミング言語でも取得できますが、一部の言語では取得できませんでした。 例:Python dev-to-git.json 12
記事の校正 簡単な誤字脱字はtextlintと reviewdogでCI時に自動検知 13
記事のデプロイ 14
記事のデプロイ 15
まとめ • ブログもGitHubで管理 • 好きなエディターで記事を書こう • GitHub Actionsはいいぞ! 16
ありがとうございました より詳しい内容は以下のブログで↓ dev.toの記事もGitHubで管理してみた (zenn.dev) 17