テキストファイルを小説家になろうの表示にするブックマークレット

はじめに

テキストファイルをウェブブラウザで読み込んで実行すると、表示が「小説家になろう」でのものになるブックマークレットです。

|《》でのルビに対応しています。漢字 + ()でのルビには対応していません。

小説家になろうのモバイルサイト表示には対応していません。

ブラウザでテキストファイルを表示
ブラウザでテキストファイルを表示
ブックマークレットで表示変換
ブックマークレットで表示変換

ブックマークレット

下のリンクをブックマークバーへドラッグしてブックマークに追加してください。

テキスト -> 小説家になろう ブックマークレット

別の方法

使い方

ウェブブラウザ上へテキストファイルをドラッグするなどして開き、ブックマークレットを実行してください。

コード

ブックマークレット

javascript:(function(e){var r=document.createElement("script");r.src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js",document.documentElement.appendChild(r),r.onload=function(){var r=jQuery.noConflict(!0);e(r)}}(function(e){var r='<style>body{margin:50px auto;padding:0 20px;width:600px;font-family:"メイリオ",Meiryo,"Lucida Grande",sans-serif;font-size:15.2px;line-height:22.8px;text-align:left;vertical-align:baseline;direction:ltr;unicode-bidi:bidi-override;word-break:normal;word-wrap:break-word;color:#444}</style>';word=e("body").text().replace(/\n/g,"<br>").replace(/|([^(]+?)《(.+?)》/g,"<ruby><rt></rt></ruby>").replace(/|((.*?))/g,""),e("head").append(r),e("body").empty(),e("body").append(word)}));

元の JavaScript

(function(f) {
  var s = document.createElement('script')
  s.src = 'https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js'
  document.documentElement.appendChild(s)
  s.onload = function() {
    var $ = jQuery.noConflict(true)
    f($)
  }
})
(function($) {
  var css = '<style>body{margin:50px auto;padding:0 20px;width:600px;font-family:"メイリオ",Meiryo,"Lucida Grande",sans-serif;font-size:15.2px;line-height:22.8px;text-align:left;vertical-align:baseline;direction:ltr;unicode-bidi:bidi-override;word-break:normal;word-wrap:break-word;color:#444}</style>'
  word = $('body').text().replace(/\n/g, '<br>').replace(/|([^(]+?)《(.+?)》/g, '<ruby><rt></rt></ruby>').replace(/|((.*?))/g, '')
  $('head').append(css)
  $('body').empty()
  $('body').append(word)
})

元の CSS

body {
  margin: 50px auto;
  padding: 0px 20px;
  width: 600px;
  font-family: "メイリオ", "Meiryo", "Lucida Grande", "sans-serif";
  font-size: 15.2px;
  line-height: 22.8px;
  text-align: left;
  vertical-align: baseline;
  direction: ltr;
  unicode-bidi: bidi-override;
  word-break: normal;
  word-wrap: break-word;
  color: #444444;
}