Discourse Frotz ๐Ÿง™

์šฐ์™€, ์ƒˆ๋กœ์šด ํ”Œ๋Ÿฌ๊ทธ์ธ์ž…๋‹ˆ๋‹ค! :tada: ์ด๋ฒˆ ๊ฒƒ์€ ์กฐ๊ธˆ ๋” ๊ฐ€๋ฒผ์šด ๋ถ„์œ„๊ธฐ์ž…๋‹ˆ๋‹ค. :video_game:

Discourse Frotz


์ด์ œ ๋งค ๋‹จ๊ณ„๋งˆ๋‹ค ๋ด‡์„ @๋ฉ˜์…˜ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๊ฒŒ์ž„์ด ์‹œ์ž‘๋˜๋ฉด ๋ด‡์˜ ๊ฒŒ์‹œ๋ฌผ์— ๋‹ต๊ธ€์„ ๋‹ฌ๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

Git ์ €์žฅ์†Œ: GitHub - merefield/discourse-frotz: A plugin that uses Frotz to give you an interactive fiction experience on your Discourse forum ยท GitHub

###่ฟ™ๆ˜ฏไป€ไนˆ

์ด๊ฒƒ์€ Discourse ํฌ๋Ÿผ์—์„œ ์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒ ํ”ฝ์…˜(์ฆ‰, ํด๋ž˜์‹ ํ…์ŠคํŠธ ์–ด๋“œ๋ฒค์ฒ˜ ๊ฒŒ์ž„)์„ ํ”Œ๋ ˆ์ดํ•˜๊ธฐ ์œ„ํ•œ '๋ด‡โ€™์ด๋ฉฐ, David Griffith / frotz ยท GitLab ์— ์žˆ๋Š” ํ‘œ์ค€์ ์ด๊ณ  ๋†€๋ผ์šด Z-๋จธ์‹  ์ธํ„ฐํ”„๋ฆฌํ„ฐ์ธ 'frotzโ€™์— ๋Œ€ํ•œ ์–ด๋Œ‘ํ„ฐ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.

์‚ฌ์šฉ ๋ฐฉ๋ฒ•

์„ค์ •์„ ํ†ตํ•ด ๋‘ ๊ฐœ์˜ ๊ฒŒ์ž„์ด ์ถ”๊ฐ€๋˜๋ฉฐ, ์„ค์ •์—์„œ ๋” ๋งŽ์€ ๊ฒŒ์ž„์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ ํ•ญ๋ชฉ์—๋Š” ์ œ๋ชฉ๊ณผ ์Šคํ† ๋ฆฌ ํŒŒ์ผ ์ด๋ฆ„์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ƒํ˜ธ์ž‘์šฉ์„ ์‹œ์ž‘ํ•˜๋ ค๋ฉด ์„ค์ •์—์„œ ์ง€์ •ํ•œ ๋ด‡์„ @๋ฉ˜์…˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ํ›„, ๋ด‡์˜ ๊ฒŒ์‹œ๋ฌผ์— ๋‹ต๊ธ€์„ ๋‹ฌ๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ฒŒ์ž„์„ ๋‚˜์—ดํ•˜๋ ค๋ฉด ๋จผ์ € ๋ด‡์„ ๋ฉ˜์…˜ํ•˜๊ณ  ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์งˆ๋ฌธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค:

@mybot list games

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์„ ํƒ ๊ฐ€๋Šฅํ•œ ์˜ต์…˜ ๋ชฉ๋ก์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

๊ฒŒ์ž„์„ ์‹œ์ž‘ํ•˜๋ ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž…๋ ฅํ•˜์„ธ์š”:

start game x (x๋ฅผ ์˜ต์…˜ ๋ฒˆํ˜ธ๋กœ ๋Œ€์ฒด)

๋‹ค๋ฅธ ๊ฒŒ์ž„์œผ๋กœ ์ „ํ™˜ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํ”Œ๋Ÿฌ๊ทธ์ธ์€ ๋ชจ๋“  ์›€์ง์ž„๋งˆ๋‹ค ์ง„ํ–‰ ์ƒํ™ฉ์„ ์ €์žฅํ•˜๋ฏ€๋กœ ์–ธ์ œ๋“  ์ฒซ ๋ฒˆ์งธ ์Šคํ† ๋ฆฌ๋กœ ๋Œ์•„๊ฐˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ”Œ๋Ÿฌ๊ทธ์ธ์€ ๊ฐ ์Šคํ† ๋ฆฌ๋ณ„๋กœ ๋ชจ๋“  ์‚ฌ์šฉ์ž์˜ ์ €์žฅ ํŒŒ์ผ์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ์กด ๊ฒŒ์ž„์„ ๊ณ„์†ํ•˜๋ ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž…๋ ฅํ•˜์„ธ์š”:

continue game x (x๋ฅผ ์˜ต์…˜ ๋ฒˆํ˜ธ๋กœ ๋Œ€์ฒด)

์ฐธ๊ณ : ์ „์ฒด ์žฌ๋นŒ๋“œ ์‹œ ๋ชจ๋“  ์ €์žฅ ํŒŒ์ผ์ด ์‚ญ์ œ๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋ถˆ๊ฐ€ํ”ผํ•œ ํƒ€ํ˜‘์ž…๋‹ˆ๋‹ค.

IF ๊ฒŒ์ž„์„ ์–ด๋–ป๊ฒŒ ํ”Œ๋ ˆ์ดํ•˜๋‚˜์š”?

๋งŽ์€ โ€œMetaโ€ ์‚ฌ์šฉ์ž๋“ค์€ ์ด๋Ÿฐ ๊ฒŒ์ž„๋“ค๊ณผ ํ•จ๊ป˜ ์ž๋ž์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ต์ˆ™ํ•˜์ง€ ์•Š์€ ๋ถ„๋“ค์„ ์œ„ํ•ด ์ด ์น˜ํŠธ์‹œํŠธ๋ฅผ ํ™•์ธํ•ด ๋ณด์„ธ์š”: Play Some Interactive Fiction

์„ค์ •

๋ด‡ ์‚ฌ์šฉ์ž ์ƒ์„ฑ

(์‚ฌ๊ณผ๋“œ๋ฆฝ๋‹ˆ๋‹ค, ์ด ๊ณผ์ •์˜ ์ž๋™ํ™”๋Š” ์ œ ํ•  ์ผ ๋ชฉ๋ก์— ์žˆ์Šต๋‹ˆ๋‹ค!)

ssh ์„ธ์…˜์—์„œ ์ปจํ…Œ์ด๋„ˆ์™€ rails ์ฝ˜์†”์— ์ง„์ž…ํ•˜์„ธ์š”:

./launcher enter app
rails c

๊ทธ๋Ÿฐ ๋‹ค์Œ ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•˜์„ธ์š”:

u = User.create!(username: "Frotz", name: "FrotzBot", id:-5, email: "not@really.valid")
u.activate

์ด์ œ ์ƒˆ๋กœ ์ƒ์„ฑ๋œ ๋ด‡์„ UI์—์„œ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ด€๋ฆฌ ๋ฒ„ํŠผ์œผ๋กœ ์‚ฌ์šฉ์ž ์„ค์ •์œผ๋กœ ์ด๋™ํ•˜์—ฌ ๋ชจ๋“  ์ด๋ฉ”์ผ ์•Œ๋ฆผ์„ ๋„์„ธ์š”. ์•„๋ฐ”ํƒ€๋ฅผ ์ทจํ–ฅ์— ๋งž๊ฒŒ ์—…๋ฐ์ดํŠธํ•˜์„ธ์š”.

Discourse Frotz ์„ค์น˜

app.yml ์—…๋ฐ์ดํŠธ

์ด๊ฒƒ์€ ์ผ๋ฐ˜์ ์ธ ํ”Œ๋Ÿฌ๊ทธ์ธ๋ณด๋‹ค ์กฐ๊ธˆ ๋” ์นจ์Šต์ ์ž…๋‹ˆ๋‹ค.

app.yml์— ๋‹ค์Œ์„ ์ถ”๊ฐ€ํ•˜์„ธ์š”:

hooks:
  after_code:
    - exec:
        cd: $home
        cmd:
          - git clone https://gitlab.com/DavidGriffith/frotz
    - exec:
        cd: $home/frotz
        cmd:
          - make dfrotz
    - exec:
        cd: $home/frotz
        cmd:
          - mkdir savegames
    - exec:
        cd: $home/frotz
        cmd:
          - mkdir stories
    - exec:
        cd: $home/frotz/stories
        cmd:
          - wget -O zork1.z3 https://eblong.com/infocom/gamefiles/zork1-r119-s880429.z3
    - exec:
        cd: $home/frotz/stories
        cmd:
          - wget --no-check-certificate http://www.douglasadams.com/creations/hhgg.z3
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/merefield/discourse-frotz

๋‹ค๋ฅธ ํ”Œ๋Ÿฌ๊ทธ์ธ ํ•ญ๋ชฉ ์•ž์— ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ Discourse BBCode ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค!!

์ผ๋ฐ˜์ ์ธ ./launcher rebuild app ๋ช…๋ น์œผ๋กœ ์žฌ๋นŒ๋“œํ•˜์„ธ์š”.

์ด์ œ ํ”Œ๋Ÿฌ๊ทธ์ธ ์„ค์ •์œผ๋กœ ์ด๋™ํ•˜์—ฌ ์ด์ „์— ์ถ”๊ฐ€ํ•œ ๋ด‡ ์‚ฌ์šฉ์ž๋ฅผ ์„ ํƒํ•˜์„ธ์š”:

image

์Šคํ† ๋ฆฌ

๋ช‡ ๊ฐœ์˜ ์Šคํ† ๋ฆฌ๋ฅผ ํฌํ•จํ–ˆ์Œ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋” ๋งŽ์€ ์Šคํ† ๋ฆฌ๋Š” https://ifdb.tads.org/ ์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜, ์—ฌ๊ธฐ์„œ ์†๋„ ์ œํ•œ์— ์œ ์˜ํ•˜์„ธ์š”! ๊ฐ™์€ ์œ„์น˜์—์„œ ๋„ˆ๋ฌด ๋งŽ์€ ์Šคํ† ๋ฆฌ๋ฅผ ๊ฐ€์ ธ์˜ค๋ฉด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ ์Šคํ† ๋ฆฌ๊ฐ€ HTTPS๋กœ ๋ณดํ˜ธ๋œ ์„œ๋ฒ„์— ์žˆ์ง€ ์•Š๋‹ค๋Š” ์ ๋„ ์•Œ์•„๋‘์„ธ์š”(์ฏง์ฏง).

๋” ๋งŽ์€ ์Šคํ† ๋ฆฌ๋ฅผ ๋กœ๋“œํ•ด์•ผ ํ•œ๋‹ค๋ฉด app.yml์— ์ถ”๊ฐ€ํ•˜์„ธ์š”. ๋ช…๋ น ํ”„๋กฌํ”„ํŠธ์—์„œ ์ˆ˜๋™์œผ๋กœ ์ถ”๊ฐ€ํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ, ์ด๋Š” ๋‹ค์Œ ์ „์ฒด ์žฌ๋นŒ๋“œ ์‹œ ์‚ญ์ œ๋œ๋‹ค๋Š” ์ ์„ ์ธ์ง€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ฐœ์ธ ๋ฉ”์‹œ์ง€๋กœ FrotzBot ํ™œ์„ฑํ™” (์ฃผ์˜ ํ•„์š”)

์‚ฌ์šฉ์ž๊ฐ€ ๊ฐœ์ธ์ ์œผ๋กœ ํ”Œ๋ ˆ์ดํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜์ง€๋งŒ, ์‚ฌ์šฉ์€ ๋œ ํˆฌ๋ช…ํ•ด์ง‘๋‹ˆ๋‹ค. ์„œ๋ฒ„๊ฐ€ ์ถฉ๋ถ„ํžˆ ํฌ๋‹ค๋ฉด ์ด๊ฒƒ์ด ๋ฌธ์ œ๊ฐ€ ๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์–ด์จŒ๋“  ์šฉ๋Ÿ‰์— ๋Œ€ํ•œ ์˜ํ–ฅ์„ ์ธ์ง€ํ•˜์„ธ์š”. ๋Œ€์•ˆ์œผ๋กœ, ์ง€์ •๋œ ์นดํ…Œ๊ณ ๋ฆฌ์—์„œ ํ”Œ๋ ˆ์ดํ•˜๋„๋ก ์‚ฌ์šฉ์ž๋ฅผ ์žฅ๋ คํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

image
๊ธฐ๋ณธ๊ฐ’: OFF

ํ•ด๋‹น ์‚ฌ์šฉ์ž๊ฐ€ ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์ง€ ์•Š์œผ๋ฉด, ์‚ฌ์šฉ์ž๋Š” ์ •์ค‘ํ•œ ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›๊ฒŒ ๋ฉ๋‹ˆ๋‹ค:

์นดํ…Œ๊ณ ๋ฆฌ๋ณ„ FrotzBot ์ œํ•œ

๋‹ค๋ฅธ ์˜์—ญ์„ ์ฐจ์ง€ํ•˜์ง€ ์•Š๋„๋ก ๋ด‡์„ (์นดํ…Œ๊ณ ๋ฆฌ ๋ชฉ๋ก์œผ๋กœ) ์ œํ•œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

ํ‚ค๋ณด๋“œ ๋‹จ์ถ•ํ‚ค!

์ด๊ฒƒ์€ โ€˜๊ฒŒ์ด๋ฐโ€™ ๊ฒฝํ—˜์„ ๊ฐœ์„ ํ•˜๋Š” ๋ฐ ์ •๋ง ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์‹ค์ œ๋กœ ๊ธฐ์–ตํ•ด์•ผ ํ•  ๋‹จ์ถ•ํ‚ค๋Š” ๋‘ ๊ฐœ๋ฟ์ž…๋‹ˆ๋‹ค:

  • Shift-R ๋ด‡์— ๋‹ต๊ธ€ ์ž‘์„ฑ

  • Ctrl-Enter ๋‹ค์Œ ์›€์ง์ž„ ์ œ์ถœ

์ œํ•œ ์‚ฌํ•ญ ๋ฐ ๊ณ ๋ ค ์‚ฌํ•ญ

์•„์ง ๋ชจ๋“  ์Šคํ† ๋ฆฌ ํ˜•์‹๊ณผ ๊ฒŒ์ž„์ด ์ง€์›๋˜์ง€ ์•Š์œผ๋ฉฐ, ์•ž์œผ๋กœ๋„ ์ง€์›๋˜์ง€ ์•Š์„ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ˜ธ์ถœ ๋ฐ ์‘๋‹ต ํ”„๋กœํ† ์ฝœ์˜ ํŠน์„ฑ ๋•Œ๋ฌธ์— ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ๊ฒŒ์ž„์ด ๋งŽ์Šต๋‹ˆ๋‹ค. ๊ฒŒ์‹œ๋ฌผ ๋‹จ์œ„๋กœ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” ๋ฐฉ์‹ ๋•Œ๋ฌธ์— Frotz๊ฐ€ ๊ฐ ์›€์ง์ž„ ํ›„ ์ƒํƒœ๋ฅผ ์ €์žฅํ•˜๋„๋ก ์š”์ฒญํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ฒŒ์ž„์˜ ํ•œ ๋‹จ๊ณ„๊ฐ€ ์‹œ์Šคํ…œ์ด ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋กฌํ”„ํŠธ(์ž„์˜์˜ ํ‚ค๋ฅผ ๋ˆŒ๋Ÿฌ ๊ณ„์†ํ•˜๊ฑฐ๋‚˜ More ํ”„๋กฌํ”„ํŠธ๋Š” ์ฒ˜๋ฆฌ๋˜์–ด์•ผ ํ•˜๋ฏ€๋กœ ๋ฌด์‹œ)๋กœ ์ด์–ด์ง€์ง€ ์•Š์œผ๋ฉด ์Šคํ† ๋ฆฌ๊ฐ€ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, Act of Murder(ํ›Œ๋ฅญํ•œ ๊ฒŒ์ž„!)์—์„œ ๋ฌธ ์•ž์˜ ์—ฌ์„ฑ์ด ๋‹น์‹ ์ด ๊ฒฝ์ฐฐ๊ด€์ธ์ง€ ๋ฌป์Šต๋‹ˆ๋‹ค. ๋ถˆํ–‰ํžˆ๋„ ์ด๊ฒƒ์€ ์ €์žฅํ•  ์ˆ˜ ์—†๋Š” ๊ฒŒ์ž„ ์ƒํƒœ์ด๋ฏ€๋กœ ์ด ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•˜์ง€ ๋ชปํ•˜๋ฉฐ, ์ด๋ฅผ ์ž‘๋™ํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์ฐธ๊ณ : ๋ฉ”์ผ๋ง ๋ฆฌ์ŠคํŠธ ๋ชจ๋“œ๋Š” ์ด๊ฒƒ๊ณผ ํ•จ๊ป˜ ์žฌ์•™ ์ด๋ฏ€๋กœ, ์ด ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ์‹œ๋„ํ•˜๊ธฐ ์ „์— ์ด๊ฒƒ์ด ์‚ฌ์šฉ๋˜์ง€ ์•Š๋„๋ก ํ™•์ธํ•˜์„ธ์š”!

