1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

俺の2024年Advent Calendar 2024

Day 3

QiitaのWebエディタのシステムを知ってアドベントカレンダー完走を目指そう!

Last updated at Posted at 2024-12-02

アドベントカレンダーの啓蒙とともに、完走賞に向けた攻略記事という位置付けである
みんなで完走しよう!

「普段全然意識していないであろうQiitaのWebエディタに注目してみた」というのが元々のタイトルだったが、語気強めに口角泡を飛ばした感じにしてみた。こちらの方が私っぽい気がする。

本題

1. Qiitaの記事のステータスを知ろう

当たり前の話だが、当たり前にしないために改めて見直すことにしよう。

  • 公開
  • 下書き
    • 公開済みの下書き(編集)
    • 未投稿の下書き(想定される下書き)
  • 限定公開

ガチャガチャいじってると煩雑になってくるのではないだろうか?
気付いた頃に大掃除しよう、というのが本日の裏テーマ?である

2. ほしいステータス(機能)

ずばり、予約投稿!

そもそもQiitaに予約投稿が必要か?というと「Weekly・Monthlyバッジが欲しい」というモチベーションの場合に限られるように思う。
ちなみに、noteなどは予約を使うことでも達成可能だが、Dailyとかいうバッジもあるので予約機能を使えるうちは余裕なのだろう。

アドベントカレンダーの時期になると「この記事は何日投稿にしよう」とかを決めておく事ができるのだが、これに近い機能はQiitaCLIとcrontabを組み合わせる方法しかない。
たとえば、スプレッドシートで記事IDと投稿日を持っておき、GASのトリガーで毎日監視するようにする。1日一回起動できる状態にしておけばよい。
もし心配であれば「投稿済み」ステータスを管理する項目を作り、投稿に成功したものをtrueなどつけておく方法もある。経験則として、QiitaCLIで投稿が成功した状態で投稿済みにするよりは、投稿後にQiitaAPIを使って記事情報を全件取得してIDを検索した方が確度が高いので、この方法をおすすめする。

が、ここで触れたいのは予約投稿を実現する方法ではなく「予約投稿したい記事をどうやって管理するか」である。それも、Webエディタで完結させたい。つまり、手動での運用を想定している。
たとえば、YYYY/MM/DDのようなプレフィクスを記事のタイトルに含めてしまう方法がわかりやすいだろう。
使い始めると思っている以上に便利(そもそも、こんな工夫をしなくても良いようになってほしいものである)であることに気付く。

そうなると、次のケースが課題になってくる。

3. 課題:記入中の下書きなのか、投稿待ちの状態なのかわからない

シンプルにプレフィクスが足りないのだ。
が、投稿予定日を記入しておいたところで、下書きは最終更新日順なので下書きの状態だけでは結局埋もれてしまう可能性も考えられる。
そこで、「下書き」と「予約投稿日待ち」と「編集中」を下書きだけで管理している状態の解消に目を向ける。
予約投稿日待ちの記事はいったん限定公開にあげてしまうという方法を使って差し支えないのであれば、その方が良いことがある。

投稿キャンペーンに限った話で考える

念のため、下書きを限定公開に変更する場合は、たとえば今回でいうと2024/11/1以降が対象になるので、それまでは記事を下書きのまま寝かしっぱなしにしておく必要があるかもしれない。
なぜなら、限定公開をしてしまうと初回投稿日が確定してしまうからである。
この仕様を考えたときに、真の意味で安全に記事のストックを放出できるのは6月のエンジニアフェスタと、当月のアドベントカレンダーしかないことになる。
普段記事をストックしたい場合は、それこそQiitaCLIなどを活用して下書き状態をWebエディタから見れないようにしておくのが良いのかもしれない

4. 古い限定公開記事をどうするか問題

これはアドベントカレンダーの問題から離れるが、この運用方法は従来の限定公開での運用に差し支える可能性がある。
限定公開の記事を更新するタイミングが何度あるか、そもそも一般公開の記事は後日指摘があって書き換えたり、古いバージョンの内容を刷新したりする事はあるが、限定公開の場合はそれすらない事が多いのではなかろうか?

ということもあり、筆者は実質気にしない(=無視)ようにしている。
のだが、こういった問題が生じる場合は「急がなければ予約日の後から」更新する方法はあるのではないだろうか?
というのも、予約日が過ぎれば元の限定公開記事一覧ページでしかないはずなので、ノイズになる存在も少ないかゼロになっているはず。
なので、極端な運用をしない限りは問題ない。もし管理が難しい状態になるようであれば、予約投稿のプレフィクスを見直したりする必要があるのかもしれない。

別解:Qiita外のシステムを使って運用する

今回私が採用している方法。厳密に言えば↑と併用して二重管理にしている。
ツールについては公開を目的にしているためGitHub IssueなりProjectsなりの記事に譲るとして、ここではあくまでQiitaそのものにフォーカスしてみよう。
まずQiitaは検索性が壊滅的なので、これを解消するためにタスク管理ツールを活用している。

もちろん、Qiitaの記事ページ上で管理する方法もある。
たとえば、管理専用の記事を作って以下のような記述をする方法

  • 1/25 [記事ID] (記事リンク)
  • 2/25 ...

これを https://qiita.com/(ユーザーID)/(items / private)/(記事ID)とすれば記事リンクは作れる。
ありがたいことにQiitaのWebエディタはMarkdownのプレビューに強いので、記事1つで閲覧性を高められるなら方法としては悪くない。

ただし、専用の運用が必要であり、常にアドベントカレンダーだけをフォーカスして日々の業務を営んでいないというのがポイントになるため、Qiitaに入らなければ状況が把握できないのが悩みだ。
ちなみに、投稿管理だけであれば直接アドベントカレンダーのページに飛んでみるのが一番手っ取り早く確実だろう。

所感

この方法は今まさに実践中であり、結果がどうなるか。またやってみた感想などは同じくアドベントカレンダーの後半に書いて所見と反省をまとめてみようと思う。
ここでの知見は来年のエンジニアフェスタやアドベントカレンダーに活用できるかもしれない知見なので、私にとっては価値の高い情報になるのだが、一人で価値を感じても勿体ないのでぜひ活用できるところは持って行ってほしい。

なお、記事の書き方やネタだしは別途必要だが、本稿の目的ではないので別の場所で語ろう。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?