JSFiddle - React, Tailwind, and code Playground
by kuonyuu
CSS
@-moz-document url-prefix("https://syosetu.com/user/top/") {
.favusernovel_info {
width: 125px;
}
}
@-moz-document url-prefix("https://syosetu.com/user/top/"), url-prefix("https://syosetu.com/xuser/top/") {
/* センターカラム内の順番の入れ替え */
#main_top, #fav {
display: flex !important;
flex-direction: column !important;
}
#fav hr {
order: 2 !important;
}
#favuserblog {
order: 3 !important;
}
#favusernovel {
order: 1 !important;
}
#head_koukoku,
#header,
#footer,
#container {
margin: 0 22% 0 auto;
}
.p-up-bookmark-item__info { display: block }
}
@-moz-document domain("syosetu.com") {
.p-eplist-ex { background: transparent }
.footer_bookmark_wrap, #novel_hyouka, #footer {
background: transparent !important;
}
#novel_contents #impression, #recommend, #review {
display: none;
}
.ex {
color: #9ba9a9 !important
}
.favusernovel_info {
width: 150px;
}
#novel_contents #novel_honbun, #novel_contents #novel_a {
font-size: 120% !important;
}
body #novel_honbun {
width: 100% !important;
box-sizing: border-box;
padding: 0 26px;
}
.favusernovel_title a {
font-size: 115%;
}
.favusernovel_info {
color: #adadad;
font-size: 95%;
}
ul.category_box li.now a {
text-decoration: underline !important;
font-weight: 600 !important;
color: grey !important;
}
ul.writter_menu li:not(:last-child) a {
padding-right: 5px;
}
ul.writter_menu a {
margin: 6px 2px 5px;
}
ul.writter_menu li.menu_h {
padding: 5px 10px 5px;
}
}
@-moz-document url-prefix("https://ncode.syosetu.com/"), url-prefix("https://novel18.syosetu.com/") {
.l-main {
margin: 47px 30% 10px auto !important;
}
.wrap_menu_novelview_after, .footerbookmark li.booklist_now a, .footerbookmark .booklist .login {
background: transparent;
}
.wrap_menu_novelview_after, .wrap_menu_novelview_after li, #novel_footer {
border-color: rgba(48, 95, 128, 0.9) !important;
}
#novel_honbun {
counter-reset: line;
}
.p-novel__text p {
position: relative;
padding-left: 3px;
line-height:...
JavaScript
// ==UserScript==
// @name narou novel align
// @description 「小説家になろう」の閲覧をいい感じにします
// @include https://*.syosetu.com/*
// @include https://*.syosetu.com/*/
// @match https://ncode.syosetu.com/*
// @match https://novel18.syosetu.com/*
// @author @kuonyuu
// @version 0.1
// @grant none
// @require https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js
// ==/UserScript==
//$(document).ready(function(){
$(document).keydown(function (e) {
// 74, 75 = j, k
// N = 78
// L = 76
if (e.which == 76 || e.which == 108) {
// L
window.scrollTo(0, document.body.scrollHeight)
var link = document.querySelectorAll(".subtitle")
link[link.length - 1].lastChild.click()
//console.log(link);
}
if (e.which == 75 || e.which == 107) {
// k
//window.location.href = document.querySelectorAll(".novel_bn > a")[0].getAttribute('href');
document.querySelectorAll(".c-pager > a")[0].click()
}
if (e.which == 74 || e.which == 106) {
// j
document.querySelectorAll(".c-pager > a")[1].click()
}
if (e.which == 72 || e.which == 104) {
// H
// document.querySelectorAll(".novel_bn > a")[2].click();
var re =
/^(?:http(s)?:\/\/)?(novel18|ncode)(.syosetu.com\/)(n[0-9]{1,4}[a-z]{1,2})(\/)/
var result = re.exec(window.location)
window.location = result[0]
//console.log(result);
}
if (e.which == 188) {
// <
var viewportHeight = window.innerHeight - 80
var current = document.documentElement.scrollTop || document.body.scrollTop
//console.log(current);
window.scrollTo(0, current + viewportHeight)
}
if (e.which == 190) {
// >
var viewportHeight = window.innerHeight - 80
var current = document.documentElement.scrollTop || document.body.scrollTop
//console.log(current);
window.scrollTo(0, current - viewportHeight)
}
// up 38, down 40
// Author Page
if (e.which == 65 || e.which == 97) {
// A
...