๊ฐ 'movementโ€™๋งˆ๋‹ค ์ตœ์†Œ ๋‘ ๊ฐœ์˜ ๊ฒŒ์‹œ๋ฌผ์ด ํ•„์š”ํ•˜๋ฏ€๋กœ ํฌ๋Ÿผ ๋ฆฌ์†Œ์Šค๋ฅผ ๋‹ค์†Œ ๋‚ญ๋น„ํ•œ๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹น์—ฐํžˆ ์ด๋Ÿฌํ•œ ์œ ํ˜•์˜ ๊ฒŒ์ž„์€ ํฌ๋Ÿผ๋ณด๋‹ค๋Š” ์ฑ„ํŒ… ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ”Œ๋ ˆ์ดํ•˜๋Š” ๊ฒƒ์ด ๋” ์ ํ•ฉํ•œ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด๊ฒƒ์ด ์›Œํฌ์Šค๋ฃจ(Walkthroughs)๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ฃผ์žฅํ•  ์ˆ˜๋„ ์žˆ๊ฒ ์ฃ ? :wink:

๋œ ์นจ์Šต์ ์ธ ์†”๋ฃจ์…˜์„ ์›ํ•œ๋‹ค๋ฉด ๋‹ค์Œ์„ ๊ณ ๋ คํ•ด ๋ณด์„ธ์š”: Turning a topic into interactive fiction ;)

ํ”ผ๋“œ๋ฐฑ

๋ชจ๋“  ํ”ผ๋“œ๋ฐฑ์„ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค!

ํฌ๋ ˆ๋”ง

์ด ํ”Œ๋Ÿฌ๊ทธ์ธ์€ ์„ค์ • ์Šคํฌ๋ฆฝํŠธ์—์„œ ํด๋ก ๋˜๊ณ  'makeโ€™๋˜๋Š” Frotz Z-์ธํ„ฐํ”„๋ฆฌํ„ฐ์ธ David Griffith / frotz ยท GitLab ๋ฅผ ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค.

ํ•จ๊ป˜ ์ž‘์—…ํ•œ ํด๋กœ์ฆˆ๋“œ ์†Œ์Šค ์ฑ—๋ด‡์˜ ์ฝ”๋“œ ๋ฐœ์ทŒ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ—ˆ๋ฝํ•ด ์ค€ @P16 ์—๊ฒŒ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

45๊ฐœ์˜ ์ข‹์•„์š”

์šฐ์™€, ๋Œ์•„์™”๊ตฐ์š”!

์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ๋“ค

๊ฐœ์ธ ๋ฉ”์‹œ์ง€์—์„œ FrotzBot ํ™œ์„ฑํ™” (์ฃผ์˜ํ•˜์„ธ์š”! ;))

์‚ฌ์šฉ์ž๊ฐ€ ๊ฐœ์ธ์ ์œผ๋กœ ํ”Œ๋ ˆ์ดํ•  ์ˆ˜ ์žˆ๋„๋ก ํ—ˆ์šฉํ•˜์ง€๋งŒ, ์‚ฌ์šฉ ํ˜„ํ™ฉ์ด ๋œ ํˆฌ๋ช…ํ•ด์ง‘๋‹ˆ๋‹ค. ์„œ๋ฒ„ ๊ทœ๋ชจ๊ฐ€ ์ถฉ๋ถ„ํžˆ ํฌ๋‹ค๋ฉด ๋ฌธ์ œ๊ฐ€ ๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

image
๊ธฐ๋ณธ๊ฐ’: OFF

ํ•ด๋‹น ์„ค์ •์ด ๋น„ํ™œ์„ฑํ™”๋œ ๊ฒฝ์šฐ, ์‚ฌ์šฉ์ž๋Š” ์ •์ค‘ํ•œ ์•ˆ๋‚ด ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›๊ฒŒ ๋ฉ๋‹ˆ๋‹ค:

์นดํ…Œ๊ณ ๋ฆฌ ๋ชฉ๋ก์œผ๋กœ ์ œํ•œํ•˜๊ฑฐ๋‚˜, ๋ชจ๋“  ์นดํ…Œ๊ณ ๋ฆฌ๋ฅผ ํ—ˆ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:


๊ธฐ๋ณธ๊ฐ’: ๋ชจ๋“  ์นดํ…Œ๊ณ ๋ฆฌ ON

10๊ฐœ์˜ ์ข‹์•„์š”

๋กœ๋ฒ„ํŠธ๋‹˜, ์•ˆ๋…•ํ•˜์„ธ์š”! ์ด ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์ •๋ง ๋งˆ์Œ์— ๋“ญ๋‹ˆ๋‹ค!
Docker ์—†์ด ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์—์„œ ์„ค์น˜ํ•ด ๋ดค๋Š”๋ฐ, dfrotz๋ฅผ ๋นŒ๋“œํ•  ๋•Œ ์‹œ์Šคํ…œ์ด ncursesw ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์š”๊ตฌํ•˜๋”๊ตฐ์š”. ํ•ด๋‹น ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์„ค์น˜ํ•œ ํ›„์—๋Š” ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ–ˆ์Šต๋‹ˆ๋‹ค. Docker๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์—์„œ๋„ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ• ๊นŒ์š”?

