217 lines
8.9 KiB
HTML
217 lines
8.9 KiB
HTML
<!DOCTYPE HTML>
|
|
<html lang="en">
|
|
|
|
<head>
|
|
<title></title>
|
|
<style>
|
|
.post-preview {
|
|
max-width: 780px;
|
|
height: 200px;
|
|
margin: 1em auto;
|
|
position: relative;
|
|
display: flex;
|
|
/*background: #eee;*/
|
|
background: var(--entry);
|
|
border-radius: 15px;
|
|
box-shadow: 0 2px 4px rgba(0, 0, 0, .25), 0 0 2px rgba(0, 0, 0, .25);
|
|
}
|
|
|
|
.dark .post-preview {
|
|
/*background: #383838;*/
|
|
background: var(--entry);
|
|
box-shadow: 0 2px 4px rgba(0, 0, 0, .5), 0 0 2px rgba(0, 0, 0, .5);
|
|
}
|
|
|
|
.post-preview--meta {
|
|
width: 80%;
|
|
padding: 23px;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.post-preview--middle {
|
|
line-height: 28px;
|
|
}
|
|
|
|
.post-preview--title {
|
|
font-size: 22px;
|
|
margin: 0 !important;
|
|
}
|
|
|
|
.post-preview--title a {
|
|
text-decoration: none;
|
|
}
|
|
|
|
.post-preview--date {
|
|
font-size: 14px;
|
|
color: #999;
|
|
}
|
|
|
|
.post-preview--excerpt {
|
|
font-size: 14px;
|
|
line-height: 1.825;
|
|
}
|
|
|
|
.post-preview--excerpt p {
|
|
display: inline;
|
|
margin: 0;
|
|
}
|
|
|
|
.post-preview--image {
|
|
height: 200px !important;
|
|
width: 25%;
|
|
float: right;
|
|
border-radius: 0 15px 15px 0;
|
|
}
|
|
|
|
.post-preview img {
|
|
margin: unset;
|
|
width: 20%;
|
|
border-radius: 0 15px 15px 0;
|
|
}
|
|
|
|
@media (max-width: 550px) {
|
|
.post-preview {
|
|
width: 95%;
|
|
}
|
|
|
|
.post-preview--excerpt {
|
|
display: none;
|
|
}
|
|
|
|
.post-preview--middle {
|
|
line-height: 19px;
|
|
}
|
|
}
|
|
|
|
.rating {
|
|
display: block;
|
|
line-height: 15px;
|
|
}
|
|
|
|
.rating-star {
|
|
display: inline-block;
|
|
width: 75px;
|
|
height: 15px;
|
|
background-repeat: no-repeat;
|
|
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEsAAAClCAYAAAAUAAAYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA5xJREFUeNrs3T9rFEEcxvG7qEQIglaCICKkin9AUEtBKxU7wS61VlYivgWj70TtNFj5BqzE7qxEWwsxKIoYn4UtluFmbm8nczvzm+/BjxyuDwNzu3uXD0+46f7LC5PA45Hm+WTYw1x2LRDc0jzTXB+wqMlsaLPutz8fDFjYZHYauAz3NBvt83XNnyUWNpn1nVm3OsHmsb3EomazzZnVXKMPNcc0xzUnNKc0Rzv/77fms+Z7O3vt9b1eU7bZrNN68l5zcolX4ofmsuZXTdnmMvyi2dR86Bmcac62P6vKrnVubpc0bxYE32nOab45N8YqsvPeDfcD4SOav4HjprPuu+H5BTt9LXDMfNbdLPfT678Fx6vKupt1o/O8+R3pkOaJ5/iktqx7z/qp+aq5q/nY+fczmheaK03Gs7D5rLtZdzSvA6/Ebc2u55j57HQB0TzW7AzkjiKzny6+2hlKNE8juMNcFqKBaIZndRlCNBBNgmx7ZkE0fbLtZkE0EA1EM17WuQwhGogGooFoss6296y52cNO+J6HLJoPaFdbsvA9zGerIxrPh85eWYgGooFoDiQbuAxp0UA0EVmdWbRo+ma1WbRoIBqIZtzsnHdDWjQQDUQD0WSbde5ZS2UhmtqJJtSEiVkXooFoIJre2VATJmZdiKZ2ogk1YSb8oVMvDeUPnSAaiCaPJkzMuhANRAPRQDQpsqEmTMy6EI11oolpwkA0EA1EcyDZmCYMRAPR+LMxTZjqiCamCQPRQDQQzehNGIgGooFoIJpVZ2OaMBBN7USTqgkD0UA0EE3vbKomDERTO9GkasKYJJpUTRiIBqKBaEZvwkA0EA1EA9GkyKZqwkA01olmrCYMRAPRQDR9LkO+0QmiKbAJUyTRjNWEgWggGohm9CYMRAPRQDQQzZDsWE0YiMYC0eTYhIFoIJrKiCbHJgxEY4FocmzCZEs0OTZhIBqIpjKiybEJA9FANBANROPL5tiEgWhKIJoSmzAQDURjjGhKbMJANCUQTYlNmNGIpsQmDEQD0RgjmhKbMBANRAPR1Es0JTZhIJpciMZaEwaigWgKJBprTRiIJheisdaESUo01powEA1EUyDRWGvCQDQQDURjm2isNWEgmlURzWw2q4pZIBqIJkOiCVyGJpkFolkV0ejMMvel28mIRptl7ku3IRqIpjCimfNuaJpZIBqIBqIpm2ice5Z5ZonJupvVkMRu4JW4qXnrOWY++1+AAQBw9BJSCTeN9wAAAABJRU5ErkJggg==);
|
|
overflow: hidden;
|
|
}
|
|
|
|
.allstar10 {
|
|
background-position: 0px 0px;
|
|
}
|
|
|
|
.allstar9 {
|
|
background-position: 0px -15px;
|
|
}
|
|
|
|
.allstar8 {
|
|
background-position: 0px -30px;
|
|
}
|
|
|
|
.allstar7 {
|
|
background-position: 0px -45px;
|
|
}
|
|
|
|
.allstar6 {
|
|
background-position: 0px -60px;
|
|
}
|
|
|
|
.allstar5 {
|
|
background-position: 0px -75px;
|
|
}
|
|
|
|
.allstar4 {
|
|
background-position: 0px -90px;
|
|
}
|
|
|
|
.allstar3 {
|
|
background-position: 0px -105px;
|
|
}
|
|
|
|
.allstar2 {
|
|
background-position: 0px -120px;
|
|
}
|
|
|
|
.allstar1 {
|
|
background-position: 0px -135px;
|
|
}
|
|
|
|
.allstar0 {
|
|
background-position: 0px -150px;
|
|
}
|
|
|
|
|
|
.rating-average {
|
|
color: #777;
|
|
display: inline-block;
|
|
font-size: 13px;
|
|
margin-left: 10px;
|
|
}
|
|
</style>
|
|
<script src="https://code.jquery.com/jquery-1.12.4.min.js"
|
|
integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ=" crossorigin="anonymous"></script>
|
|
<script type="text/javascript">
|
|
$(document).ready(function () {
|
|
$('.douban_item').each(function () {
|
|
var _this = $(this);
|
|
var strs = _this.attr('urlstring').toString();
|
|
var db_reg = /^https\:\/\/(movie|book)\.douban\.com\/subject\/([0-9]+)\/?/;
|
|
if (db_reg.test(strs)) {
|
|
var db_type = strs.replace(db_reg, "$1");
|
|
var db_id = strs.replace(db_reg, "$2").toString();
|
|
var db_api = "https://douban.edui.fun/";
|
|
if (db_type === 'movie') {
|
|
var ls_item = 'movie' + db_id;
|
|
var url = db_api + "movies/" + db_id;
|
|
if (localStorage.getItem(ls_item) == null || localStorage.getItem(ls_item) === 'undefined') {
|
|
$.ajax({
|
|
url: url, type: 'GET', dataType: "json", success: function (data) {
|
|
localStorage.setItem(ls_item, JSON.stringify(data));
|
|
movieShow(_this, ls_item, strs)
|
|
}
|
|
})
|
|
} else {
|
|
movieShow(_this, ls_item, strs)
|
|
}
|
|
} else if (db_type === 'book') {
|
|
var ls_item = 'book' + db_id;
|
|
var url = db_api + "v2/book/id/" + db_id;
|
|
if (localStorage.getItem(ls_item) == null || localStorage.getItem(ls_item) === 'undefined') {
|
|
$.ajax({
|
|
url: url, type: 'GET', dataType: 'json', success: function (data) {
|
|
localStorage.setItem('book' + db_id, JSON.stringify(data));
|
|
bookShow(_this, ls_item, strs)
|
|
}
|
|
})
|
|
} else {
|
|
bookShow(_this, ls_item, strs)
|
|
}
|
|
}
|
|
}
|
|
});
|
|
});
|
|
|
|
function movieShow(_this, ls_item, str) {
|
|
var storage = localStorage.getItem(ls_item);
|
|
var data = JSON.parse(storage);
|
|
var db_star = Math.ceil(data.rating);
|
|
$("<div class='post-preview'><div class='post-preview--meta'><div class='post-preview--middle'><div class='post-preview--title'><a target='_blank' style='box-shadow: none; font-weight: bolder;' href='" + str + "'>" + data.name + "</a></div><div class='rating'><div class='rating-star allstar" + db_star + "'></div><div class='rating-average'>" + data.rating + "</div></div><time class='post-preview--date'>导演:" + data.director + " / 类型:" + data.genre + " / " + data.year + "</time><section style='max-height:75px;overflow:hidden;' class='post-preview--excerpt'>" + data.intro.replace(/\s*/g, "") + "</section></div></div><img referrerpolicy='no-referrer' loading='lazy' class='post-preview--image' src=" + data.img + "></div>").replaceAll(_this)
|
|
}
|
|
|
|
function bookShow(_this, ls_item, str) {
|
|
var storage = localStorage.getItem(ls_item);
|
|
var data = JSON.parse(storage);
|
|
var db_star = Math.ceil(data.rating.average);
|
|
$("<div class='post-preview'><div class='post-preview--meta'><div class='post-preview--middle'><div class='post-preview--title'><a target='_blank' style='box-shadow: none; font-weight: bolder;' href='" + str + "'>" + data.title + "</a></div><div class='rating'><div class='rating-star allstar" + db_star + "'></div><div class='rating-average'>" + data.rating.average + "</div></div><time class='post-preview--date'>作者:" + data.author + " / 出版:" + data.pubdate + " / " + data.publisher + " </time><section style='max-height:75px;overflow:hidden;' class='post-preview--excerpt'>" + data.summary.replace(/\s*/g, "") + "</section></div></div><img referrerpolicy='no-referrer' loading='lazy' class='post-preview--image' src=" + data.images.medium + "></div>").replaceAll(_this)
|
|
}
|
|
</script>
|
|
</head>
|
|
|
|
<body>
|
|
<div class="douban_show">
|
|
<div id="db{{ .Get " src" }}" urlstring="{{ .Get " src" }}" class="douban_item post-preview"></div>
|
|
</div>
|
|
</body>
|
|
|
|
</html> |