Vimium: Firefox 읽기 λͺ¨λ“œλ₯Ό ν™œμ„±ν™”ν•˜λŠ” λͺ…λ Ή μΆ”κ°€

에 λ§Œλ“  2017λ…„ 08μ›” 21일  Β·  9μ½”λ©˜νŠΈ  Β·  좜처: philc/vimium

Firefoxμ—μ„œ 읽기 λͺ¨λ“œλ‘œ μ „ν™˜ν•˜κ³  μ‹ΆμŠ΅λ‹ˆλ‹€. 이 λͺ¨λ“œλŠ” νŽ˜μ΄μ§€λ₯Ό λ‹€μ‹œ ν¬λ§·ν•˜μ—¬ 잠재적으둜 νŽ˜μ΄μ§€λ₯Ό 더 λΆ€λ“œλŸ½κ²Œ μŠ€ν¬λ‘€ν•˜κ³  읽기 μ‰½κ²Œ λ§Œλ“­λ‹ˆλ‹€. VimFXμ—μ„œ 이것은 gr μ΄μ—ˆμ§€λ§Œ λ¬Όλ‘  기본적으둜 λ™μΌν•œ 맀핑을 κ°€μ§ˆ ν•„μš”λŠ” μ—†μŠ΅λ‹ˆλ‹€. 사싀, 기본적으둜 λ§€ν•‘λ˜μ–΄μ•Ό ν•œλ‹€κ³  μƒκ°ν•˜μ§€λ„ μ•ŠμŠ΅λ‹ˆλ‹€. 맀핑할 수 μžˆλ„λ‘ ν•˜λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€.

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

비관적인 것도 재미 μžˆμ§€λ§Œ 포괄적인 리더 λͺ¨λ“œ WebExtensions 버그 μ—μ„œ 이동 경둜λ₯Ό λ”°λΌκ°ˆ 수 μžˆμŠ΅λ‹ˆλ‹€.

  • κΆŒν•œ μžˆλŠ” URL이 μ•„λ‹ˆλ―€λ‘œ tabs.create μ—μ„œ μ—΄ 수 μžˆμ–΄μ•Ό ν•©λ‹ˆλ‹€. 버그 둜 νŒλ‹¨ ν•˜λ©΄ 이 λ³΄μ•ˆ κ²€ν†  μš”μ²­μ΄ μ™„λ£Œλ˜κΈ°λ₯Ό 기닀리고 μžˆμŠ΅λ‹ˆλ‹€.

    • 리더 URL ν˜•μ‹μ€ "about:reader?url="+encodeURIComponent(url) μ΄λ―€λ‘œ 이λ₯Ό μ‚¬μš©ν•˜μ—¬ Vimium에 μΆ”κ°€ν•˜λŠ” 것은 κ°„λ‹¨ν•©λ‹ˆλ‹€.

    • url λ§€κ°œλ³€μˆ˜κ°€ ν˜„μž¬ μ˜¬λ°”λ₯΄κ²Œ μ‚­μ œλ˜μ§€ μ•Šμ„ 수 μžˆλ‹€λŠ” μš°λ €κ°€ μžˆμ–΄ 이λ₯Ό μœ μ§€ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

  • μ½˜ν…μΈ  μŠ€ν¬λ¦½νŠΈλŠ” 비곡인 URLμ—μ„œλ„ μ‹€ν–‰ν•  수 μžˆμ–΄μ•Ό ν•˜λ―€λ‘œ 이에 λŒ€ν•œ 버그 도 μžˆμŠ΅λ‹ˆλ‹€.

    • λ‹€μ‹œ λ§ν•˜μ§€λ§Œ, 이것은 λ³΄μ•ˆ κ²€ν†  μ—μ„œ μ°¨λ‹¨λ©λ‹ˆλ‹€( about:reader 의 μ½˜ν…μΈ  μŠ€ν¬λ¦½νŠΈκ°€ μƒŒλ“œλ°•μŠ€λ₯Ό μ†μƒμ‹œν‚€μ§€ μ•ŠλŠ”μ§€ ν™•μΈν•˜κΈ° μœ„ν•΄).

  • 리더 λͺ¨λ“œκ°€ νŽ˜μ΄μ§€λ₯Ό μ§€μ›ν•˜λŠ”μ§€ μ—¬λΆ€λ₯Ό ν™•μΈν•˜λŠ” API κ°€ κΈ°λ³Έ 승인 을 λ°›μ•˜μŠ΅λ‹ˆλ‹€.
  • 탭이 리더 λͺ¨λ“œμΈμ§€ 여뢀에 λŒ€ν•œ API κ°€ μ œμ•ˆλ˜μ—ˆμŠ΅λ‹ˆλ‹€ .

    • ν˜„μž¬λ‘œμ„œλŠ” νƒ­μ˜ URL μ‹œμž‘ λΆ€λΆ„μ—μ„œ about:reader λ₯Ό ν™•μΈν•˜λŠ” 것이 νŠΈλ¦­μ„ μˆ˜ν–‰ν•΄μ•Ό ν•˜κΈ° λ•Œλ¬Έμ— 더 이상 μ§„ν–‰λ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€.

