sweet.milkshake.jp
Open in
urlscan Pro
157.112.187.57
Public Scan
URL:
https://sweet.milkshake.jp/
Submission: On November 21 via api from US — Scanned from JP
Submission: On November 21 via api from US — Scanned from JP
Form analysis
1 forms found in the DOMPOST ./?
<form action="./?" method="post" class="postform" id="postformpQ2kx" enctype="multipart/form-data">
<input type="hidden" value="" name="postid"> <input type="hidden" value="" name="datetime" data-credate="2024/11/21 22:22:54" id="datetimepQ2kx" pattern="\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2}"
title="投稿日付を YYYY/MM/DD hh:mm:ss 形式で入力。投稿した瞬間の日時を自動記録するには空欄にして下さい。(存在しない日時を許容するかどうかは設定次第です。)">
<p class="line-textarea"><!-- この投稿欄のheightやplaceholderは管理画面の[設定]→[投稿欄の表示]で設定可能 --><textarea class="tegalogpost" name="comment" id="tegalogpostpQ2kx" style="height:4.3em;" placeholder="投稿するには、ログインが必要です。"
onkeydown="if( event.ctrlKey && event.keyCode == 13 ) { document.getElementById('tegalogsubmitpQ2kx').click(); return false; }if( event.ctrlKey && event.keyCode == 40 ){ var nh = document.getElementById('tegalogpostpQ2kx').clientHeight * 2; if( nh > window.innerHeight ) { nh = window.innerHeight; window.scrollTo(0, document.getElementById('tegalogpostpQ2kx').offsetTop ); } document.getElementById('tegalogpostpQ2kx').style.height = nh + 'px'; return false; }else if( event.ctrlKey && event.keyCode == 38 ){ var nh = document.getElementById('tegalogpostpQ2kx').clientHeight / 2; if( nh < 48 ) { nh = 48; } document.getElementById('tegalogpostpQ2kx').style.height = nh + 'px'; return false; }"
accesskey="p"></textarea></p>
<div class="line-control">
<!-- ここの表示を取捨選択したい場合は、管理画面の[設定]→[投稿欄の表示]から設定可能 -->
<!-- 投稿ボタン --><span class="submitcover"><input type="submit" class="postbutton" value="ログインして投稿する"></span>
<!-- 入力文字数 --><span id="tpostcountpQ2kx"></span>
<script>
document.getElementById('tegalogpostpQ2kx').onkeyup = function() {
document.getElementById("tpostcountpQ2kx").innerHTML = this.value.length + "<small>文字</small>";
}
</script>
<!-- ID切り替え --><small class="changelink">or <a href="?mode=admin">管理画面へ</a></small>
<!-- 日時ボタン -->
<!-- 装飾ボタン -->
<script>
function seldecopQ2kx(decoSign, decoColor, decoName, befThrough) {
var tArea = document.getElementById('tegalogpostpQ2kx');
var tValue = tArea.value;
var staPos = parseInt(tArea.selectionStart, 10);
var endPos = parseInt(tArea.selectionEnd, 10);
var txtBef = tValue.substring(0, staPos);
var txtAft = tValue.substring(endPos);
var txtSel = tValue.substring(staPos, endPos);
var newText;
if (befThrough != 1) {
if (txtSel.length == 0 && (window.screen.width > 1024)) {
alert('先に装飾対象を範囲選択して下さい。');
tArea.focus();
return;
}
}
if (decoName) {
if (decoSign == 'F') {
decoName = prompt((decoName + 'を半角で入力して下さい:'), decoColor);
if (!decoName) {
tArea.focus();
return;
}
decoName = decoName.replace(/[-_A-Za-z0-9]/g, function(s) {
return String.fromCharCode(s.charCodeAt(0) - 65248);
});
newText = '[' + decoSign + ':' + decoName + ':' + txtSel + ']';
} else if (decoSign == 'L') {
decoName = prompt((decoName + 'が必要なら入力して下さい。不要なら空欄のままOKを押して下さい。(' + decoName + 'の詳細は公式マニュアルをご覧下さい。)'), decoColor).trim();
if (decoName === null) {
tArea.focus();
return;
}
if (txtSel.length == 0) {
txtSel = '\nリスト1\nリスト2\nリスト3\n';
}
if (decoName.length > 0) {
newText = '[' + decoSign + ':' + decoName + ':' + txtSel + ']';
} else {
newText = '[' + decoSign + ':' + txtSel + ']';
}
} else if (decoSign == 'R') {
decoName = prompt((decoName + 'を入力して下さい:'), decoColor);
if (!decoName) {
tArea.focus();
return;
}
newText = '[' + decoSign + ':' + txtSel + ':' + decoName + ']';
}
} else if (decoColor) {
decoColor = prompt('色名を入力して下さい(色名を半角英字で入力するほか、16進数のRGB値、rgb()やrgba()の書式も使えます):', decoColor);
if (!decoColor) {
tArea.focus();
return;
}
decoColor = decoColor.replace(/[A-Za-z0-9]/g, function(s) {
return String.fromCharCode(s.charCodeAt(0) - 65248);
});
newText = '[' + decoSign + ':' + decoColor.toLowerCase().replace(/#/g, "").trim() + ':' + txtSel + ']';
} else {
newText = '[' + decoSign + ':' + txtSel + ']';
}
tArea.value = txtBef + newText + txtAft;
tArea.focus();
var cursorPos = staPos + newText.length;
if (txtSel.length == 0) {
cursorPos--;
}
tArea.setSelectionRange(cursorPos, cursorPos);
}
function showDecoSetpQ2kx() {
document.getElementById('decoDoorpQ2kx').style.display = 'none';
document.getElementById('decoSetpQ2kx').style.display = 'inline';
}
</script><span class="decoBtns"><span id="decoDoorpQ2kx"><input type="button" class="decoDoorpQ2kx" value="装飾" onclick="showDecoSetpQ2kx();" title="文字装飾ボタンを表示"></span><span id="decoSetpQ2kx" style="display:none;"><input type="button"
class="decoBtnE" value="強" onclick="seldecopQ2kx('E');" title="強調(Emphasis)"><input type="button" class="decoBtnB" value="B" onclick="seldecopQ2kx('B');" title="太字(Bold)"><input type="button" class="decoBtnI" value="I"
onclick="seldecopQ2kx('I');" title="斜体(Italic)"><input type="button" class="decoBtnU" value="U" onclick="seldecopQ2kx('U');" title="下線(Underline)"><input type="button" class="decoBtnQ" value="”" onclick="seldecopQ2kx('Q');"
title="引用(Quote)"><input type="button" class="decoBtnD" value="消" onclick="seldecopQ2kx('D');" title="取消線(Delete)"><input type="button" class="decoBtnS" value="小" onclick="seldecopQ2kx('S');" title="小さめ(Small)"><input type="button"
class="decoBtnT" value="極" onclick="seldecopQ2kx('T');" title="極小(Tiny)"><input type="button" class="decoBtnR" value="ル" onclick="seldecopQ2kx('R','','ルビ');" title="ルビ(Ruby)"><input type="button" class="decoBtnL" value="≡"
onclick="seldecopQ2kx('L','','リストのオプション',1);" title="リスト(List)"><input type="button" class="decoBtnC" value="色" onclick="seldecopQ2kx('C','deepskyblue');" title="文字色(Color)"><input type="button" class="decoBtnM" value="背"
onclick="seldecopQ2kx('M','greenyellow');" title="背景色(Marker)"><input type="button" class="decoBtnH" value="隠す" onclick="seldecopQ2kx('H');" title="隠す(hide)"></span><!-- /#decoSet --></span><!-- /.decoBtns -->
<!-- 画像ボタン -->
<script>
function insPictpQ2kx() {
var tArea = document.getElementById('tegalogpostpQ2kx');
var tValue = tArea.value;
var staPos = parseInt(tArea.selectionStart, 10);
var endPos = parseInt(tArea.selectionEnd, 10);
var txtBef = tValue.substring(0, staPos);
var txtAft = tValue.substring(endPos);
var txtSel = tValue.substring(staPos, endPos);
var insText = '';
var uis = prompt('表示したい画像のファイル名を入力して下さい。現在の設定では、以下の指定が可能です:\n\n・投稿画像保存用ディレクトリにある画像(ファイル名)\n・投稿画像保存用ディレクトリのサブディレクトリ以下にある画像(相対パス)\n・任意のディレクトリにある画像(絶対パスでも相対パスでも)\n・URLの指定(http://またはhttps://で始まるURL)\n\n');
if (!uis) {
tArea.focus();
return;
}
if (txtSel.length == 0) {
insText = txtSel + '[PICT:' + uis + ']';
} else {
insText = '[PICT:' + txtSel + ':' + uis + ']';
}
tArea.value = txtBef + insText + txtAft;
tArea.focus();
var cursorPos = staPos + insText.length;
tArea.setSelectionRange(cursorPos, cursorPos);
}
</script><span class="decoBtns"><input type="button" class="imgUrl" value="画像" onclick="getElementById('imageBtnspQ2kx').style.display='inline'; this.style.display='none';" title="画像掲載ボタンを表示"><span id="imageBtnspQ2kx" style="display:none;"><input
id="newImgUppQ2kx" style="max-width:300px;" type="file" name="upload_file" multiple="" accept="image/*" title="画像を新規にUPする(複数個の同時選択も可能)"><input type="button" value="任意画像の挿入" onclick="insPictpQ2kx();"
title="既存の画像を表示する"></span></span><!-- /.decoBtns(Image) -->
<!-- Linkボタン -->
<script>
function uisCheckpQ2kx(uis, tArea) {
if (!uis) {
tArea.focus();
return 0;
}
if (!uis.match(/^https?:\/\//)) {
alert('http(s)://から始まるURL以外は指定できません。');
tArea.focus();
return 0;
}
return 1;
}
function insLinkpQ2kx(kind) {
var tArea = document.getElementById('tegalogpostpQ2kx');
var tValue = tArea.value;
var staPos = parseInt(tArea.selectionStart, 10);
var endPos = parseInt(tArea.selectionEnd, 10);
var txtBef = tValue.substring(0, staPos);
var txtAft = tValue.substring(endPos);
var txtSel = tValue.substring(staPos, endPos);
var comUin = '\n※あらかじめ範囲選択しておけば、その範囲をリンクにできます。';
var insText = '';
if (kind == 'U') {
if (txtSel.length == 0 && (window.screen.width > 1024)) {
alert('リンクにしたい範囲を選択して下さい。');
tArea.focus();
return;
}
if (txtSel.length == 0) {
txtSel = 'リンク';
}
if (txtSel.match(/^https?:\/\//)) {
alert('httpで始まるURLは、そのまま本文中に書いておくだけでリンクになります。');
tArea.focus();
return;
}
var uis = prompt('リンク先URL等を入力して下さい:');
if (!uis) {
tArea.focus();
return;
}
if (!uis.match(/^https?:\/\//)) {
if (uis.match(/^(\.{0,2}\/|mailto:.+|tel:.+)/)) {
uis = '(' + uis + ')';
} else {
alert('http(s)://から始まるURLか、./ や ../ で始まる相対パスか、 / で始まる絶対パスか、mailto:やtel:で始まる文字列以外は指定できません。同階層のファイルを指定する際はまず先頭に「./」を付けて下さい。');
tArea.focus();
return;
}
} else {
uis += ' ';
}
txtSel = txtSel.replace(/\[/g, '[').replace(/\]/g, ']');
uis = uis.replace(/\|/g, '%7C');
insText = '[' + txtSel + ']' + uis;
} else if (kind == 'N') {
if (txtSel.match(/^>>(\d+,?)+$/)) {
alert('「>>123」の記述は、そのまま投稿すればNo.123へのリンクになります。');
tArea.focus();
return;
}
var uinote = '';
if (txtSel.length == 0) {
uinote = comUin;
}
var uis = prompt('リンク先の投稿番号を数字で入力して下さい:\n※複数投稿を連結する場合はカンマ記号で区切って下さい。' + uinote);
if (!uis) {
tArea.focus();
return;
}
uis = uis.replace(/[0-9]/g, function(s) {
return String.fromCharCode(s.charCodeAt(0) - 65248);
});
uis = uis.replace(/[、,.\.]/g, ',');
uis = uis.replace(/^\s+|\s+$/g, '');
if (uis == txtSel) {
txtSel = '';
}
if (txtSel.length == 0) {
insText = '[>' + uis + ']';
} else {
insText = '[>' + uis + ':' + txtSel + ']';
}
} else if (kind == 'K') {
var uinote = '';
if (txtSel.length == 0) {
uinote = comUin;
}
var uis = prompt('検索語を入力して下さい(検索コマンドも使えます):' + uinote);
if (!uis) {
tArea.focus();
return;
}
uis = uis.replace(/^\s+|\s+$/g, '');
if (uis == txtSel) {
txtSel = '';
}
if (txtSel.length == 0) {
insText = '[>S:' + uis + ']';
} else {
insText = '[>S:' + uis + ':' + txtSel + ']';
}
} else if (kind == 'S') {
var uis = prompt('埋め込みたいSpotifyのシェア用URLを入力して下さい:');
if (uisCheckpQ2kx(uis, tArea) == 0) {
return;
}
if (!uis.match(/spotify/)) {
alert('SpotifyのURLではなさそうです。\nSpotifyのURLだと認識されなかった場合は、ただ「Spotify」という文字のテキストリンクになります。');
}
insText = txtSel + '[Spotify]' + uis + ' ';
} else if (kind == 'A') {
var uis = prompt('埋め込みたいAppleMusicのシェア用URLを入力して下さい:');
if (uisCheckpQ2kx(uis, tArea) == 0) {
return;
}
if (!uis.match(/music.apple.com/)) {
alert('AppleMusicのURLではなさそうです。\AppleMusicのURLだと認識されなかった場合は、ただ「AppleMusic」という文字のテキストリンクになります。');
}
insText = txtSel + '[AppleMusic]' + uis + ' ';
} else if (kind == 'Y') {
var uis = prompt('埋め込みたいYouTubeのURLを入力して下さい:');
if (uisCheckpQ2kx(uis, tArea) == 0) {
return;
}
if (!uis.match(/youtu/)) {
alert('YouTubeのURLではなさそうです。\nYoutubeのURLだと認識されなかった場合は、ただ「YouTube」という文字のテキストリンクになります。');
}
insText = txtSel + '[YouTube]' + uis + ' ';
} else if (kind == 'T') {
var uis = prompt('埋め込みたいツイート単独のURLを入力して下さい:');
if (uisCheckpQ2kx(uis, tArea) == 0) {
return;
}
if (!uis.match(/twitter.com|x.com/)) {
alert('TwitterのURLではなさそうです。\ntwitter.comまたはx.comドメインのURLを入力して下さい。');
return;
} else if (!uis.match(/status/)) {
alert('TwitterのURLですが、ツイート単独のURLではなさそうです。\nツイート単独のURLは https://twitter.com/nishishi/status/1277915695032893440 のように「status」を含むURLです。もしツイートのURLだと認識されなかった場合は、このまま投稿してもツイートとしては展開されません。');
}
insText = txtSel + '[Tweet]' + uis + ' ';
} else if (kind == 'I') {
var uis = prompt('埋め込みたいInstagramのURLを入力して下さい:');
if (uisCheckpQ2kx(uis, tArea) == 0) {
return;
}
if (!uis.match(/instagram.com/)) {
alert('InstagramのURLではなさそうです。\ninstagram.comドメインのURLを入力して下さい。');
return;
} else if (!uis.match(/\/(p|reel)\//)) {
alert('InstagramのURLのうち、埋め込めるのは /p/ または /reel/ が含まれる投稿単独のURLのみです。Instagram投稿のURLだと認識されなかった場合は、ただ「Insta」という文字のテキストリンクになります。');
}
insText = txtSel + '[Insta]' + uis + ' ';
} else if (kind == 'IMG') {
if (txtSel.length == 0) {
txtSel = '代替文字';
}
var uis = prompt('掲載したい画像のURLを入力して下さい:');
if (uisCheckpQ2kx(uis, tArea) == 0) {
return;
}
insText = '[IMG:' + txtSel + ']' + uis + ' ';
}
tArea.value = txtBef + insText + txtAft;
tArea.focus();
var cursorPos = staPos + insText.length;
tArea.setSelectionRange(cursorPos, cursorPos);
}
function showLinkSetpQ2kx() {
document.getElementById('linkDoorpQ2kx').style.display = 'none';
document.getElementById('linkSetpQ2kx').style.display = 'inline';
}
</script><span class="decoBtns"><span id="linkDoorpQ2kx"><input type="button" class="decoDoorpQ2kx" value="リンク" onclick="showLinkSetpQ2kx();" title="リンクボタンを表示"></span><span id="linkSetpQ2kx" style="display:none;"><input type="button"
value="任意URLリンク" onclick="insLinkpQ2kx('U');" title="指定のURLへのリンク"><input type="button" value="指定No.リンク" onclick="insLinkpQ2kx('N');" title="指定投稿No.へのリンク"><input type="button" value="検索リンク" onclick="insLinkpQ2kx('K');"
title="検索結果へのリンク"><input type="button" value="ツイート埋込" onclick="insLinkpQ2kx('T');" title="Twitterのツイートを埋め込む"><input type="button" value="Instagram埋込" onclick="insLinkpQ2kx('I');" title="Instagramを埋め込む"><input type="button" value="YouTube埋込"
onclick="insLinkpQ2kx('Y');" title="YouTube動画を埋め込む"><input type="button" value="Spotify埋込" onclick="insLinkpQ2kx('S');" title="Spotify音楽を埋め込む"><input type="button" value="AppleMusic埋込" onclick="insLinkpQ2kx('A');"
title="AppleMusic音楽を埋め込む"></span><!-- /#linkSet --></span><!-- /.decoBtns(Link) -->
<!-- Hashボタン -->
<!-- 区分ボタン -->
<script>
function showCatSetpQ2kx() {
document.getElementById('catDoorpQ2kx').style.display = 'none';
document.getElementById('catSetpQ2kx').style.display = 'inline';
}
</script><span class="decoBtns"><span id="catDoorpQ2kx"><input type="button" class="catDoorpQ2kx" value="区分" onclick="showCatSetpQ2kx();" title="カテゴリ選択セットを表示"></span><span id="catSetpQ2kx" style="display:none;"><span class="catChecks"><label
title="カテゴリID:info"><input type="checkbox" name="category" value="info">info</label><label title="カテゴリID:memo"><input type="checkbox" name="category" value="memo">memo</label><label title="カテゴリID:diary"><input type="checkbox"
name="category" value="diary">diary</label><label title="カテゴリID:poetry"><input type="checkbox" name="category" value="poetry">poetry</label><label title="カテゴリID:tanka"><input type="checkbox" name="category"
value="tanka">tanka</label><label title="カテゴリID:senryu"><input type="checkbox" name="category" value="senryu">senryu</label><label title="カテゴリID:verse"><input type="checkbox" name="category"
value="verse">verse</label></span></span><!-- /#catSet --></span><!-- /.decoBtns -->
<!-- 状態ボタン -->
<!-- 機能ボタン -->
<script>
function showFuncSetpQ2kx() {
document.getElementById('funcDoorpQ2kx').style.display = 'none';
document.getElementById('funcSetpQ2kx').style.display = 'inline';
}
function comSpeechpQ2kx() {
var tpvpQ2kx = document.getElementById('tegalogpostpQ2kx').value;
var tpppQ2kx = document.getElementById('tegalogpostpQ2kx').placeholder;
var speechpQ2kx = '入力がありません。';
if (tpvpQ2kx.length > 0) {
speechpQ2kx = tpvpQ2kx;
} else if (tpppQ2kx.length > 0) {
speechpQ2kx = tpppQ2kx;
}
const uttr = new SpeechSynthesisUtterance(speechpQ2kx);
speechSynthesis.speak(uttr);
}
function editmaxpQ2kx() {
var covElm = document.getElementById('postformpQ2kx');
var editElm = document.getElementById('tegalogpostpQ2kx');
covElm.style.minHeight = 'unset';
editElm.style.height = '12em';
var ctrlHeight = covElm.offsetHeight - editElm.offsetHeight;
var fullHeight;
if (CSS.supports('height', '1dvh')) {
fullHeight = '100dvh';
} else {
fullHeight = '100vh';
}
covElm.style.boxSizing = 'border-box';
covElm.style.minHeight = fullHeight;
window.scrollTo(0, covElm.offsetTop);
editElm.style.height = 'calc( ' + fullHeight + ' - ' + ctrlHeight + 'px )';
}
function easyInputpQ2kx(easystr) {
if (!easystr) {
return;
}
var tArea = document.getElementById('tegalogpostpQ2kx');
var tValue = tArea.value;
var staPos = parseInt(tArea.selectionStart, 10);
var endPos = parseInt(tArea.selectionEnd, 10);
var txtBef = tValue.substring(0, staPos);
var txtAft = tValue.substring(endPos);
var txtSel = tValue.substring(staPos, endPos);
easystr = easystr.replace(/<br>/g, '\n');
tArea.value = txtBef + easystr + txtAft;
tArea.focus();
var cursorPos = staPos + easystr.length;
tArea.setSelectionRange(cursorPos, cursorPos);
}
</script><span class="decoBtns funcUIs"><span id="funcDoorpQ2kx"><input type="button" class="funcDoorpQ2kx" value="機能" onclick="showFuncSetpQ2kx();" title="機能セットを表示"></span><span id="funcSetpQ2kx" style="display:none;"><input type="button"
value="読み上げ" onclick="comSpeechpQ2kx();" title="入力内容を合成音声で読み上げる"><input type="button" value="止" onclick="speechSynthesis.cancel();" title="読み上げを止める"><input type="button" value="編集最大" onclick="editmaxpQ2kx();" title="編集領域を最大化する"><input
type="button" value="😋" onclick="easyInputpQ2kx(this.getAttribute('data-input'));" data-input="😋" title="😋を入力"><input type="button" value="🎉" onclick="easyInputpQ2kx(this.getAttribute('data-input'));" data-input="🎉"
title="🎉を入力"><input type="button" value="✅" onclick="easyInputpQ2kx(this.getAttribute('data-input'));" data-input="✅" title="✅を入力"></span><!-- /#funcSet --></span><!-- /.decoBtns -->
</div>
<input type="hidden" value="write" name="mode">
</form>
Text Content
* info(1) * memo(1) * diary(1) * poetry(0) * tanka(0) * senryu(0) * verse(0) * なし 2024年11月 この範囲を時系列順で読む この範囲をファイルに出力する 2024/11/21 diary なんの脈絡もなく、今年はどんな一年でしたか?と尋ねられたので振り返ると、今年はたくさん転職したし、ずっと職を探していたといっても過言ではない。 石井ゆかりさんの占いによると、今年のテーマは「居場所」だった。 転々とさまよった結果、居心地のよい場所のいくつかに行き着いたような気がする。 2024/11/21 info リンク先まとめ 2024/11/21 memo or 管理画面へ infomemodiarypoetrytankasenryuverse Powered by てがろぐ Ver 4.5.0.