ラベル Blogger の投稿を表示しています。 すべての投稿を表示
ラベル Blogger の投稿を表示しています。 すべての投稿を表示

2021年6月9日水曜日

Blogger の投稿を Integromat でツイートする Ver.2

Ver.1 の紹介記事を書いた気がしてたのですがなかったので、
まずは概要を紹介します。
Integromat とは
Intergromat は IFTTT みたいなやつ(iPaaS/RPA)です。
様々サービスのイベントをトリガーに他サービスと連携することができるものです。
操作の自動化をする RPA ツールとはちょっと違うので注意してください。
詳しいことは拙著を見てね^^
「詳解Integromat iPaaS完全入門」

Blogger で記事公開したらツイートするシナリオ
Integromat を使って「ブログズミ」で更新があったら Twitter にツイートするシナリオを活用しています。
注意: 現在 Integromat の Twitter App は有料プランの登録が必要です
Blogger は RSS フィードがあるのでそれをトリガーにツイートするシナリオになっています。
私が使っているシナリオは間にいくつかステップがありますが、単純にツイートするだけであれば、RSS の情報からツイート本文を書くだけでシナリオが作れると思います。

Ver.2 で変わったところ
Blogger のラベルをツイートのタグに変換
ツイートにタグをつけるようにしました。
ラベル→タグ変換は以下の2つのモジュールで行いました。


最初の Tools モジュールでラベルの配列に「 #」を追加しつつ、1つの文字列にしています。
「{{replace("#" + join(1.labels; space + "#"); ":"; space)}}」
「#Re:VIEW」 のような記号を含むものは記号より後ろがタグとして認識されないので、ここで空白スペースに置換もしています。(「:」のみ対応)

