telescopejs / telescope

πŸ”­ The service ( from Client or Server ) works for render view ( markdown / code / image... ) from fetching URL.
http://23.106.151.229:8002/img/telescopejs/telescope
MIT License
177 stars 47 forks source link
github-preview pdf snapshot telescope

Telescope πŸ”­

build status Test coverage

What is telescope

Telescope is the service ( from client or server ) works for render view ( md / code / image... ) via fetching URL.
It's awesome that we can see any file on the internet. And telescope provides three ways (html/image/pdf) to display the view.
So you can write the markup as follows.

<!--https://telescopejs.github.io/ is the client side's service without any dynamic server-->
<iframe src="https://telescopejs.github.io/?q=picidaejs/picidaejs" frameborder="0" width="100%" height="400px"></iframe>

Features

Why needs telescope

Hackernoon and Medium has the similar view via rendering gist snippet. We can use telescope service to preview or generate the image / pdf easily!

Installation

git clone https://github.com/telescopejs/telescope.git
cd telescope
# If you are in china, should set PUPPETEER_DOWNLOAD_HOST to speed the installation of puppeteer. 
PUPPETEER_DOWNLOAD_HOST=https://npm.taobao.org/mirrors npm install
# server side, default port 8002
npm start
# or client side, default port 9999
npm run client
# build the assert of client side on `public/`
npm run client:build

Meanwhile, telescope requires chrome libraries.
You should ensure the dependencies of chrome that you had installed, because I use the headless Chrome browser puppeteer to generate snapshot and pdf.

Client Side

Open http://localhost:9999 after setup the service on port 9999.

name type description
q string the fetching url, e.g. picidaejs/picidaejs/master/src/index.js picidaejs/picidaejs
style string the view style, please see https://telescopejs.github.io/?debug=true
hlStyle string the code's highlight style, please see https://telescopejs.github.io/?debug=true
range number|[start, end] the code's range, e.g. ?range=10 ?range=[10] ?range=[10, 20] ?range=[-20, -15]

And specially, debug=true is accepted on client side for debug.

Server Side

Temporary outside service http://23.106.151.229:8002/

Customized

If you want to customize yourself own telescope, Please write your plugin or style.

License

MIT imcuttle