Coder Social home page Coder Social logo

bbzz / speechless Goto Github PK

View Code? Open in Web Editor NEW

This project forked from meterscao/speechless

0.0 0.0 0.0 1.32 MB

把新浪微博的内容,导出成 PDF 文件进行备份的 Chrome Extension。

License: MIT License

JavaScript 49.46% CSS 50.15% HTML 0.40%

speechless's Introduction

Speechless

image

Speechless 是一个帮助新浪微博用户,把微博内容导出成 PDF 进行本地备份的 Chrome Extension。

使用

  • 通过 Chrome Web Store 安装(推荐)

    Chrome Web Store

  • 下载插件包本地载入

    GitHub release (latest by date)

简介

ScreenShots ScreenShots-1 ScreenShots-2 ScreenShots-3 ScreenShots-4

原理

Chrome 并没有为 Extension 提供直接导出 PDF 的 Api,但是可以借助 Chrome 的 打印预览/另存为 PDF 功能,将网页的内容直接另存为 PDF。

所以 Speechless 做了以下几件事情:

  1. 在页面上找到需要备份用户的 UID,这通常可以通过 URL 直接获得
  2. 通过 Ajax 不断去拉取该用户可见的微博内容,当内容中有长文时,额外通过接口获取长文信息
  3. 将拉取到的微博内容,添加到页面的节点上,并且设置基本的样式和布局
  4. 直到所有内容都拉取完毕之后,通过点击事件触发 window.print() ,唤起 Chrome 自带的打印预览界面
  5. 在打印预览界面 目标打印机 选择 另存为 PDF,导出即可

依赖

其他

  • 愿人人都有自由表达的权利。

更新

version 1.2

  • 增加了默认的拉取时间间隔,以避免拉取过于频繁被微博限制的问题。但目前的方法仍不是最优解法,尚有较大优化空间
  • 增加了拉取完成后,手动选择图片裁切样式的操作
  • 增加了拉取完成后,手动选择是否展示 转、赞、评 信息的操作 @rickypeng99
  • 增加了拉取过程中暂停的操作

version 1.1

  • 使用 Weibo API 获取用户 UID 和用户名 @jingfelix
  • 修复了 icon name 错误的大小写问题 @jjhhms

speechless's People

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.