年度指定のジャンプ機能 

作成した記事を保存したり再編集で呼出す時に、私達は意識せずに記事のデータベースにアクセスしています。 そのデータベースを直接にユーザーが扱うインターフェイスが「記事の編集・削除」の画面です。

 

この「記事の編集・削除」の画面には少々不満があります。 それは、長い記事タイトルの末尾が省略され、連番を付けた記事の区別が出来ない場合が多い点からです。

 

で、日常的な使用で時々面倒だと感じるのが、「年度の切換え」が1年ずつしかできない点です。 ブログの「一番最初の記事」や「一番最初の月」を、自分用書庫やブログ説明を表示する記事の置き場所にしている方は、一定数居られると思います。 記事中やサイドバーにリンクを置けば、整理したそれらを見てもらう事ができますから。

 

そういったブログ構成を作っている場合に、現在からとても遡った日付の記事を修正する必要が出て来ます。 その記事を表示した「ブログ画面」からアクセスする場合は、以下の2種のツールでダイレクトに記事を編集する事が出来ます。

 

 

 

しかし、「記事の編集・削除」を開いている場合は、そこから編集する記事を指定して編集する方が近道のはずです。 そう考えて年度を遡る操作をするのですが、これが思ったより手間です。 私はせいぜい5年程度ですが、10年ランナーなら「記事の編集・削除」で年度を遡るのはやめたくなるでしょう。

 

私の場合は、複数の年度の最初(1月1日)の日付で、書庫を作ってデータを纏めたりしているので、この様な操作をする事が多く、これはジャンプ機能を作ったら改善できると思い着きました。

 

 

 

 「Quick EntryList」の扱い方

ジャンプ機能のために「セレクトボックス」をページの右上端に設置しました。 また、「指定年月」のボタンは、ユーザーが登録した年月を開くボタンです。

 

 

上の画面は、「Ameblo Managemebt」のアレンジを適用した画面デザインですが、このアレンジが無いデフォルト画面でも、「Quick EntryList」は利用できます。

 

 

ジャンプ機能 

◎「セレクトボックス」は「2000年~現在」までの年度が選択できます。

 

 

●「セレクトボックス」で選択すると、選択した年度の1月の画面が開きます。

 

▪ユーザーの記事が無い(未加入の時期)の年度も記事なしで表示されます。

 

▪2000年等を一旦表示し、年度選択の右ボタン「ページング右」を押すと、ブログの一番最初の記事の月を表示できます。

 

 

 

 指定年月の登録

●「指定年月」のボタンを「Click」すると、登録した年月の画面が開きます。

 

●「指定年月」のボタンを「Ctrl+Click」すると、開いている年月がジャンプ先に登録されます。「登録」の書換え確認が表示されるので「OK」を押します。

 

 

▪指定年月の登録は、ブログの「一番最初の月」や「開く事が多い月」を登録しておくと便利です。

 

 

 

「Quick EntryList」を利用するには 

このツールは Chrome / Edge / Firefox の拡張機能「Tampermonkey」上で動作します。 このツールは常駐型のツールで、Tampermonkey上で常に「ON」にしておくと、「記事の編集・削除」の画面を開いた時にのみに起動します。

 

以下に、このツールの導入手順を簡単に説明します。

 

❶「Tampermonkey」を導入します

使用しているブラウザに拡張機能「Tampermonkey」を導入する事が必要です。 以下のページに簡単な導入の説明があるので参照ください。

 

 

❷「Tampermonkey」にスクリプトを登録します

●「Tampermonkey」の「」マークの「新規スクリプト」タブを開きます。

 

 

 

●「新規スクリプト」には、最初からテンプレートが記入されています。 これは全て削除して、完全に空白の編集枠に 下のコードをコピー&ペーストします。

 

〔コピー方法〕 軽量シンプルなツール「PreBox Button   」を使うと

  コード枠内を「Ctrl+左Click」➔「Copy code 」を「左Click」

  の操作で、掲載コードのコピーが可能になります。

 

● 最後に「ファイル」メニューの「保存」を押すと、ツールが使用可能になります。

 

 

〔 Quick EntryList 〕 ver. 0.1

 

