vert-rl

    
      
  • /*
     * @title vert-rl
     * @description ng x-browser vertical viewer
     * @include http://*
     * @include https://*
     * @license MIT License https://opensource.org/licenses/MIT
     * @javascript_url
     */
    
    // PDFize and AokinMincho
    // http://a2k.aill.org/
    //  http://a2k.aill.org/text.html
    
    // e.g.
    // http://www.aozora.gr.jp/cards/000096/files/2093_28841.html
    //  http://www.aozora.gr.jp/cards/000096/card2093.html
    // TODO
    // adjust lines w/ ruby
    {
        'use strict';
    
        const addStyle = (() => {
            const wall = document.head || document.body || document.documentElement;
    
            const style = document.createElement('style');
            style.type = 'text/css';
            wall.appendChild(style);
    
            return (css) => {
                style.appendChild(document.createTextNode(css + '\n'));
            };
        })();
    
        // vertical c.f.
        // https://developer.mozilla.org/en-US/docs/Web/CSS/writing-mode
        // TBD text-orientation; upright or else
        // https://developer.mozilla.org/en-US/docs/Web/CSS/text-orientation
        const vertSerif = `
            * {
                writing-mode: vertical-rl;
                direction: ltr;
                overflow-y: hidden;
                text-align: justify;
                line-height: 1;
            }
    
            body {
                font-family: "AokinMincho", "Noto Serif JP", serif !important ;
                font-size: 20pt;
                margin-top: 1em;
                margin-bottom: 1em;
                max-height: 100%
            }
    
            rt {
                font-size: 11pt !important ;
            }
        `;
        addStyle(vertSerif);
    
        document.body.addEventListener('mousewheel', (evt) => {
            if (evt.wheelDeltaX) {
                document.body.scrollLeft -= evt.wheelDeltaX;
            } else {
                document.body.scrollLeft += evt.wheelDelta;
            }
            evt.preventDefault();
        });
    
        window.scrollTo(0 ,0);
        //window.scroll(document.body.clientWidth, 0);
    }
    
    // rel scripts/extensions
    
    // aochora
    // http://subtech.g.hatena.ne.jp/cho45/20110319/1300542682
    //  https://gist.github.com/cho45/875989
    
    // ezoezora
    // https://cpplover.blogspot.com/2011/03/chrome-extension.html
    // https://cpplover.blogspot.com/2011/05/blog-post.html
    // https://cpplover.blogspot.com/2011/03/blog-post_22.html
    //  https://chrome.google.com/extensions/detail/jkjlaidhndkfgjhchppdfipigaobmidh
    
    // hatozora
    // http://rosylilly.hatenablog.com/entry/2012/01/14/214244
    //  https://github.com/rosylilly/Tatezora
    //  https://github.com/rosylilly/Tatezora/blob/master/for_userscript.user.js
    
    
  • Permalink
    このページへの個別リンクです。
    RAW
    書かれたコードへの直接のリンクです。
    Packed
    文字列が圧縮された書かれたコードへのリンクです。
    Userscript
    Greasemonkey 等で利用する場合の .user.js へのリンクです。
    Loader
    @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
    Metadata
    コード中にコメントで @xxx と書かれたメタデータの JSON です。

History

  1. 2018/05/06 08:56:11 - 2018-05-06
  2. 2017/05/14 08:57:27 - 2017-05-14
  3. 2017/05/14 08:44:17 - 2017-05-14
  4. 2017/04/19 09:10:43 - 2017-04-19
  5. 2017/04/19 09:09:33 - 2017-04-19
  6. 2017/04/17 08:53:12 - 2017-04-17
  7. 2017/04/17 08:40:20 - 2017-04-17
  8. 2017/04/17 08:39:14 - 2017-04-17
  9. 2017/04/17 05:05:52 - 2017-04-17
  10. 2017/04/16 09:58:30 - 2017-04-16
  11. 2017/04/16 09:33:09 - 2017-04-16