Giter VIP home page Giter VIP logo

vivliostyle-ui's Introduction

Vivliostyle

GitHub tag Build Status Sauce Test Status GitHub contributors PR's welcome

Vivliostyle is an open source project for a new typesetting system based on web standard technology.

Vivliostyle.js offers HTML+CSS typesetting and rich paged viewing with EPUB/Web publications support.

🌏 Vivliostyle.org
📖 Documentation
🤝 Join Community
🕶 Awesome Vivliostyle
💅 Vivliostyle Themes

Table of contents

Packages

npm: version npm: total downloads

A core library for HTML+CSS typesetting with EPUB/Web publications support.

See API Reference for further details.

npm: version npm: total downloads

A web app provides intuitive UI for Vivliostyle.

Use officially-hosted Vivliostyle Viewer or download a distribution package from https://vivliostyle.github.io.

npm: version npm: total downloads

A command-line interface of Vivliostyle.

npm: version npm: total downloads

Use React component as a Vivliostyle renderer.

npm: version npm: total downloads

Vivliostyle Flavored Markdown (VFM) is a Markdown syntax optimized for book authoring. It is standardized and published for Vivliostyle and its sibling projects.

npm: version npm: total downloads

Vivliostyle Print allows page-layouting using Vivliostyle Core for printing within a website without destroying the original layout.

npm: version npm: total downloads

The fastest way to start writing book with Vivliostyle ecosystem.

npm: total downloads

Create Vivliostyle theme at ease.

Contribution

Bug Reports & Feature Requests

Please report on GitHub Issues.

Contributors ✨

Thanks goes to these wonderful people (emoji key):

sorotokin
sorotokin

💻
KAWAKUBO Toru
KAWAKUBO Toru

💻
Satoru MATSUSHIMA (℠)
Satoru MATSUSHIMA (℠)

💻
Seiya Konno
Seiya Konno

💻
Johannes Wilm
Johannes Wilm

💻
Florian Rivoal
Florian Rivoal

💻
Satoshi KOJIMA
Satoshi KOJIMA

💻
Masaya Yamauchi
Masaya Yamauchi

💻
Shinyu Murakami
Shinyu Murakami

💻 📖 📢
Shota Kubota
Shota Kubota

💻
spring-raining
spring-raining

💻 📖 📢
Hiroshi Hatake
Hiroshi Hatake

💻
takanakahiko
takanakahiko

💻
Yasuaki Uechi
Yasuaki Uechi

💻 📖 🎨 📢
Zachary Waldowski
Zachary Waldowski

💻
yamasy1549
yamasy1549

💻 🎨
OGATA Katsuhiro
OGATA Katsuhiro

📝 📋
akabeko
akabeko

🖋 🤔
youchan
youchan

💻 📢
Yuku Kotani
Yuku Kotani

💻
Christoph Päper
Christoph Päper

💻
Ikko Eltociear Ashimine
Ikko Eltociear Ashimine

💻
Takai ayumu
Takai ayumu

💻 📢
daisuke-tanabe
daisuke-tanabe

💻
Hiroaki KAWAI
Hiroaki KAWAI

💻
Enoch Gao
Enoch Gao

💻

This project follows the all-contributors specification. Contributions of any kind welcome!

Bronze Sponsor

License

Licensed under AGPL Version 3.

Vivliostyle Core is implemented based on Peter Sorotokin's EPUB Adaptive Layout implementation, which is licensed under Apache License, Version 2.0.

Credits

Powered By Vercel

Testing Powered By SauceLabs

vivliostyle-ui's People

Contributors

johanneswilm avatar kubosho avatar kwkbtr avatar murakamishinyu avatar satorumurmur avatar spring-raining avatar uetchy avatar unageanu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vivliostyle-ui's Issues

Change the page size selection UI

  • Instead of radio buttons for chosing the size manually, which only work if there is no size preset in the document, and a checkbox to make them work if there is a size in the document. Having radio buttons that sometimes work and sometimes don't is confusing, and even if you're not confused, needing 4 clicks (open the menu, tick the check box, select a radio button, click apply) to change the page size isn't great. We should remove the checkbox, and instead add one more radio button, selected by default, called "Document default" or something like that.
  • there should be a URL parameter &page-size=auto &page-size=A4%20Landscape etc. When included, it overrides the document's @page rule, and when omitted, we use the document's @page rule
  • When switching the UI's radio button about which page size should be used, we should update the url to change the &page-size parameter.
  • The &speard=true argument should be syncrhonized with the UI checkbox as well.

Every page navigation adds an extra browser history

Since every page navigation adds an extra browser history, one needs to hit "back" button several times to get back to the previous page.
The extra histories should not be added.
It is probably better to use history.replaceState.

Broken layout in an output PDF

I used macOS Mojave version 10.14.6 (18G95).

The steps to reproduce this issue are:

  1. Open https://vivliostyle.github.io/vivliostyle.js/viewer/vivliostyle-viewer.html#b=https://vivliostyle.github.io/vivliostyle_doc/ja/vivliostyle-user-group-vol1/index.html&renderAllPages=true&userStyle=data:,/*%3Cviewer%3E*/%0A/*%3C/viewer%3E*/%0A@page%7Bmarks:crop%20cross;bleed:3mm%7D on Chrome (Version 78.0.3904.70 (Official Build) (64-bit))
  2. Try to output this as PDF (with background graphics on)
  3. The output PDF layout was broken: Screenshot from Gyazo

add support for user styles

Either full blown user style sheets, or at least the kind of controls offered by most ebook readers:

  • black-on-white vs white-on-black vs sepia
  • Serif vs Sans serif
  • font size (we already have this one in the top toolbar)

Document with URL containing '&' cannot be loaded

Since an '&' character in the URL is always treated as a separator for parameters to the Viewer, it is currently impossible to load a document with URL containing '&'.

Example:

vivliostyle-viewer.html#x=http://example.com/?foo=bar&baz

Though the user wants to load http://example.com/?foo=bar&baz, a request to http://example.com/?foo=bar is made by the Viewer, which is an incorrect URL.

We need to offer a way to escape the document URL containing '&' characters.

Add support for spread=auto

When the page size is fixed, spread=auto should be able to detect if there's room for 2 pages or not.

If the page size is auto, spread=auto should go in spread mode if the browser window is wider than it is tall, unless the documents's stylesheet has @page {size: landscape} (possibly with a size as well).

Should writing modes make a difference?

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.