tomasvotruba/statie-tweet-publisher

该包已被弃用且不再维护。作者建议使用symplify/statie包。
该包最新版本(v1.7.0)没有提供许可证信息。

Statie 插件,可自动从文章发布推文

v1.7.0 2018-11-05 07:48 UTC

This package is auto-updated.

Last update: 2019-02-20 20:01:27 UTC


README

让 Statie 和 Travis 为您的新的帖子发布推文。

安装

composer require tomasvotruba/statie-tweet-publisher:@dev --dev

配置

# statie.yml
imports:
    - { resource: 'vendor/tomasvotruba/statie-tweet-publisher/src/config/config.yml' }

parameters:
    twitter_name: 'VotrubaT'
    source_directory: '%kernel.project_dir%/../../../source'
    # set 0 for testing
    minimal_gap_in_days: 1 # how many days to wait before publishing another Tweet

获取 Twitter 令牌

  • 前往https://apps.twitter.com/app/new
  • 以您想发布的账号登录并创建新的应用程序
  • 然后进入“密钥和访问令牌”
  • 在底部点击“创建我的访问令牌”

现在到了秘密部分,请注意保管您的密钥!

  • config/config.local.yml添加到.gitignore

  • 将页面中显示的这4个哈希值复制到config/config.local.yml

    # config/config.local.yml
    parameters:
        # for tomasvotruba/statie-tweet-publisher package locally
        twitter_consumer_key: "..."
        twitter_consumer_secret: "..."
        twitter_oauth_access_token: "..."
        twitter_oauth_access_token_secret: "..."
  • 将此文件导入到statie.yml中的package config下,以便它具有更高的优先级,并且您可以在本地进行测试

    # statie.yml
    imports:
        - { resource: 'vendor/tomasvotruba/statie-tweet-publisher/src/config/config.yml' }
        # enabled on localhost only
        - { resource: 'config/config.local.yml', ignore_errors: true }
  • tweet: "some tweet"添加到您的文章标题中以进行测试

  • 运行vendor/bin/publish-new-tweet并检查您的Twitter账号

它在那里吗?很好,它工作了,只需几个步骤即可完全自动化:)

设置在线 Travis

现在我们只需将此逻辑放入Travis,然后我们就算完成了。

  • 打开您的仓库的Travis,例如https://travis-ci.org/TomasVotruba/tomasvotruba.cz
  • 转到更多选项 => 设置
  • 环境变量中添加4个变量及其值。它们默认为隐藏,所以不用担心
    • TWITTER_CONSUMER_KEY
    • TWITTER_CONSUMER_SECRET
    • TWITTER_OAUTH_ACCESS_TOKEN
    • TWITTER_OAUTH_ACCESS_TOKEN_SECRET
  • 然后设置cron,这样即使在您不写作或休息时,也会发布帖子。
  • 转到Cron Jobsmaster分支 → 每日始终运行 → 添加

就这样!

  • 并让.travis.yml知道,它应该发布它

    # .travis.yml
    language: php
    
    matrix:
        include:
            - php: 7.1
              env: TWEET=1
    
    script:
        # tweets posts
        - if [[ $TRAVIS_BRANCH == "master" && $TRAVIS_PULL_REQUEST == "false" && $TWEET != "" ]]; then vendor/bin/publish-new-tweet; fi

现在,如果您想的话,可以退出Twitter,您的帖子仍然会存在:)