1๊ฐœ์˜ ์ข‹์•„์š”

ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์—์„œ ํ…Œ์ŠคํŠธํ•ด ๋ณด๋‹ˆ, Docker๋กœ ๋นŒ๋“œํ•˜๋Š” ๊ณผ์ •์ด (๋‚ด ์˜ˆ์ƒ๊ณผ ๋‹ฌ๋ฆฌ) ๋ฐ”๋กœ ์ž˜ ์ž‘๋™ํ–ˆ์Šต๋‹ˆ๋‹ค. ์›ํ•˜์‹œ๋Š” ๊ฒฝ์šฐ ํ”„๋กœ๋•์…˜ ์ธ์Šคํ„ด์Šค์— ๋ฐฐํฌํ•ด ๋ณด์‹œ๊ณ , ์ง„ํ–‰ ์ƒํ™ฉ์„ ์•Œ๋ ค์ฃผ์„ธ์š”.

์ข‹์•„ํ•ด ์ฃผ์…”์„œ ๊ธฐ์ฉ๋‹ˆ๋‹ค!!

2๊ฐœ์˜ ์ข‹์•„์š”

๋‚˜์ฒ˜๋Ÿผ ๊ทธ ์ผ ๋•Œ๋ฌธ์— ๋งˆ์ง€๋ง‰ ๋ช‡ ๊ฐ€๋‹ฅ ๋จธ๋ฆฌ์นด๋ฝ๊นŒ์ง€ ์žƒ์„์ง€๋„ ๋ชจ๋ฅผ ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•ด:

hhgg.z3,9,7,3
์ด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

  story_header_lines = 9
  story_load_lines = 7
  story_save_lines = 3

๊ทธ๋ฆฌ๊ณ  ์ด์ œ ์–ด๋–ป๊ฒŒ ์ ์šฉํ• ์ง€โ€ฆ :sweat_smile:, ๋ชจํ—˜ ์†์˜ ๋ชจํ—˜์ด๋„ค์š”โ€ฆ!

1๊ฐœ์˜ ์ข‹์•„์š”

ํ˜„์žฌ Frotz์˜ ์œ ์ง€๋ณด์ˆ˜์ž์™€ ํ˜‘๋ ฅํ•˜์—ฌ ๊ทธ ๋ถ€๋ถ„์„ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. restful-Frotz์—์„œ ๊ฐ€์ ธ์˜จ ๋ฐฉ์‹์ด์ง€๋งŒ, ์™„๋ฒฝํ•˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค :slight_smile:

1๊ฐœ์˜ ์ข‹์•„์š”

๋„ค! ์ฐพ์•˜์–ด์š”!
kheper.z8,20,15,4 ๊ฐ€ ๊ฑฐ์˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.
์ด ๊ฒŒ์ž„์˜ ๊ฒฝ์šฐ:

:smiley:

๋ณ„๊ฒƒ์€ ์•„๋‹ˆ์ง€๋งŒ ๋ญ”๊ฐ€ ์ด์ƒํ•œ ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

) Line-type display OFF
Compression mode MAX, hiding top 0 lines

์ด ๋‚ด์šฉ์ด Pause()์— ์˜ํ•ด ํ•œ ๋ฒˆ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

[Pause notNeeded;
@read_char 1 notNeeded;
rtrue;
];

1๊ฐœ์˜ ์ข‹์•„์š”

ํ•˜, ๋„ค, ์ด์•ผ๊ธฐ๋“ค์—๋Š” ์ˆ˜๋งŽ์€ ํŠน์ด์ ๊ณผ ์ƒ๋‹นํ•œ ๋‹ค์–‘์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋‘๋ฅผ ์ง€์›ํ•˜๊ฒ ๋‹ค๊ณ  ์•ฝ์†ํ•  ์ˆ˜๋Š” ์—†์–ด์š”.

์ง€๊ธˆ์€ ๋‹ค์Œ ์‚ฌํ•ญ์— ์ง‘์ค‘ํ•˜๊ณ  ์žˆ์–ด์š”:

  1. ์ฝ”๋“œ ๋‹จ์ˆœํ™”
  2. ์ฝ”๋“œ ๋ณด์•ˆ ๊ฐ•ํ™”
  3. ์‹ค์šฉ์ ์ธ ๋ถ€๋ถ„์—์„œ ํฌ๋งทํŒ… ์ถ”๊ฐ€

#3๋ฒˆ์ด ์˜์™ธ๋กœ ์–ด๋ ต์Šต๋‹ˆ๋‹ค.

1๊ฐœ์˜ ์ข‹์•„์š”

๊ธฐ๋Šฅ ๋ธŒ๋žœ์น˜์— ๋ช‡ ๊ฐ€์ง€ ๊ฐœ์„  ์‚ฌํ•ญ์„ ํ‘ธ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค:

์ด ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ๋ฌด์˜๋ฏธํ•œ ์–ต์ œ(suppression) ์„ค์ •์„ ์ œ๊ฑฐํ•˜๊ณ , ์„œ์‹ ๋ฐ ์ƒ‰์ƒ ์ง€์›์„ ์œ„ํ•ด BBCode ๋ฒˆ์—ญ์„ ๋„์ž…ํ•˜๋ฉฐ, Dumb Frotz ๋ช…๋ น์ค„ ์˜ต์…˜์„ ๋” ์ž˜ ํ™œ์šฉํ•˜๊ณ , ํ…์ŠคํŠธ ์ŠคํŠธ๋ฆผ์— ์ž‘์„ฑํ•  ํ•„์š”์„ฑ์„ ์—†์• ๋ฉฐ, ์ทจ์•ฝ์ ์„ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค.

