141
https://gyazo.com/2fd188c614311f8656899a77baa3e429
141.iconりんごマークが大好物。船橋市→つくば市→練馬区→松江市→松戸市。Apple/アニメ/写真/お米派/お蕎麦派/きのこ派/島根和牛おいしい/赤てん/好きな飲み物はドクターペッパーとハートランドビール。自慢できることは虫歯になったことがないこと。 SNS
Mac歴
iPhone・iPad歴
※赤字は現在使用しているもの。
iPhone 3G → iPhone 3GS → iPhone 4 → iPhone 5 → iPhone 6 Plus → iPhone 7 Plus → iPhone X → iPhone Xs Max → iPhone 12 Pro Max → iPhone 14 Pro → iPhone 15 Pro
iPad → iPad 2 → iPad(第3世代)
iPad Air(第1世代)
iPad mini → iPad mini 2(Retina) → iPad mini 4→ iPad mini 6
iPad Pro 12.9(第1世代) → iPad Pro 9.7(第1世代)→ iPad Pro 10.5 (第2世代)→ iPad Pro 11(第1世代) → 12.9インチiPad Pro(第5世代)→ iPad Pro 11(第3世代)
Apple Watch歴
※赤字は現在使用しているもの。
Apple Watch(初代/38mm, ステンレススチール) → Apple Watch Series 2(38mm, ステンレススチール) → Apple Watch Series 4(40mm, スペースブラックステンレススチール) → Apple Watch Series 7(41mm, ミッドナイトアルミニウム) → Apple Watch Series 10(42mm, ジェットブラックアルミニウム)
興味関心
URLとQRコード
https://gyazo.com/6dc747deb79bf754ca4123691b23f47e
アイコン
https://gyazo.com/2fd188c614311f8656899a77baa3e429https://gyazo.com/b069995f29dc75253f6707a924d20282
行頭に引用符(>)を付けるスクリプト
code:script.js
scrapbox.PopupMenu.addButton({
title: 'quote',
onClick: text => text.split(/\n/).map(line => > ${line}).join('\n')
})
箇条書きナンバリング
code:script.js
scrapbox.PopupMenu.addButton({
title: 'No.',
onClick: text => text.split(/\n/).map((line, index) => ${index+1}. ${line}).join('\n')
})
日付書式拡張
20220312
標準
2022/3/12
2022/3/12 08:55
code:script.js
scrapbox.TimeStamp.addFormat("]YYYY-MM-DD[ HH:mm")
scrapbox.TimeStamp.addFormat("]YYYY-MM-DD[")
scrapbox.TimeStamp.addFormat("[]YYYYMMDD[]")
scrapbox.TimeStamp.addFormat("]YYYYMMDD[")
Gyazoに飛ぶメニュウの追加
code:script.js
scrapbox.PageMenu.addMenu(
{title:"Gyazo",
})
全角半角変換メニュ
1. 箇条書きの先頭を全てTabに置き換える
2. 文中の全角・半角空白を取り除く
3. 文字化けを修正する (今回は での を での に直す)
4. 全角英数字を半角英数字に置き換える
5. 全角括弧を半角括弧に置き換える
6. 括弧で囲まれた前後に空白を入れる
7. コードブロック記法の前後に空白を入れる
code:script.js
scrapbox.PopupMenu.addButton({
title: 'format',
onClick: text => text.split('\n').map(function(line) {
return line.replace(/^\s*/g, s => s.replace(/\s/g, '\t'))
.replace(/ /g, '')
.replace(/ぁ-ん|ァ-ヴ゙/g, s => String.fromCharCode(s.charCodeAt(0) + 1)) .replace(/A-Za-z0-9/g, s => String.fromCharCode(s.charCodeAt(0) - 0xFEE0)) .replace('(', '(')
.replace(')', ')')
.replace(/\S\(/g, s => s.charAt(0) + ()
.replace(/\)\S/g, s => ') ' + s.charAt(1))
.replace(/\S.*/g, s => s.charAt(0) + ' ' + s.slice(1))
.replace(/.*\S/g, s => s.slice(0, -1) + ' ' + s.slice(-1))
}).join('\n')
})
選択した文字列にマーカー
code:script.js
// 選択した文字列にマーカー
scrapbox.PopupMenu.addButton({
title: 'マーカー',
onClick: text => [[${text}]]
})
色マーカーメニュ
[+ 朱色]→朱色
[~ 緑色]→緑色
[# コメント]→コメント
[% コメント2(薄紫)]→コメント2(薄紫)
[! 重要]→重要
[_ Under line]→アンダーライン
code:script.js
scrapbox.PopupMenu.addButton({
title: 'Under line',
onClick: text => text.split('\n').map(line => [_ ${line}]).join('\n')
})
scrapbox.PopupMenu.addButton({
title: '重要',
onClick: text => text.split('\n').map(line => [! ${line}]).join('\n')
})
scrapbox.PopupMenu.addButton({
title: '朱字',
onClick: text => text.split('\n').map(line => [+ ${line}]).join('\n')
})
scrapbox.PopupMenu.addButton({
title: '緑字',
onClick: text => text.split('\n').map(line => [~ ${line}]).join('\n')
})
scrapbox.PopupMenu.addButton({
title: 'コメント',
onClick: text => text.split('\n').map(line => [# ${line}]).join('\n')
})
scrapbox.PopupMenu.addButton({
title: 'コメント2',
onClick: text => text.split('\n').map(line => [% ${line}]).join('\n')
})
字数カウントメニュー
code:script.js
scrapbox.PageMenu.addItem({
title: () => {
if (!scrapbox.Page.lines) return
const chars = scrapbox.Page.lines.map(line => line.text.length).reduce((a,b) => a + b)
const words = scrapbox.Page.lines.map(line => line.text.split(/\s+/).length).reduce((a,b) => a + b)
return ${chars}文字 ${words}単語 ${scrapbox.Page.lines.length}行
},
onClick: () => null
})
字数カウントポップアップ
code:script.js
scrapbox.PopupMenu.addButton({
title: function (text) {
const chars = text.replace(/\r\n/g, '').length const words = text.trim().split(/\r\n\s+/).length return ${chars}c ${words}w
},
onClick: () => null
})
メニュにページの見出しリストを表示
code:script.js
const indexes = function () {
scrapbox.PageMenu('見出し').removeAllItems()
for (let line of scrapbox.Page.lines) {
if (!line.section.start || line.title) continue
const image = line.nodes && getIconUrl(line.nodes)
const noIcon = !!image
const title = line.nodes ? renderPlainText(line.nodes, {noIcon}) : line.text
const onClick = () => location.hash = line.id
scrapbox.PageMenu('見出し').addItem({title, image, onClick})
}
}
function renderPlainText (node, options) {
if (node instanceof Array) return node.map(node => renderPlainText(node, options)).join('')
if (typeof node === 'string') return node
switch (node.type) {
case 'icon':
case 'strong-icon':
return options.noIcon ? ' ' : node.unit.page
case 'hashTag':
return ''
}
return renderPlainText(node.children, options)
}
function getIconUrl (node) {
if (/icon/.test(node.type)) {
return /api/pages/${node.unit.project || scrapbox.Project.name}/${node.unit.page}/icon
}
if (node instanceof Array) {
return node.map(getIconUrl).find(img => img)
}
return null
}
scrapbox.PageMenu.addMenu({
title: '見出し',
onClick: indexes
})
141