通过使用github操作使您的帖子自动化为dev.to
#go #ci #gha

我已经使用github Action和Golang自动化Dev.来发布。此外,博客内容是基于降压的管理。因此,您可以使用自己喜欢的IDE编写博客内容。希望这种解决方案是提高某些人的生产力。

要设置几分钟?

可能只需5分钟即可设置您的开发自动化。

让我们开始设置!

您可以从我的GitHub复制我的模板回购或创建您的原件。

这次我将描述您如何使用我的模板设置自动化发布!

设置5个步骤。

  • 1。复制模板
  • 2。创建dev.to api键
  • 3。将dev.to api键设置为github动作秘密
  • 4。设置github操作工作流
  • 5。运行GO程序生成新的博客文章。
  • 6。写您的博客文章!

1.复制模板

要复制模板,请转到GitHub,然后单击Use this template按钮复制模板!我建议您创建私人存储库。因此,您的博客文章可以安全。

alt text

2.创建dev.to api密钥

最好如果您创建了API键将博客文章发布到Dev.to。

不用担心,这很容易。

首先,单击您的图标以打开下拉列表,然后单击“设置”。

setting

之后,单击⚡️ Extensions

setting

最后,转到底部并生成您的API键!

setting

3.将dev.to api键设置为github动作秘密

我使用github操作来自动化帖子为dev.to。因此,需要将dev.to api密钥设置为github操作秘密。

首先,请转到您的github上的dev.to模板回购,然后单击“设置”。
然后单击秘密和变量>操作。它在安全部分。

setting

之后,单击New repository secret按钮。

setting

DEV_TO_API_TOKEN设置为名称和您的dev.to api键秘密。

setting

4.设置GitHub操作工作流程

我使用以下软件包进行内容证明。

  • textlint
  • 漂亮
  • 嵌入
      - name: Post
        run: DEV_TO_GIT_TOKEN=${{ secrets.DEV_TO_API_TOKEN }} yarn run dev-to-git

上述步骤很重要,将您的博客发布到自动。
在此步骤中,将您的秘密变量设置为dev_to_git_token,然后运行dev-to-git。
Dev-to-git由maxime1992

实施

感谢您实施这个很棒的OSS。

name: Post to dev.to

on:
  push:
    branches: [ main ]
  pull_request:

jobs:
  build:
    name: Build
    if: github.event_name == 'pull_request'
    runs-on: ubuntu-latest
    strategy:
      matrix:
        node-version: [18]
    steps:
      - name: Checkout
        uses: actions/checkout@v3
      - uses: actions/setup-node@v3
        with:
          node-version: ${{ matrix.node-version }}
          cache: yarn
      - run: yarn

      - name: Install textlint
        run: 'yarn add -D textlint textlint-rule-common-misspellings textlint-rule-spellchecker'

      - name: Run textlint
        run: npx textlint -f checkstyle "posts/**/*.md" >> .textlint.log

      - name: Run Prettier
        run: yarn run prettier:check

      - name: Run Embedme
        run: yarn run embedme:check

  Post:
    name: Post
    if: github.ref == 'refs/heads/main' && github.event_name == 'push'
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v3
      - uses: actions/setup-node@v3
        with:
          node-version: ${{ matrix.node-version }}
          cache: yarn
      - run: yarn

      - name: Post
        run: DEV_TO_GIT_TOKEN=${{ secrets.DEV_TO_API_TOKEN }} yarn run dev-to-git

5.运行GO程序生成新的博客文章。

我实施了GO程序,以创建一个只有一个CMD的草稿。

但是,等等,在运行CMD之前,您需要将Dev.To API键设置为.env文件。
我已经准备好.env.样本文件,因此您只需键入以下CMD即可创建.env文件。

cp .env.sample .env

运行上述命令后,您必须创建一个.env文件,最后,您可以将API键添加到.env文件中的代码的下一部分。

export DEV_TO_GIT_TOKEN=

然后,您可以通过运行以下CMD来创建博客模板!

  • 您必须将Golang导入PC。
go run main.go

提示显示以下问题。您可以输入文章的名称。

Enter the name of the new article:

然后,该目录是在posts/ dir下自动创建的。在这种情况下,我将测试键入名称。

setting

,此外,dev-to-git.json已更新,程序添加了{"id":***,"relativePathToArticle": ***}。有必要管理您的帖子。

您可以管理您的帖子是草稿还是公众来更改生成的.md文件的已发布部分。

---
title: ***
published: false
description: description
tags:
---

6.写您的博客文章!

最后,写下您的博客文章以生成.md文件!
如果需要在您的帖子中添加图像,则可以将图像保存到/assets文件夹中,然后将相对路径添加到您的帖子中!

e.g.
![alt](https://raw.githubusercontent.com/atsushii/dev.to/master/posts/Automate-your-post-to-dev.-to-by-github-actions/assets/** 'title')

结论

就是这样!
现在,将文件推向github并将其合并到主分支中。 CI自动发布您的内容!