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

Form analysis 1 forms found in the DOM

POST ./?

<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 &amp;&amp; event.keyCode == 13 ) { document.getElementById('tegalogsubmitpQ2kx').click(); return false; }if( event.ctrlKey &amp;&amp; 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 &amp;&amp; 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, '&#91;').replace(/\]/g, '&#93;');
          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.