Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Shipped example configs and docs should use unique plugin IDs

オープン
#263 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
25/100
issue の種類
リファクタリング
明瞭さ
おおむね明確
活発さ
活発
技術スタック
markdown, python

調査の方向性

Start with EXAMPLE_PLUGINS in src/paperpi/example.py and the test that compares the generated example with paperpi.example.toml, then look at new_id in src/paperpi/web/plugins.py to see the existing ID form. The open questions about fixed versus random IDs and the config-check hint need a maintainer decision (txoof) before any edit. Done when the shipped example, docs and plugin READMEs use the agreed unique-ID form and tests cover it.

索引モデルが issue の本文から書いたものです。

説明

area:core area:docs enhancement needs-decision

Found in the web interface demo (2026-10-10): the demo's xkcd plugin had id = "comic", so its storage folder was plugins/comic/. That config was written by hand on 2026-10-09 (after the id decision of 2026-10-08, M5 part 3a-0, #251), copying the style of what PaperPi ships.

Problem: only the Plugin Library makes unique IDs (<type>-<8 random hex>, e.g. xkcd_comic-3f9a1c2e). Everything we ship shows short, readable IDs, so people (and agents) copy that style:

  • paperpi.example.toml (made by src/paperpi/example.py, EXAMPLE_PLUGINS): clock, weather_berlin, weather_rio
  • README.md, docs/writing-plugins.md, docs/decisions/config-format.md: clock, weather_berlin, word_clock
  • every plugin README in src/paperpi/plugins/*/README.md: clock, xkcd, moon, system, ...

Readable IDs are easy to repeat (two people's configs, a plugin added twice, an ID reused after removing a plugin), and a reused ID shares a storage folder with whatever used it before.

Wanted: the defaults we ship get unique-enough IDs, in the same form the Library makes.

To decide (ask txoof):

  • The example config is made again by paperpi example-config and a test compares it with the copy in the repository, so its IDs must be fixed values (for example basic_clock-5c1e0a7b), not new random ones each time. Fixed values in the example are copied by everyone who uses it as it is, so they are unique between plugins in one file, not between installs. Is that enough? Or should paperpi example-config (and the installer, M6) write fresh random IDs into the file it makes for the user, and only the copy in the repository use fixed ones?
  • Docs and plugin READMEs: use the same <type>-<hex> form in every example, or keep short readable IDs there and say clearly that the web interface makes unique ones?
  • Should the config check give a hint for an ID that doesn't have the <type>-<hex> form (hand-written IDs stay allowed)?

Where: src/paperpi/example.py (EXAMPLE_PLUGINS), paperpi.example.toml, src/paperpi/web/plugins.py (new_id, to share one way of making IDs), the docs and plugin READMEs above, maybe src/paperpi/config.py (hint).

Done when: what we ship uses unique-enough IDs as decided, the docs explain where IDs come from, and tests cover it.

主要言語
Python
スター
205
フォーク
17
平均マージ
6時間 4分
マージ済み PR(30日)
45

環境構築

  • Dockerfile・Docker Compose ファイルなし
  • プルリクエストのテンプレートあり
  • コントリビューションガイドなし

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

txoof/PaperPi のほかの issue

txoof/PaperPi の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。