νŽΈμ§‘: 첫 번째 글머리 κΈ°ν˜ΈλŠ” 리더 λͺ¨λ“œμ— λ“€μ–΄κ°€κ³  λ‚˜κ°€λŠ” λͺ…령을 κ΅¬ν˜„ν•˜λŠ” 데 ν•„μš”ν•œ μ „λΆ€μž…λ‹ˆλ‹€.

λͺ¨λ“  9 λŒ“κΈ€

WebExtension이 κ°€λŠ₯ν•˜λ‹€λ©΄(λ˜λŠ” μ•žμœΌλ‘œλ„ 그럴 κ²ƒμž…λ‹ˆλ‹€) λ†€λž„ κ²ƒμž…λ‹ˆλ‹€.

Firefox μ „μš©μ΄κΈ° λ•Œλ¬Έμ—?

μ•„λ‹ˆμš”, APIλ₯Ό μΆ”κ°€ν•˜λŠ” 것은 맀우 νŠΉμ •ν•œ 일이기 λ•Œλ¬Έμž…λ‹ˆλ‹€.

비관적인 것도 재미 μžˆμ§€λ§Œ 포괄적인 리더 λͺ¨λ“œ WebExtensions 버그 μ—μ„œ 이동 경둜λ₯Ό λ”°λΌκ°ˆ 수 μžˆμŠ΅λ‹ˆλ‹€.

  • κΆŒν•œ μžˆλŠ” URL이 μ•„λ‹ˆλ―€λ‘œ tabs.create μ—μ„œ μ—΄ 수 μžˆμ–΄μ•Ό ν•©λ‹ˆλ‹€. 버그 둜 νŒλ‹¨ ν•˜λ©΄ 이 λ³΄μ•ˆ κ²€ν†  μš”μ²­μ΄ μ™„λ£Œλ˜κΈ°λ₯Ό 기닀리고 μžˆμŠ΅λ‹ˆλ‹€.

    • 리더 URL ν˜•μ‹μ€ "about:reader?url="+encodeURIComponent(url) μ΄λ―€λ‘œ 이λ₯Ό μ‚¬μš©ν•˜μ—¬ Vimium에 μΆ”κ°€ν•˜λŠ” 것은 κ°„λ‹¨ν•©λ‹ˆλ‹€.

    • url λ§€κ°œλ³€μˆ˜κ°€ ν˜„μž¬ μ˜¬λ°”λ₯΄κ²Œ μ‚­μ œλ˜μ§€ μ•Šμ„ 수 μžˆλ‹€λŠ” μš°λ €κ°€ μžˆμ–΄ 이λ₯Ό μœ μ§€ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

  • μ½˜ν…μΈ  μŠ€ν¬λ¦½νŠΈλŠ” 비곡인 URLμ—μ„œλ„ μ‹€ν–‰ν•  수 μžˆμ–΄μ•Ό ν•˜λ―€λ‘œ 이에 λŒ€ν•œ 버그 도 μžˆμŠ΅λ‹ˆλ‹€.

    • λ‹€μ‹œ λ§ν•˜μ§€λ§Œ, 이것은 λ³΄μ•ˆ κ²€ν†  μ—μ„œ μ°¨λ‹¨λ©λ‹ˆλ‹€( about:reader 의 μ½˜ν…μΈ  μŠ€ν¬λ¦½νŠΈκ°€ μƒŒλ“œλ°•μŠ€λ₯Ό μ†μƒμ‹œν‚€μ§€ μ•ŠλŠ”μ§€ ν™•μΈν•˜κΈ° μœ„ν•΄).

  • 리더 λͺ¨λ“œκ°€ νŽ˜μ΄μ§€λ₯Ό μ§€μ›ν•˜λŠ”μ§€ μ—¬λΆ€λ₯Ό ν™•μΈν•˜λŠ” API κ°€ κΈ°λ³Έ 승인 을 λ°›μ•˜μŠ΅λ‹ˆλ‹€.
  • 탭이 리더 λͺ¨λ“œμΈμ§€ 여뢀에 λŒ€ν•œ API κ°€ μ œμ•ˆλ˜μ—ˆμŠ΅λ‹ˆλ‹€ .

    • ν˜„μž¬λ‘œμ„œλŠ” νƒ­μ˜ URL μ‹œμž‘ λΆ€λΆ„μ—μ„œ about:reader λ₯Ό ν™•μΈν•˜λŠ” 것이 νŠΈλ¦­μ„ μˆ˜ν–‰ν•΄μ•Ό ν•˜κΈ° λ•Œλ¬Έμ— 더 이상 μ§„ν–‰λ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€.