// ==UserScript==
// @name         Quick EntryList
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  記事の編集・削除の機能拡張
// @author       Ameba Blog User
// @match        https://blog.ameba.jp/ucs/entry/srventrylist*
// @grant        none
// ==/UserScript==


let year_list=[]; // 選択年度の配列
let point_ym; // ユーザーの指定年月のクエリー文字

point_ym=unescape(get_cookie('QE_Point'));
if(get_cookie('QE_Point')==0){
    point_ym='?'; }
document.cookie='QE_Point='+ escape(point_ym) +'; Max-Age=2592000'; // Cookie更新



let button=document.createElement('button');
button.setAttribute('id', 'point_button');
button.textContent='指定年月';
if(!document.querySelector('#point_button') &&
   document.querySelector('#ucsMainLeft h1')){
    document.querySelector('#ucsMainLeft h1').appendChild(button); }


let select=document.createElement('select');
select.setAttribute('id', 'select_box');
if(!document.querySelector('#select_box') &&
   document.querySelector('#ucsMainLeft h1')){
    document.querySelector('#ucsMainLeft h1').appendChild(select); }

let style=document.createElement('style');
style.setAttribute('id', 'years_style');
style.textContent=
    '#select_box { float: right; font: bold 18px Meiryo !important; '+
    'height: 28px; padding: 0 10px; margin-top: -2px; } '+
    '#select_box option { font: bold 18px Meiryo; } '+
    '#point_button { float: right; height: 28px; margin-top: -2px; '+
    'font-size: 15px; padding: 2px 6px; } ';

if(!document.querySelector('#years_style') &&
   document.querySelector('#ucsMainLeft h1')){
    document.querySelector('#ucsMainLeft h1').appendChild(style); }



set_year_list();
disp_select();
select_year();
point_set();



function point_set(){
    let point_button=document.querySelector('#point_button');
    if(point_button){
        point_button.onclick=function(event){
            if(!event.ctrlKey){
                location.href=
                    "https://blog.ameba.jp/ucs/entry/srventrylist.do"+ point_ym; }
            else{
                let ok=confirm(
                    "   💢 Quick指定年月の登録を変更します\n\n"+
                    "  「OK」を押すと現在の年月が登録されます");

                if(ok){
                    let now_ym=location.search;
                    if(!now_ym){
                        now_ym='?'; }
                    document.cookie=
                        'QE_Point='+ escape(now_ym) +'; Max-Age=2592000'; } // Cookie更新
                else{ ; }}}}}



function select_year(){
    let set_year;
    let select_box=document.querySelector('#select_box');
    if(select_box){
        select_box.onchange=function(){
            set_year=select_box.options[select_box.selectedIndex].value;
            location.href=
                "https://blog.ameba.jp/ucs/entry/srventrylist.do?entry_ym="+
                set_year +"01"; }}}



function set_year_list(){
    let currentTime=new Date();
    let year=currentTime.getFullYear();
    for(let k=2000; k<year+1; k++){
        year_list.push(k); }
    year_list.reverse(); }



function disp_select(){
    let page_year;
    let ym=location.search;
    if(ym){
        page_year=ym.slice(-6, -2); }
    else{
        page_year=0; }

    let select_box=document.querySelector('#select_box');
    if(select_box){
        for(let k=0; k<year_list.length; k++){
            let option=document.createElement('option');
            option.text=year_list[k];
            option.value=year_list[k];
            select_box.appendChild(option);
            if(page_year==year_list[k]){
                option.selected=true; }}}}



function get_cookie(name){
    let cookie_req=document.cookie.split('; ').find(row=>row.startsWith(name));
    if(cookie_req){
        if(cookie_req.split('=')[1]==null){
            return 0; }
        else{
            return cookie_req.split('=')[1]; }}
    if(!cookie_req){
        return 0; }}



 

 

 

「Quick EntryList」最新版について 

旧いバージョンの「Quick EntryList」は、アメーバのページ構成の変更で動作しない場合があり、導入する場合は最新バージョンをお勧めします。 最新バージョンへのリンクは、以下のページのリンクリストから探せます。