1
0
mirror of https://github.com/one-among-us/data.git synced 2024-12-27 12:12:40 +08:00
one-among-us-data/CONTRIBUTING.md
2024-11-24 00:06:23 +08:00

4.9 KiB

How to contribute

0. Write Commit Messages

Effective Feb 20, 2023, we adopt the commit message convention as follows for all One Among Us repositories:

[*] Do something

The message should be written in English. Starting with a mark symbol in square brackets and separated by a space character, the headline should be a imperative sentence describing what you do and end without punctuation marks. Detailed descriptions are not mandatory but recommended if you find it complicated. We follow the 72-column line-wrapping rule.

Marks

[+] Add

[-] Remove

[U] Update

[O] Optimize

[F] Fix

[S] Modify style

[M] Move (also [M] Modify by convention but [U] Modify is recommended)

[R] Refactor

[T] Test

[D] Tweak documentation

[B] Backup

[PR] Merge commit of pull request

Examples

[+] Add entry for sauricat

[U] Update photos for sauricat

[F] Fix punctuation

1. File structures

  • Directory /people/<userid>/: Data for a specific person
    • info.yaml: Profile information
    • page.md: Profile page content
      • page.en.md: English version for page content
      • page.zh_hant.md: Traditional Chinese version for page content
    • photos: Photo directory
    • comments: List of comments made by other users in the format of yyyy-mm-dd-{name}-{id}.txt
  • Directory /data/: Data for building
    • hdata.json: Front-end item behavior, see HData chapter
    • eggs.json: Easter Eggs. Please contact the maintainer to add new easter egg(s).
  • Directory /scripts/: Build Scripts

2. How to build/preview

# Install Dependencies
yarn install

# Build data
yarn build

# Preview Website
yarn preview

For Windows, Yarn could be find at Classic YarnPkg.

3. HData

/data/hdata.json defined some data which used for entry properties. Here is some description of it:

  • commentOnly: string[], the entries which include comments only, like tdor or tdov
  • exclude: string[], the directories which would not be handled
  • notShowOnHome: string[], if you don't want a entry show on the home, add it into this item
  • actualHide: string[], if you don't want a entry show on the home and won't be redirected by random buttons, add it into this item.
    If you set a entry in this list, you have no need to set it into notShowOnHome again.
  • trigger: string[], if you think this article is likely to irritate readers and should be restricted, please set this option.

Example

{
    "commentOnly": [
        "tdor"
    ],
    "exclude": [
        "tdov"
    ],
    "notShowOnHome": [
        "Anilovr",
        "noname3031"
    ],
    "actualHide": [
        "ArtsEpiphany"
    ],
    "trigger": [
        "Xu_Yushu"
    ]
}

4. MDX external features

  1. Both {/*something*/} and <!--something--> can be rendered as comment, will not displayed on the website;
  2. KaTeX formula could be used in the page. eg. C_p=\dfrac{p-p_\infty}{\frac12\rho U_\infty^2}
  3. Footnote could be used.
  4. GitHub [!Note] mark could be used.

5. Components

  • PhotoScroll
    • usage: <PhotoScroll photos={string[]} />
      • photos: string[], the photos which this PhotoScroll will displayed
    • example: <PhotoScroll photos={['${path}/photos/postcard8.jpg', '${path}/photos/postcard9.jpg', '${path}/photos/postcard10.jpg', '${path}/photos/postcard11.jpg',]} />
  • Banner
    • usage: <Banner data={{icon: string, title: string, text: string}} />
      • icon: string, the url of icon.
      • title: string, the title of this banner.
      • text: string, the description of this banner.
    • example: <Banner data={{icon: "https://one-among.us/favicon-large.png", title: "本条目含有大量创伤触发要素", text: "如果您在浏览逝者页面的时候产生不适,请立即退出并寻求医生和社群的帮助,必要时寻找当地自杀干预机构。"}} />
  • BlurBlock
    • usage: <BlueBlock hover?>slot</BlueBlock>
      • hover: optional, If specified it will be displayed when the cursor is hovered, not when clicked.
      • slot html slot
    • example:
      <BlueBlock>
      this is an example blurred paragraph.
      </BlueBlock>
      
  • CapDownQuote
    • usage: <CapDownQuote messages={string[][]} />
      • messages: string[][], the message of quote block.
    • example: <blockquote><CapDownQuote messages={[["你走了呀……姊姊……”", "“这个天线的馈线那些怎么看来着?”"], ["“不上学了嘛……”", "“不是说好了下一次……”"], ["“山猫猫!抱住~”", "“她听力不太好哦……”"], ["“为什么……”", "“把我们丢在这……”"], ["“这是为了她……”", "“下一次一起打mai……”"], ["“教我开车嘛~”", "“帮我照顾好山猫猫~“"], ["“姊姊好厉害,好羡慕……”", "“又被家里人说了,公司的工作也很多……”"]]} /></blockquote>