generated at
import
UserScript
script.src.js
import '../../per-terra/文字カウンター/script.js';

script.src.js
import '../../per-terra/リアルタイム文字カウンター/script.js';

script.src.js
import '../../per-terra/hr.iconをショートカットキーで挿入できるようにするUserScript/script.js';

script.src.js
import '../../per-terra/モバイル環境でタイムスタンプを打てるようにするUserScript/script.js';

script.js
cosense.PopupMenu.addButton({title:e=>{let t=e.split(/\s+/).filter(Boolean).length,n=e.length;return`${t}w ${n}c`},onClick:()=>null});(()=>{let e=document.createElement("div");e.setAttribute("class","counters");let t=e.appendChild(document.createElement("span"));t.setAttribute("class","item");let n=document.getElementsByClassName("status-bar")[0];cosense.Layout=="page"&&n.appendChild(e),cosense.on("layout:changed",()=>{cosense.Layout=="page"?n.prepend(e):n.removeChild(e)});let l=()=>{if(!window.cosense.Page.lines)return;let d=cosense.Page.lines.map(s=>s.text.split(/\s+/).filter(Boolean).length).reduce((s,a)=>s+a),m=cosense.Page.lines.map(s=>s.text.length).reduce((s,a)=>s+a),u=cosense.Page.lines.length;t.innerText=`${d} words, ${m+u-1} chars, ${u} lines`};l(),cosense.on("lines:changed",l)})();document.addEventListener("keydown",e=>{e.ctrlKey&&e.key==="l"&&document.execCommand("insertText",null,"[/icons/hr.icon]")});var g=()=>"ontouchstart"in window,c=e=>{let t=document.getElementById("text-input");t.focus(),t.value=e;let n=new InputEvent("input",{bubbles:!0});t.dispatchEvent(n)},o=e=>e.toString().padStart(2,"0"),i=e=>`${e.getFullYear()}-${o(e.getMonth()+1)}-${o(e.getDate())}`,r=e=>`${o(e.getHours())}:${o(e.getMinutes())}:${o(e.getSeconds())}`;if(g()){let e="timestamp";cosense.PageMenu.addMenu({title:e,icon:"far fa-clock"}),cosense.PageMenu(e).addItem({title:"#YYYY-MM-DD HH:mm:ss_",onClick:()=>c((t=>`#${i(t)} ${r(t)} `)(new Date))}),cosense.PageMenu(e).addItem({title:"#YYYY-MM-DD HH:mm:ss",onClick:()=>c((t=>`#${i(t)} ${r(t)}`)(new Date))}),cosense.PageMenu(e).addItem({title:"#YYYY-MM-DD",onClick:()=>c((t=>`#${i(t)}`)(new Date))}),cosense.PageMenu(e).addItem({title:"[YYYY-MM-DD]",onClick:()=>c((t=>`[${i(t)}]`)(new Date))})}


UserCSS
style.src.css
@import "../../per-terra/カーソル行を強調するUserCSS/style.css";

style.src.css
@import "../../per-terra/カーソル行ではコードブロックのファイル名をunclickableにするUserCSS/style.css";

style.src.css
@import "../../per-terra/iOS上のPWA版Cosenseでstatus barがホームインジケーターに隠れないようにするUserCSS/style.css";

style.src.css
@import "../../per-terra/status barのpage titleをfixedするUserCSS/style.css";

これは公開できないのでバンドルしない
style.css
@import "../../per-terra-memex/指定したプロジェクトの更新を非表示にするUserCSS/style.css";

style.css
html[data-project-theme=default-dark],html[data-project-theme=paper-dark-dark]{--cursor-line-bg: rgb(255 255 255 / 4%);--cursor-line-shadow: rgb(255 255 255 / 40%)}.cursor-line{background-color:var(--cursor-line-bg, rgb(0 0 0 / 2%));box-shadow:inset 0 -5px 5px -5px var(--cursor-line-shadow, rgb(0 0 0 / 30%))}.cursor-line .code-block-start a{pointer-events:none}:root{--safe-area-inset-bottom: 18px}@media (display-mode: standalone) and (orientation: portrait){html[data-os*=ios]{.status-bar{height:calc(20px + var(--safe-area-inset-bottom));>div{padding-bottom:var(--safe-area-inset-bottom)!important}}}}.status-bar>div.page-title{position:fixed;bottom:0;left:0}