前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Hexo-阅读页面(微信阅读)

Hexo-阅读页面(微信阅读)

作者头像
闲花手札
发布2023-11-15 10:29:57
2000
发布2023-11-15 10:29:57
举报
文章被收录于专栏:闲花手札闲花手札

效果预览

生成Token

进入网站 登录微信读书 (islu.cn) 扫码登录

F12打开控制台复制Token

静态生成网页

在适当位置创建read.js 文件 我以根目录举例

粘贴一下代码内容 记得看注释 根据自己的目录文件修改

代码语言:javascript
复制
const fs = require('fs');
const path = require('path');

var myHeaders = new Headers();
myHeaders.append("token", "01HF5Z180R39PQ8RXXXXXXXXXX"); // 此处为你的Token
myHeaders.append("User-Agent", "WeRead/7.4.2 (iPhone; iOS 17.1; Scale/3.00)");

var requestOptions = {
    method: 'GET',
    headers: myHeaders,
    redirect: 'follow'
};

const outputDir = path.join(process.cwd(), 'source', '_data'); // 文件输出目录
if (!fs.existsSync(outputDir)) {
    fs.mkdirSync(outputDir, {recursive: true});
}

const outputPath = path.join(outputDir, 'read.json'); // 生成文件命名

fetch("https://weread.islu.cn/api/shelf/book/list", requestOptions)
    .then(response => response.json())
    .then(jsonResult => {
        console.log('Wechat Reading File writteing');
        fs.writeFile(outputPath, JSON.stringify(jsonResult), (err) => {
            if (err) {
                console.error('Error writing Wechat Reading file:', err);
            } else {
                console.log('Wechat Reading File written successfully');
            }
        })
    })
    .catch(error => console.log('Wechat Reading error', error));

运行 node read.js 获取数据生成的 JSON 文件

在页面中加入以下代码

代码语言:javascript
复制
<div class="bookshelf_preview_container">
    <div id="books" class="bookshelf_preview_body">
        <% var books = site.data.read.data.books; %>
        <% for (var i = 0, len = books.length; i < len; i++) { %>
            <% var book = books[i]; %>
            <div class="bookshelf_preview_item" title="<%= book.title %>">
                <div class="bookshelf_preview_item_container">
                    <div class="wr_bookCover bookshelf_preview_cover">
                        <img class="wr_bookCover_img" alt="书籍封面" src="<%= book.cover %>">
                        <div class="wr_bookCover_border"></div>
                        <span class="wr_bookCover_decor wr_bookCover_gradientDecor wr_bookCover_borderDecor"></span>
                    </div>
                    <div class="bookshelf_preview_content">
                        <p class="bookshelf_preview_title"><%= book.title %></p>
                        <span class="bookshelf_preview_author"><%= book.author %></span>
                    </div>
                </div>
                <% var bookProgress = site.data.read.data.bookProgress; %>
                <% for (var j = 0, len = bookProgress.length; j < len; j++) { %>
                    <% if (bookProgress[j].bookId == book.bookId) { %>
                    <div class="bookshelf_preview_progressBar" title="<%= bookProgress[j].progress %>%">
                        <span style="width: <%= bookProgress[j].progress %>%"></span>
                    </div>
                    <% } %>
                <% } %>
            </div>
        <% } %>
    </div>
</div>

注:代码仅供参考 请结合自己的代码修改

自动部署

改天分享一下我的 Github Action 的yml文件希望能够对大家的自动化有所优化

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-11-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 效果预览
  • 生成Token
  • 静态生成网页
  • 自动部署
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档