์ด ๋ธŒ๋žœ์น˜๋Š” ๊ณต์‹ BBCode ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์„ค์น˜๋˜์–ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์•„์ง ์‹คํ—˜ ๋‹จ๊ณ„์ž…๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ๋ถ„๋„ ์ž์œ ๋กญ๊ฒŒ ์‹œ๋„ํ•ด ๋ณด์„ธ์š”.

์ถฉ๋ถ„ํ•œ ํ…Œ์ŠคํŠธ๊ฐ€ ์ด๋ฃจ์–ด์ง„ ํ›„ ๋ณ‘ํ•ฉํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

1๊ฐœ์˜ ์ข‹์•„์š”

ํ”Œ๋Ÿฌ๊ทธ์ธ์ด frotz ์ €์žฅ์†Œ ์ „์ฒด ํด๋ก ์„ ํ•„์š”๋กœ ํ•˜๋Š” ๊ฑด๊ฐ€์š”, ์•„๋‹ˆ๋ฉด $home/frotz/dfrotz๋งŒ ์กด์žฌํ•˜๋ฉด ๋˜๋Š” ๊ฑด๊ฐ€์š”? ์žฌ๋นŒ๋“œ ์‚ฌ์ด์— ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ ์ €์žฅํ•ด ๋‘๊ณ  ํ•œ ๋ฒˆ๋งŒ ์ปดํŒŒ์ผํ•˜๊ณ  ์‹ถ๊ธฐ ๋•Œ๋ฌธ์ด๊ฑฐ๋“ ์š”.

์™œ ์‹ ๊ฒฝ ์“ฐ์‹œ๋Š”์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ๋„ค์š”. ์šฐ๋ฆฌ๊ฐ€ ์ด์•ผ๊ธฐํ•˜๋Š” ๋ฆฌ์†Œ์Šค๋Š” ์ƒ๋Œ€์ ์œผ๋กœ ๋งค์šฐ ์ž‘์Šต๋‹ˆ๋‹ค. (make๋ฅผ ์‹คํ–‰ํ•œ ํ›„ ์ „์ฒด ์ €์žฅ์†Œ๊ฐ€ 6MB์ธ ๋ฐ˜๋ฉด, ํฌ๋Ÿผ์€ ๊ธฐ๊ฐ€๋ฐ”์ดํŠธ ์ˆ˜์ค€์ด๋‹ˆ๊นŒ์š”.) ์ด ๊ณผ์ •์€ ์ €์žฅ์†Œ ์ „์ฒด๋ฅผ ํด๋ก ํ•œ ํ›„ dfrotz๋งŒ ๋นŒ๋“œํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์†Œ ๋‚ญ๋น„์ผ ์ˆ˜๋Š” ์žˆ์ง€๋งŒ, ์ €๋Š” ๋‹จ์ˆœ์„ฑ๊ณผ ์žฌํ˜„์„ฑ์ด ๋” ์ค‘์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๋” ์ž์„ธํ•œ ๋‚ด์šฉ์„ ๋‹ค๋ฃจ๋ฉฐ ์ŠคํŒŒ์Šค ํด๋ก ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜๋Š” ์žˆ์ง€๋งŒ, ๊ทธ๋ ‡๊ฒŒ ํ•˜๋ฉด ๋นŒ๋“œ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๋” ๋ณต์žกํ•ด์ง€๊ณ  ๊ฒฌ๊ณ ์„ฑ์ด ๋–จ์–ด์ง‘๋‹ˆ๋‹ค. ๊ทธ๋Ÿด ๊ฐ€์น˜๊ฐ€ ์žˆ์„๊นŒ์š”? ์ตœ์ ํ™”์— ๋Œ€ํ•œ ์ œ์•ˆ์„ ์ž์œ ๋กญ๊ฒŒ ํ•ด์ฃผ์„ธ์š”. ์ด ๋ชจ๋“  ์ž‘์—…์€ ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์—์„œ ์ด๋ฃจ์–ด์ง€๋ฏ€๋กœ, ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ •๋ฆฌ๋  ๋•Œ ํ•จ๊ป˜ ์ •๋ฆฌ๋ฉ๋‹ˆ๋‹ค.

์ €๋Š” ์ œ ์ž‘์€ ์„œ๋ฒ„๋ฅผ ์ตœ์ ํ™”ํ•˜๋ ค๋Š” ๊ฒƒ์ด์ง€, ์ผ๋ฐ˜์ ์ธ ์„ค์น˜ ๋ฐฉ์‹์„ ๋ฐ”๊ฟ” ๋‹ฌ๋ผ๊ณ  ํ•˜๋Š” ๊ฒŒ ์•„๋‹™๋‹ˆ๋‹ค.

1๊ฐœ์˜ ์ข‹์•„์š”

์ •๋ง ๋ฉ‹์ง„ ํ”Œ๋Ÿฌ๊ทธ์ธ์ž…๋‹ˆ๋‹ค! ๋ช‡ ๋…„ ์ „์— ๋งŒ๋“ค์–ด์กŒ๋˜ โ€œํด๋ž˜์‹โ€ ์ปดํ“จํ„ฐ ๊ฒŒ์ž„์„ ๋– ์˜ฌ๋ฆฌ๊ฒŒ ํ•˜๋„ค์š”(์ด๋ฆ„์„ ์žŠ์–ด๋ฒ„๋ ธ์–ด์š”).

