markdown-tweet-scheduler 项目教程

markdown-tweet-scheduler 项目教程

markdown-tweet-schedulerSchedule daily tweets from markdown files in your repo, posted via github actions. 项目地址:https://gitcode.com/gh_mirrors/ma/markdown-tweet-scheduler

1. 项目的目录结构及介绍

markdown-tweet-scheduler/
├── github/
│   └── workflows/
│       └── go.yml
├── pkg/
├── tweets/
├── .env-SAMPLE
├── .gitignore
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── go.mod
├── go.sum
├── go.yml
└── main.go
  • github/workflows/go.yml: GitHub Actions 的工作流配置文件。
  • pkg/: 存放项目的包文件。
  • tweets/: 存放要发布的推文文件。
  • .env-SAMPLE: 环境变量示例文件。
  • .gitignore: Git 忽略文件配置。
  • CONTRIBUTING.md: 贡献指南。
  • LICENSE: 项目许可证。
  • README.md: 项目说明文档。
  • go.mod: Go 模块文件。
  • go.sum: Go 模块校验文件。
  • go.yml: 项目配置文件。
  • main.go: 项目启动文件。

2. 项目的启动文件介绍

main.go 是项目的启动文件,负责初始化配置和启动推文发布流程。以下是 main.go 的简要介绍:

package main

import (
    "fmt"
    "os"
    "time"
    "github.com/reidjs/markdown-tweet-scheduler/pkg"
)

func main() {
    // 初始化配置
    config := pkg.LoadConfig()
    
    // 读取推文文件
    tweets := pkg.ReadTweets(config.FilePath)
    
    // 发布推文
    for _, tweet := range tweets {
        pkg.PostTweet(tweet, config)
        time.Sleep(1 * time.Minute) // 防止推文发布过快
    }
    
    fmt.Println("推文发布完成")
}

3. 项目的配置文件介绍

github/workflows/go.yml 是项目的配置文件,用于配置 GitHub Actions 的工作流。以下是配置文件的简要介绍:

name: Schedule Tweets

on:
  schedule:
    - cron: '2 7 * * *' # 每天早上 7:02 AM PT (2:02 UTC)

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
    - name: Checkout repository
      uses: actions/checkout@v2

    - name: Set up Go
      uses: actions/setup-go@v2
      with:
        go-version: 1.16

    - name: Build
      run: go build -v ./...

    - name: Run tweet scheduler
      env:
        TWITTER_API_KEY: ${{ secrets.TWITTER_API_KEY }}
        TWITTER_API_SECRET_KEY: ${{ secrets.TWITTER_API_SECRET_KEY }}
        TWITTER_ACCESS_TOKEN: ${{ secrets.TWITTER_ACCESS_TOKEN }}
        TWITTER_ACCESS_TOKEN_SECRET: ${{ secrets.TWITTER_ACCESS_TOKEN_SECRET }}
      run: go run main.go
  • name: 工作流的名称。
  • on: 触发工作流的事件,这里配置为定时任务。
  • jobs: 工作流中的任务。
  • steps: 任务中的步骤。
  • env: 环境变量配置,用于存储 Twitter API 的密钥。

通过以上配置,项目可以定时从指定的 Markdown 文件中读取推文并发布到 Twitter。

markdown-tweet-schedulerSchedule daily tweets from markdown files in your repo, posted via github actions. 项目地址:https://gitcode.com/gh_mirrors/ma/markdown-tweet-scheduler

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

童香莺Wyman

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值