次に Text parser モジュールでタグとタグの間のスペース以外のスペースを削除します。
「s/\s([^#])/$1/g」

これだけではわかりにくいので、実際に処理されたときの様子を見てみましょう。

入力されたラベルは以下の図の通りです。
ここでは「Re:VIEW Starter」のラベルに着目しましょう。

Tools モジュールによって「#Re View Starter」と変換されます。

最後に Text parser で「#ReViewStarter」となります。


あとは、加工済みのテキストを Twitter モジュールで使うだけです。
新規公開か追記かの判定
追記があった場合は RSS フィードの公開日と更新日が入ってるので、それぞれの時間を比較して判定しています。
まず、Tools モジュールで公開日・更新日に setSecond をして 0:00 の時刻に揃えます。
「{{setSecond(1.dateUpdated; 0)}}」

そして、公開日と更新日が同じなら新規投稿、更新日が新しい場合は追記として分岐します。
Blueprint
最後にシナリオの Blueprint を公開します。
※Blueprint は有償機能です
※インポートしてもコネクションは筆者 organization の ID になっているので付け替え必須


以上です。では。

2020年9月28日月曜日

Zenn とブログズミ

 Zenn が話題になっていたので自分も記事を書くことにしました。
本も書きたいなと思っています。

現時点で何個か記事を書きました。


今後について
さて、Zenn で記事を書いていくことにしましたが、このブログはどうするの?となるのでルールを決めました。

  • ブログズミ
    • 扱う分野の縛りなどなく、今まで通り特に変わらず投稿します。
  • Zenn

今後も本ブログともどもよろしくお願いします。

2019年7月5日金曜日

[Blogger][AdSense] 「ads.txt ファイルが含まれていないサイトがあります」 に対応した

このブログでは Google AdSense で広告掲載をしています。
たまーにレポートを眺めに AdSense を見に行くのですが、いつの間にか以下のような警告文が出るようになってました。
「要注意 - ads.txt ファイルが含まれていないサイトがあります。収益に重大な影響が出ないよう、この問題を今すぐ修正してください。」



収益にこだわりはないのですが、警告は無視できない体質なので対応しました。

ads.txt とは?
警告文のヘルプを開くと以下のようなことが書かれています。


Blogger に ads.txt を設定する
Blogger の場合のヘルプもちゃんとあります。


ヘルプに従えば問題なく設定できると思います。





ここに書く内容は、AdSense のヘルプを参考に以下のように入力します。

google.com, pub-0000000000000000, DIRECT, f08c47fec0942fa0

「pub-0000000000000000」の部分は、サイト運営者ID に置き換えてください。
サイト運営者 ID を確認する - AdSense ヘルプ

入力ができたら、「変更を保存」で設定完了です。
再び、AdSense にログインしてみたところ、警告が消えました!

よかったよかった。




2018年5月29日火曜日

SyntaxHighlighter v4 に更新しました

このブログでのソースコード表示には SyntaxHighlighter をつかっていたのですが、
ホスティングしているところが https 対応してないためブログ自体のHTTPS化が遅れておりましたが、
※ただやってなかっただけです
この度 V4 移行し、github.io に置くようにして対応しました。

いくつかハマりどころがあったので備忘録として残しておきます。

概要
SyntaxHighlighter v4 は、自分でビルドしてその結果をアップロードする必要があります。
今回は、ビルド対応のためリポジトリの Fork をし、Fork したリポジトリの Github Pages にビルド結果を置くようにしました。
origin: https://github.com/syntaxhighlighter/syntaxhighlighter
fork: https://github.com/srz-zumix/syntaxhighlighter
pages: https://srz-zumix.github.io/syntaxhighlighter/

SyntaxHighlighter v4 のビルド
SyntaxHighlighter は Github で公開されております。
基本的には、こちらの Wiki の手順通りにやればビルドできるはずです。
https://github.com/syntaxhighlighter/syntaxhighlighter/wiki/Building

ですが、現状途中で躓いてしまうようでうまくビルドができません。
[22:53:04] Failed to load external module @babel/register
[22:53:04] Requiring external module babel-register
[22:53:04] Using gulpfile ~/syntaxhighlighter/gulpfile.babel.js
[22:53:04] Starting 'setup-project:clone-repos'...
[22:53:04] 'setup-project:clone-repos' errored after 947 μs
[22:53:04] TypeError: loadReposFromCache(...).error is not a function
    at loadRepos (/syntaxhighlighter/build/setup-project.js:39:48)
    at Gulp. (/syntaxhighlighter/build/setup-project.js:48:5)
    at module.exports (/syntaxhighlighter/node_modules/orchestrator/lib/runTask.js:34:7)
    at Gulp.Orchestrator._runTask (/syntaxhighlighter/node_modules/orchestrator/index.js:273:3)
    at Gulp.Orchestrator._runStep (/syntaxhighlighter/node_modules/orchestrator/index.js:214:10)
    at Gulp.Orchestrator.start (/syntaxhighlighter/node_modules/orchestrator/index.js:134:8)
    at /syntaxhighlighter/node_modules/gulp/bin/gulp.js:129:20
    at _combinedTickCallback (internal/process/next_tick.js:131:7)
    at process._tickCallback (internal/process/next_tick.js:180:9)
    at Function.Module.runMain (module.js:678:11)
(node:29211) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: ENOENT: no such file or directory, open '/syntaxhighlighter/.projects-cache.json'
(node:29211) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
しかしながら、解決方法は先人の方々が残されていますので、そちらを参考にして解決しました。
はてなブログで SyntaxHighlighter V4 を使ってみました - プログラマーのメモ書き
自分は、Fork して上記ブログで紹介されている解決策にかかれている修正を取り込みました。

Docker 上でビルド
上記修正を取り込んでも自分の Windows マシン上ではうまくビルドできなかったので、Docker 上でビルドしました。ビルドしたイメージは Dockerhub で公開しています。
https://hub.docker.com/r/srzzumix/syntaxhighlighter/

Github Pages で公開
Fork したリポジトリにビルド結果を push するだけですが、今回は Travis CI でビルド → Github Page にデプロイまでやりました。
.travis.yml は以下のとおり。
language: node_js
sudo: false
node_js:
  - '8'

before_script:
  - npm install -g gulp-cli
  - npm install

script:
  - sh ./build.sh
  - ls ./docs

notifications:
  email: false

deploy:
  provider: pages
  local-dir: docs
  skip-cleanup: true
  github-token: "$GITHUB_TOKEN"
  keep-history: true
  on:
    branch: master

env:
  global:
    secure: tbvP6BgRFAhw5id/i8I5Q6tL7dhkmd4tSzwgfOhO5qt16QpzvkES95rma+DOjjVKXbd8Zbpxz5Eax7nuEtH9BxXby0+IxtkeKfZ0nsNr249nFnDLqNVved+iRY6LYxZM2YwlwYOwnsAUbJ6yzk46zjgVVlgyerS7+of/MFzlHlWOwnVF4mJg1gQL9QPodJ1LEsfeUlxjDWuSZayR8KP3/kziMbAo+/F9sL3FEdWgSYU7Ew98KRk0W89sHISKGCJqPljU/VIFYnR6iyzc+QC808MzvqX/iiUKkJJ7N90IZUaC9XqAyArTYun9NKKMR9PKwGzpqUH4Dj57KILmwxaLWfBbNv7T380p/5P+izu1UNY3aaDpaJrtaMK0UYLgjyvev37OTc0VY5mFqUZk7OCLVUhisU34sKkj2oQ6CPvB+dKkvydscjhjVuPYFYb96VhNzena8UYezo1aW1cUNTKRAPcDbQFUO5dr+KFJ9dud+bI0gSIpvbdLPyqdnItWNmXu++eZ6JIpE3hxpZEmkxZOuR6B30aXM3EQiBg+YMQqitAgRKOUsejAWY04GA27MwqfD0JO4bH4gZGFeVUfVECrbjr5L7fuD2qHMAr1ahUc4TLE9cYPCMlXRNzIyL4GfjZtNkkKFDUb9Wu/rpuS8M4kDIDqIejhtOf9EKrNBRVmf1s=

このへんは別の記事にしたのでそちらを参考にしてみてください。
ブログズミ: Travis CI から github に push する

Blogger に組み込み
GitHub Pages にデプロイできたらあとはブログに組み込むだけです。
(SyntaxHighlighter を紹介してる記事でたまにここが間違ってる場合があったので、注意してください。)




最後に
これにて https 化完了です。お疲れ様でした。