3๊ฐœ์˜ ์ข‹์•„์š”

๋‹จ์ˆœํ•˜๊ณ  ๊ฒฌ๊ณ ํ•˜๊ฒŒ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด, ํ–ฅํ›„ ์ตœ์ ํ™”๋ฅผ ์œ„ํ•œ ํ›Œ๋ฅญํ•œ ์ œ์•ˆ์ž…๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

1๊ฐœ์˜ ์ข‹์•„์š”

๋„ค, ํ”Œ๋ ˆ์ดํ•  ์ˆ˜ ์žˆ๋Š” ํด๋ž˜์‹ ๊ฒŒ์ž„์ด ๋งŽ์Šต๋‹ˆ๋‹ค. OP์˜ ๋งํฌ๋ฅผ ํ†ตํ•ด ๋” ๋งŽ์€ ๊ฒŒ์ž„์„ ํ™•์ธํ•ด ๋ณด์„ธ์š”.

2๊ฐœ์˜ ์ข‹์•„์š”

ํฐ ์—…๋ฐ์ดํŠธ: :tada: :kiwi_fruit:

(์ด ์ž‘์—…์€ ์ˆ˜๊ฐœ์›”๊ฐ„์˜ ๊ฐ„ํ—์ ์ธ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ž‘์—…๊ณผ Frotz ํŒ€๊ณผ์˜ ์กฐ์œจ์„ ํ•„์š”๋กœ ํ–ˆ์Šต๋‹ˆ๋‹ค.)

์Šคํ† ๋ฆฌ์— ๋Œ€ํ•œ ์ „์ฒด ์ƒ‰์ƒ ๋ฐ ๊ณ ์ •ํญ ์„œ์‹ ์ง€์› ๋„์ž…

์ด๋ฒˆ ๋Œ€๊ทœ๋ชจ ์—…๋ฐ์ดํŠธ์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์—ฌ๋Ÿฌ ๊ฐœ์„  ์‚ฌํ•ญ์ด ํฌํ•จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค:

  • ์ƒ‰์ƒ ์„œ์‹ ๋ฐ ๊ณ ์ •ํญ ํ…์ŠคํŠธ ์ง€์› ์ถ”๊ฐ€
  • ๋‹จ์ˆœํ™”๋œ ์„ค์ • ๊ฐœ์„ : ํ—ค๋”์™€ ํ‘ธํ„ฐ์˜ ๋ณด์ •์ด ๋” ์ด์ƒ ํ•„์š”ํ•˜์ง€ ์•Š์œผ๋ฉฐ, ์›ํ•˜๋Š” ์ œ๋ชฉ๊ณผ ์Šคํ† ๋ฆฌ ํŒŒ์ผ๋งŒ ์ง€์ •ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค!
  • ์‹œ์Šคํ…œ ๋ช…๋ น์„ ์œ„ํ•ด Open3 gem์„ ์‚ฌ์šฉํ•˜์—ฌ ์•…์šฉ/์ทจ์•ฝ์  ๋ฐœ์ƒ ์œ„ํ—˜ ๊ฐ์†Œ
  • ์ปค๋งจ๋“œ ๋ผ์ธ๊ณผ์˜ ๋‚ด๋ถ€ ์ƒํ˜ธ์ž‘์šฉ ๊ฐœ์„ : ์ŠคํŠธ๋ฆผ ํŒŒ์ผ์˜ ํ•„์š”์„ฑ์„ ์ œ๊ฑฐํ•˜๊ณ , ๋” ๋งŽ์€/์•„๋ฌด ํ‚ค๋‚˜ ๋ˆ„๋ฅด๊ธฐ ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ฐœ์„ 

์ด์ œ Discourse BBCode ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค!!

์ด ์ž‘์—…์—๋Š” Frotz์˜ ์œ ์ง€๋ณด์ˆ˜์ž David Griffiths์™€ ํ•ด๋‹น ์ปค๋ฎค๋‹ˆํ‹ฐ์˜ ๋งค์šฐ ํ™œ๋™์ ์ธ ๋ฉค๋ฒ„ ์ค‘ ํ•œ ๋ช…์ธ, BBCode Discourse ํ‘œ์ค€์— ๊ธฐ๋ฐ˜ํ•œ BBCode ํ™•์žฅ ๊ธฐ๋Šฅ์„ ์ž‘์„ฑํ•œ Borg323์˜ ํ˜‘์—…์ด ํ•„์š”ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‘ ๋ถ„๊ป˜ ์ง„์‹ฌ์œผ๋กœ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค! ๊ณ ์ •ํญ ํ…์ŠคํŠธ ๊ธฐ๋Šฅ์„ ์ž‘๋™์‹œํ‚ค๊ธฐ ์œ„ํ•ด ๋‹ค์†Œ ์ฐฝ์˜์ ์ธ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•ด์•ผ ํ–ˆ์ง€๋งŒ, ํ•ด๊ฒฐ์ฑ…์€ ์ •๋ง ํ›Œ๋ฅญํ•ฉ๋‹ˆ๋‹ค!

์ƒˆ๋กœ์šด ์„œ์‹์˜ ๋ช‡ ๊ฐ€์ง€ ์˜ˆ์‹œ์ž…๋‹ˆ๋‹ค(์ด ์Šคํ† ๋ฆฌ๋“ค์€ ์™„์ „ํžˆ ํ…Œ์ŠคํŠธ๋˜์ง€ ์•Š์•˜์œผ๋ฉฐ, ์„œ์‹ ์˜ˆ์‹œ์ผ ๋ฟ์ž…๋‹ˆ๋‹ค)

