Skip to content

Instantly share code, notes, and snippets.

@koke2c95
Last active November 29, 2023 07:51
Show Gist options
  • Save koke2c95/2dfcb6b4e4e6282a4f34da698fec06e4 to your computer and use it in GitHub Desktop.
Save koke2c95/2dfcb6b4e4e6282a4f34da698fec06e4 to your computer and use it in GitHub Desktop.
なろう情報入り込む
// ==UserScript==
// @name なろう情報入り込む
// @namespace Violentmonkey Scripts
// @match https://ncode.syosetu.com/n*
// @exclude https://*.syosetu.com/n*/*/
// @grant none
// @version 1.0
// @author -
// ==/UserScript==
function formatNumber(number) {
if (number < 100000) {
return number;
} else if (number >= 100000 && number < 1000000) {
return (number / 1000).toFixed(1) + "K";
} else if (number >= 1000000 && number < 1000000000) {
return (number / 1000000).toFixed(1) + "M";
} else if (number >= 1000000000 && number < 1000000000000) {
return (number / 1000000000).toFixed(1) + "B";
} else if (number >= 1000000000000 && number < 1000000000000000) {
return (number / 1000000000000).toFixed(1) + "T";
}
}
ncode = document.URL.match('n[0-9a-z]{6}')[0]
fetch("https://api.syosetu.com/novelapi/api/?ncode="+ncode+"&out=jsonp")
.then(response => response.text())
.then(text => {
const jsonData = JSON.parse(text.slice(14, -2))[1];
// console.log(jsonData)
html = "<br><br><p style='color:#03a9f4'>"+jsonData['keyword'];
html += '<br>'+"🗓️: "+jsonData['general_firstup'].slice(0,4)+'~'+jsonData['general_lastup'].slice(0,4);
html += '<br>'+"🎭: "+jsonData['kaiwaritu']+'%'
html += "💬: "+Math.floor(jsonData['length']/jsonData['general_all_no'])+'🍿: '+formatNumber(jsonData['length']);
html += '<br>'+"❤️: "+jsonData['fav_novel_cnt']+"🎎: "+jsonData['impression_cnt']+'⭐: '+jsonData['review_cnt'];
html += "</p>";
//html += "<canvas id='myChart' style='display: block; width: 816px; height: 408px;' width='816' height='408'></canvas>"
document.getElementsByClassName('novel_title')[0].insertAdjacentHTML('beforeend',html);
})
.catch(error => console.error(error));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment