ããã¹ããšãã£ã¿ãäœã£ã
HTML5ã«ã¯ãContenteditableãšããå±æ§ããããŸãã
ããã¯ãdivãbodyãªã©ã®èŠçŽ ã«ä»¥äžã®ããã«é©çšãããš
<div contenteditable='true'>ããã¯èªç±ã«æžãã</div>
ãã®äžèº«ãéåžžã®ããã¹ããšãã£ã¿ã®ããã«ã¯ãªãã¯ãããšã«ãŒãœã«ãåºãŠããŠäžèº«ãèªç±ã«å€ããããŸãã
Google Chromeãªã©ã®ãµã€ãŒã®æåãã©ãŠã¶ãªããcontenteditableå ã¯ctrl+Bã§å€ªåã«ããããctrl+Uãªã©ã§äžç·ãä»ãããããŠæåãè£ é£Ÿããããšãå¯èœã§ãã
ãããããŸãããšäœ¿ã£ãŠèªå奜ã¿ã®ããã¹ããšãã£ã¿ãäœããããªããšæããã¡ãã£ãšåã«emakinoteãšããååã®contenteditableã䜿çšããããã¹ããšãã£ã¿ãäœããŸããã
https://ry0um4.sakura.ne.jp/App/emakinote/index.html
æšããã€ã³ããšããŠã¯
ã»æžããŸã§ã®æéãçã
ã»çµäºã«æéãããããªã
ã»éã«æžãã
ã»ã»ã¯ã·ã§ã³ãé«éã§äœãã
ã»ã·ã³ãã«
ãšããæãã§ãã
æžããŸã§ã®æéãçã
Atomãªããã¯æžãããã§éããŠåèµ·åããŠãæ®ã£ãŠãããããã§ããããã©ã°ã€ã³ãšãå ¥ããŠããšã©ãããŠãèµ·åã«æéãããããæèã¯éãã倧äºã ããããã ãšèª¿åãäžãããã§ããã
çµäºã«æéãããããªã
ãã®ããŒã«ãæ³å®ããŠããã®ã¯ã競ãããææ¥äžããããã¯èãäºãããŠããæãªã©ã«ãé ã ãã§ã¯ããŸãæŽçã§ããªãäºããã®ãšãã£ã¿ã«æžããŠããæèãæãçŽãããšãã£ãå©çšæ³ã§ãã
ãã®ããããã®ãšãã£ã¿ã«ã¯ä¿åæ©èœãåãã£ãŠããŸããã以åã¯ä»ããŠèŠãããšããããŸãããããã€ã¹éã§ã®å ±æãé£ããããããŸã§äœ¿ããªãã£ãã®ã§ãããŠå€ããŠããŸãã
èãäºã®ããã«ããã¡ã¢ãšãã£ãŠããããŒã®ãšãã£ã¿ã ãšéããæã«ãã¡ãã¡ä¿åãããåŠãèããŠãããã§ããããã¡ã¢åž³ã¯ä¿åããæã«ãã¡ãã¡ãä¿åããŸããïŒããšèããŠããŠããã£ãããšæã£ãŠããæ©ã¿ã解æ¶ãããŸããã
ããä¿åãããæã¯Googleãã©ã€ããOffice 365ãªã©ã®ã¯ã©ãŠãã§ããã¥ã¡ã³ããWordã«ã³ããããã°ããã§ãã
éã«æžãã
contenteditableæ§æ§ãªãã§ãããæ®éã«ãUndoã»Redoæ©èœãã€ããŠãã®ã§å®çŽã«æ¶ãããæžãããã§ããã®ãå¬ããã§ãã
ãŸããéã«ä»ãµã€ãããã³ãããããšãã¹ã¿ã€ã«ãªã©ããã®ãŸãŸã³ãããããã®ã§èŠæ ãçã«éè²ãªãããããããŸããç»åã§ã¹ã¯ã·ã§ããŠããæžããããæéãå°ãªããããçŽã®ããã¹ãã«æžã蟌ãã æãããã£ãŠè¯ããªãã§ããïŒ(ã¡ãªã¿ã«ç»åã®ã³ãããã§ãã)
ãã®èŸºã¯æ¬åœã«contenteditableã®èš±å®¹ã®åºãã§ãããã
ã»ã¯ã·ã§ã³ãé«éã§äœãã
ä»ã§ã¯èŠãªãæ©èœãšããŠãctrl+Enterã§æ°ããåºåã(暪ç·ãšèŠåºã代ããã«äœæããæ¥ä»ã衚瀺ãã)ãè¿œå ã§ããããã«ããŠããŠããã¡ãã¡å¥ã®ããã¹ããšãã£ã¿ãèµ·åããŠãšã£ãã«å¥ã®äºãæžããããããšãã®æéãæžããäºãã§ããŠããŸãã
ã»ã¯ã·ã§ã³ãè¿œå ãããšãã«ã«ãŒãœã«ãèªåã§æ°ã»ã¯ã·ã§ã³ã®éšåã«ç§»ãããã«ããã®ã§ãããããã®å®è£
ããªããªãæ²è
ã§ããâŠâŠã
ã·ã³ãã«
ã»ã·ã§ãŒãã«ããã§ã¯ãªãããŠã¹ã䜿ã人åãã«ãå
šæ¶å»ãæ°åºåããšèšã£ããã¿ã³ãããããŒã«ä»ããŠããããšå²ãšèŠªåã®ã€ããã§ãã¶ã€ã³ããŠããŸããããããããã«äœãç¹å¥ãªæ©èœãä»ãããã¯ããŠããŸããã
ã»ç«¶ããçšã«çå¹
ãã©ã³ãã®Noto Sans Mono Japaneseã䜿çšããŠããŸããããã¯åã®HPå
šäœã«é©çšããŠããŸãã
ã»ç°è²ã®å°ã«ããªãæ¿ãç°è²ã§æžããŠããã®ã§ã³ã³ãã©ã¹ãå·®ãå°ãªãé·æéæžããŠãç²ãã«ããã¯ãã
contenteditableã§ãªãæã¯èæ¯ãé»ããªã£ãŠããã®ã§ãã©ã®ãããã®åéã®ãã®ããäžç®ã§åãã£ããããŠãµã€ã³ãŒã§ãã
ãšããããã§ããªãã·ã³ãã«ã§ãã
æ°ããŒãžã§ã³
ãããªæãã§é·ãäºèªåã§ã€ãã£ãŠããŸããããã®ãã¡ã«å匷ããŠãPWA
https://developers.google.com/web/fundamentals/codelabs/your-first-pwapp/?hl=ja
ã«ã察å¿ããããããŸããã(ãšèšã£ãŠãã»ãŒæ€çŽ¢ããŠåºãŠãããµã€ãã®ã³ããã§ããâŠâŠ)
ã§ãä»åãã®èšäºãæžããŠããã®ã¯ãäžã€æ©èœãè¿œå ãããã®ãäœã£ãããã§ãã
emakinoteã«ã¯ãè²ã
ããããã©ãããã ãã¯ã©ãããŠãè²ããªãäžæºãäžã€ãããŸããã
ãæã£ããããè£
食ã®ã·ã§ãŒãã«ãããæŒãã®ãããã©ããããã£ãŠäºã§ãã
ãåææŒããšããã£ããããŠãã£ãŠãããªãããäœããäžéšã ã倪åã«ãããããã«ã¯ãã®åã«Shiftãšç¢å°ããŒã§éžæããªãã¡ããªããªããè²å€ãããåã倧ãããããããã«ã¯ã·ã§ãŒãã«ããã ãã ãšã¡ãã£ãšè¶³ããªãã
ãããããã¯ãããã§ããäžå¿ãä»ã®ãµã€ããã奜ã¿ã®ã¹ã¿ã€ã«ã®åãã³ãããããšããã®è£
食ã§æãŠãããã«ãªã£ããããŸããé¢åãªãã§ããã©ãã
ããã解決ããã®ããã¡ãã®emakidashtxtã«ãªããŸãã
https://ry0um4.sakura.ne.jp/App/emakidashtxt/index.html
ã©ã解決ããããšãããšãå人çã«æ¬²ãããšæã£ãè£
食ãããã€ãããã¯ã¢ããããŠãããã¿ã³äžã€ã§ãã¹ã¿ã€ã«ãåãæ¿ããããããã«ããŸããã
䜿ãã®ã¯altããŒã§ããïŒãŸãç¹æ®æåãªããŠãããªäœ¿ããã§ããïŒ
ããããŒã«ã¹ã¿ã€ã«ãã¿ã³ãè¿œå ããŠãä»ã®æåè£
食ã¹ã¿ã€ã«ãšãæŒããšæ¬¡ã®ã¹ã¿ã€ã«ã«åãæ¿ãããã
ããã«ããŠãããŸãã
ãã€ã³ããšããŠã¯ãäžå®æé(ãããæžããŠãæç¹ã§ã¯6ç§çšåºŠ)æã¡èŸŒãŸãã«ãããšãåæã«æšæºã¹ã¿ã€ã«ã«è£
食ãæ»ããŠããããšããæã§ãã
现ãããã€ã³ãã§ãããaltããŒã§ãããè¡ãªã£ãå Žåã¯åæã«æ»ã£ãŠãããã®ã§ããããã¿ã³ãã¯ãªãã¯ããŠåãæ¿ããå Žåã¯æéãçµã£ãŠãã¹ã¿ã€ã«ã¯æ»ããªãããã«ããŠãããŸããããããäºã§ãã¡ãã¡ãã¿ã³ãæŒãããã«ããŠã¹ããã©ãã¯ããããæŒããã«ãã¿ãŸããã匷調ãçµãã£ããªãæã¡èŸŒãŸãã«åŸ
ã€ãäžå·¡ãããŸã§é£æããŠããã°ããããšããã·ã³ãã«ãªæäœã«ãªããŸãã
åã®æèã®çãªãã§ãããå¢ãããèããæžããåŸããã°ããçºããŠãŸãæžãããšãããµããªç¹°ãè¿ãã§è¡ãããã®ã§ããã匷調ãã€ãããŸãŸç¶ããšäž»åŒµã®ã€ã¡ãŒãžãšè£
食ã®åŒ·èª¿åºŠãããŸãããšäžèŽãããããã£ãšããŠããŸããŸãããããé¿ããŠãããã§ããã
ãã䟿å©ã§ããïŒ
ãã¡ãã¡ã·ã§ãŒãã«ãããªããŠèª¿ã¹ãŠãããªããšæã£ãã®ã§ããããŠããŸãã
æãã®å€å®è£
ã¯æ¥œã§ããªããšWebAPIã«ã¯execCommandãšãããã®ããããã§ãããããããæ¬åœã«çãæã«æãå±ãæ©èœã§å©ãããŸããã
Document.execCommand() - Web API | MDN
å®è£
ããã¿ã³çšçŽ æãšæ°åè¡ã®è¿œå ã§ãã¿ãŸãããäœããäœãã®ã«æéãããŸãããããªãã£ãã®ãè¯ãã§ãããããã£ãâŠâŠ
ä»ã®ç¹ã¯emakinoteãšåæ§ã ã£ããããŸãã
欲ããæ©èœ
ã»äžè¡ã«æžãåéãçãå²ã«ãç»é¢ãã£ã±ãã«åºããŠãããšãã©ãããŠãå³åŽã«äœãæžããŠããªã空çœã®ã¹ããŒã¹ãåºæ¥ãŠããŸããŸããæ
å ±ãäžèŠ§ãããå Žåã«äžäŸ¿ãªã®ã§ãªããšããããã(åå²è¡šç€ºçãªïŒ)
ã»é³æ¥œãšããã£ãŠãã®ã§é³ãåºããããã«ãããããããã³ãŒãåãæžããããã®ããã«é³ã鳎ãããããããšé¢çœãã(ããã¯å¥ã®åœ¢ã§ããå¯èœæ§ããã)
ã»execCommandããã£ãšæŽ»çšãããã調ã¹ãŠã¿ããè²ã
ãªæ©èœããã£ãŠããŸã ãŸã 掻ãããããªäºãããäºæã§ãã
ã»markdownãšãTeXã®æ°åŒæ©èœãšãããå
¥åããåŸããã«åæ ãããããã«å®è£
ã§ãããããªã楜ãåºæ¥ãã®ã§ãã£ãŠã¿ããã
ãã²äœ¿ã£ãŠã¿ãŠãã ããã