์—ฌ๊ธฐ์„œ ์ƒ‰์ƒ์œผ๋กœ ํ‘œ์‹œ๋œ ๋‚˜์นจ๋ฐ˜์„ ์ฃผ๋ชฉํ•ด ๋ณด์„ธ์š”:

์•Œ๋ ค์ง„ ๋ฌธ์ œ: ํ˜ธ์ถœ ๋ฐ ์‘๋‹ต ํ”„๋กœํ† ์ฝœ์˜ ํŠน์„ฑ ๋•Œ๋ฌธ์— ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ๊ฒŒ์ž„์ด ๋งŽ์Šต๋‹ˆ๋‹ค. ๊ฒŒ์ž„์˜ ํ•œ ๋‹จ๊ณ„๊ฐ€ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋กฌํ”„ํŠธ๋กœ ์ด์–ด์ง€์ง€ ์•Š๋Š” ๊ฒฝ์šฐ(์ฒ˜๋ฆฌ๋˜์–ด์•ผ ํ•˜๋Š” ์•„๋ฌด ํ‚ค๋‚˜ ๋ˆ„๋ฅด๊ธฐ ๋˜๋Š” More ํ”„๋กฌํ”„ํŠธ๋ฅผ ๋ฌด์‹œํ•˜๊ณ ), ํ•ด๋‹น ์Šคํ† ๋ฆฌ๋Š” ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด Act of Murder(ํ›Œ๋ฅญํ•œ ๊ฒŒ์ž„!)์—์„œ ๋ฌธ ์•ž์˜ ์—ฌ์„ฑ์ด ๊ฒฝ์ฐฐ์ธ์ง€ ๋ฌป์Šต๋‹ˆ๋‹ค. ๋ถˆํ–‰ํžˆ๋„ ์ด ๊ฒŒ์ž„ ์ƒํƒœ๋Š” ์ €์žฅํ•  ์ˆ˜ ์—†์–ด ์ด ์š”๊ตฌ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•˜์ง€ ๋ชปํ•˜๋ฉฐ, ์ด๋ฅผ ์ž‘๋™์‹œํ‚ฌ ๋ฐฉ๋ฒ•์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์ด์ „์—๋Š” ํ˜ธํ™˜๋˜์ง€ ์•Š์•˜์œผ๋‚˜ ์ด์ œ Discourse Frotz์™€ ํ˜ธํ™˜๋˜๋Š” ๊ฒŒ์ž„๋“ค์ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค โ€ฆ ์œ„ ์ œํ•œ ์‚ฌํ•ญ์„ ์œ ์˜ํ•˜์‹œ๋ฉด์„œ ์‹คํ—˜ํ•ด ๋ณด์„ธ์š”!

์ž‘๋™ ์ค‘ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์•Œ๋ ค์ฃผ์„ธ์š”. ํ•„์š”์— ๋”ฐ๋ผ ์„ค๋ช…์„œ๋ฅผ ๊ฐœ์„ ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

8๊ฐœ์˜ ์ข‹์•„์š”

์ด ํ”Œ๋Ÿฌ๊ทธ์ธ์—์„œ ํ‚ค๋ณด๋“œ ๋‹จ์ถ•ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ ๊ฒฝํ—˜์„ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์„ ์ƒ๊ธฐํ•ด ๋“œ๋ฆฝ๋‹ˆ๋‹ค:

  • Shift-R: ๋ด‡์— ๋‹ต์žฅํ•˜๊ธฐ

  • Ctrl-Enter: ๋‹ค์Œ ์ˆ˜๋ฅผ ์ œ์ถœํ•˜๊ธฐ

(๊ธฐ๋ณธ ์ œ๊ณต ํ‚ค๋ณด๋“œ ๋‹จ์ถ•ํ‚ค).

5๊ฐœ์˜ ์ข‹์•„์š”

๋กœ๋ฒ„ํŠธ, ์•ˆ๋…•ํ•˜์„ธ์š”!
๋“œ๋””์–ด ์‹œ๊ฐ„์„ ๋‚ด์„œ ๋” ์ง„ํ–‰ํ•ด ๋ณด์•˜๋Š”๋ฐ, ์ง€๊ธˆ๊นŒ์ง€๋Š” ์ž˜ ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์—์„œ ๋ฐ”๋กœ ์ •์ƒ ์ž‘๋™ํ–ˆ์–ด์š” :+1:

์ด์ƒํ•˜๊ฒŒ๋„ frotz๋Š” ์–ด๋–ค ๋ฒ”์ฃผ์—๋ผ๋„ ์„ค์ •์„ ํ•จ๊ป˜ ํ•˜์ง€ ์•Š์œผ๋ฉด ๊ฐœ์ธ ๋ฉ”์‹œ์ง€์— ์‘๋‹ตํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค :thinking:
๋‹ค์Œ ๋‹จ๊ณ„: ํ”Œ๋ ˆ์ดํ•ด ๋ณด๊ธฐ :grinning_face_with_smiling_eyes:

1๊ฐœ์˜ ์ข‹์•„์š”

๋ฆฌํฌํŠธ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

ํ•ด๋‹น ๋ฌธ์ œ๋ฅผ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค: FIX: behaviour of private messages playing permission setting ยท merefield/discourse-frotz@34b022e ยท GitHub

NTS: ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋ฅผ ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค!

2๊ฐœ์˜ ์ข‹์•„์š”

์†Œ์Šค์—์„œ :grin:์„ ์ถ”๊ฐ€ํ•ด ๋ดค์–ด์š”.

์žฌ๋ฐŒ์„ ๊ฒƒ ๊ฐ™์•„์š”!

1๊ฐœ์˜ ์ข‹์•„์š”