νŽΈμ§‘: 첫 번째 글머리 κΈ°ν˜ΈλŠ” 리더 λͺ¨λ“œμ— λ“€μ–΄κ°€κ³  λ‚˜κ°€λŠ” λͺ…령을 κ΅¬ν˜„ν•˜λŠ” 데 ν•„μš”ν•œ μ „λΆ€μž…λ‹ˆλ‹€.

μ•Ό! λΆ€μ •μ μ΄μ–΄μ„œ μ£„μ†‘ν•©λ‹ˆλ‹€.

@mrmr1993 의 νŽΈμ§‘κ³Ό κ΄€λ ¨ν•˜μ—¬ 리더 λͺ¨λ“œλ₯Ό μ’…λ£Œν•˜λ €λ©΄ 처음 두 개의 글머리 κΈ°ν˜Έκ°€ ν•„μš”ν•˜λ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€. μ§€κΈˆ λ‹Ήμž₯은 WebExtensionsλ₯Ό about: URL에 λ‘œλ“œν•  수 μ—†λŠ” 것 κ°™μ•„μ„œ 리더 λͺ¨λ“œλ₯Ό μ’…λ£Œν•˜λŠ” ν‚€ 바인딩이 μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

μ €λŠ” 리더 λͺ¨λ“œλ₯Ό 많이 μ‚¬μš©ν•©λ‹ˆλ‹€. Ctrl-Alt-r 의 κΈ°λ³Έ ν‚€ 바인딩을 μ‚¬μš©ν•˜μ—¬ ν™œμ„±ν™”ν•΄λ„ μƒκ΄€μ—†μ§€λ§Œ 리더 λͺ¨λ“œμ—μ„œ λ‹€λ₯Έ ν‚€ 바인딩, 특히 j , k λ₯Ό μ‚¬μš©ν•  수 μ—†λ‹€λŠ” 것이 μ§œμ¦λ‚©λ‹ˆλ‹€. , 및 기타 슀크둀 κ΄€λ ¨ ν‚€. 리더 λͺ¨λ“œ λ‚΄μ—μ„œ Vimium을 λ‘œλ“œν•˜λŠ” 데 λ³„λ„μ˜ λ¬Έμ œκ°€ ν•„μš”ν•©λ‹ˆκΉŒ, μ•„λ‹ˆλ©΄ 여기에 μ ν•©ν•©λ‹ˆκΉŒ? μ•„λ‹ˆλ©΄ 버그 1371786이 ν•΄κ²°λ˜λ©΄ Vimium을 λ³€κ²½ν•˜μ§€ μ•Šκ³ λ„ μž‘λ™ν•©λ‹ˆκΉŒ?

리더 λͺ¨λ“œλ₯Ό μ’…λ£Œν•˜λ €λ©΄ 처음 두 개의 μ΄μ•Œμ΄ ν•„μš”ν•˜λ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€.

λ„€κ°€ μ˜³μ•„. 쒋은 캐치.

리더 λͺ¨λ“œ λ‚΄μ—μ„œ Vimium을 λ‘œλ“œν•˜λŠ” 데 λ³„λ„μ˜ λ¬Έμ œκ°€ ν•„μš”ν•©λ‹ˆκΉŒ?

μ•„λ‹ˆμ˜€: μ—¬κΈ°μ—μ„œ 이슈 νŠΈλž˜μ»€λŠ” 혼돈이며 본질적으둜 메일링 리슀트의 κΈ°λŠ₯을 ν•©λ‹ˆλ‹€. λ¬Έμ œλŠ” λˆ„κ΅°κ°€κ°€ 문제λ₯Ό μˆ˜μ •ν•˜κΈ°λ‘œ κ²°μ •ν•œ κ²½μš°μ—λ§Œ μˆ˜μ •λ˜λ©°(그런 λ‹€μŒ Steveκ°€ μˆ˜μ • 사항을 병합할 만큼 λ¬Έμ œμ— λŒ€ν•΄ 관심을 가짐) μ΄λŠ” μ‹€μ œλ‘œ 의미 μžˆλŠ” λ°©μ‹μœΌλ‘œ μ‘°μ •λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

μ €λŠ” 리더 λͺ¨λ“œλ₯Ό 많이 μ‚¬μš©ν•˜κΈ° λ•Œλ¬Έμ— κ°€λŠ₯ν•œ ν•œ 이 문제λ₯Ό μˆ˜μ •ν•˜λ €κ³  ν•©λ‹ˆλ‹€. 적어도 제 μžμ‹ μ„ μœ„ν•΄μ„œμž…λ‹ˆλ‹€.

버그 1371786이 ν•΄κ²°λ˜λ©΄ Vimium을 λ³€κ²½ν•˜μ§€ μ•Šκ³ λ„ μž‘λ™ν•©λ‹ˆκΉŒ?

κ΅¬ν˜„μ— 따라 λ³€κ²½ν•˜μ§€ μ•Šκ±°λ‚˜ ν™•μž₯ λ§€λ‹ˆνŽ˜μŠ€νŠΈλ₯Ό ν•œ μ€„λ‘œ λ³€κ²½ν•©λ‹ˆλ‹€.

이λ₯Ό μœ„ν•œ APIλŠ” 야간에 λΌμ΄λΈŒμž…λ‹ˆλ‹€. μžμ„Έν•œ λ‚΄μš©μ€ 이 버그 λ₯Ό μ°Έμ‘°ν•˜μ‹­μ‹œμ˜€(λ˜λŠ” mozilla/gecko-dev@8f848ff9dfe8e5b11966cbe6177019deb1f75a3c 컀밋). 곡식 λ¬Έμ„œλ₯Ό 찾을 수 μ—†μœΌλ©° Firefox μ½”λ“œλ² μ΄μŠ€μ—μ„œ κ΄€λ ¨ μ—†λŠ” μž‘μ—…μ„ μˆ˜ν–‰ν•˜λŠ” λ™μ•ˆμ—λ§Œ λ¬Έμ„œλ₯Ό 보게 λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

κ°„λ‹¨νžˆ λ§ν•΄μ„œ λ³€κ²½ 사항은 λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

  • isArticle κ°€ Tab κ°œμ²΄μ— μΆ”κ°€λ˜μ—ˆμŠ΅λ‹ˆλ‹€. μ΄λŠ” μ£Όμ†Œ ν‘œμ‹œμ€„μ— ν‘œμ‹œλ˜λŠ” 리더 보기 λ²„νŠΌμ— ν•΄λ‹Ήν•©λ‹ˆλ‹€(제 μƒκ°μ—λŠ”).
  • isInReaderMode 도 Tab κ°œμ²΄μ— 좔가됨
  • browser.tabs.toggleReaderMode(tabId) API 좔가됨

μš°λ¦¬λŠ” μ—¬μ „νžˆ 리더 λͺ¨λ“œ( 이 버그 )μ—μ„œ μ½˜ν…μΈ  슀크립트λ₯Ό μ‹€ν–‰ν•  수 μ—†μœΌλ―€λ‘œ 일단 λ“€μ–΄κ°€λ©΄ 멈μΆ₯λ‹ˆλ‹€.

λ‹€μŒ 은 browser.tabs.toggleReaderMode 에 λŒ€ν•œ λ¬Έμ„œμž…λ‹ˆλ‹€ . Firefox 58에 μžˆμŠ΅λ‹ˆλ‹€. μ§€κΈˆκΉŒμ§€ 리더 λͺ¨λ“œμ—μ„œ μ½˜ν…μΈ  슀크립트λ₯Ό ν—ˆμš©ν•˜λŠ” 데 λ§Žμ€ 진전이 μ—†μ—ˆμŠ΅λ‹ˆλ‹€.

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