Code Monkey home page Code Monkey logo

pressbooks's Introduction

Packagist Current Release Packagist PHP from Packagist

Build Status Code Coverage Translate Pressbooks

Packagist Open Collective Open Collective

Pressbooks is a book content management system which produces multiple formats: ebooks, webbooks, print-ready PDF, and various XML flavours. Pressbooks is built on top of WordPress Multisite, and makes significant changes to:

  • admin interface (customized for books and other structured documents, such as magazines, journals, reports, etc.);
  • web presentation layer (again, customized for books and structured documents); and
  • export routines.

Pressbooks is free software, released under the GPL v3.0 or later license.

Our web/ebook and PDF exports are all driven by HTML + CSS. XML outputs have no styling.

Important!

  • Do NOT use Pressbooks with an existing WordPress site.
  • Please use with a FRESH install of WP MULTISITE.
  • If this makes you nervous, please use our free site: Pressbooks, or contact us.

Try pressbooks.com

While Pressbooks is open source, we recommend you try Pressbooks.com before deciding whether or not you wish to host and maintain your own instance. We can also host and maintain an instance for you.

Installing the Plugin

Pressbooks is not for use on an existing blog. Instead it should be used with a fresh, multisite WordPress install.

To install Pressbooks on your site, download the latest release. If you need to install Pressbooks for development, please see the "Contributing" guide.

Requirements

Pressbooks works with PHP 7.1 and WordPress 5.0.0. Lower versions are not supported.

Disclaimers

The Pressbooks plugin is supplied "as is" and all use is at your own risk.

More Details

Visit our documentation website for installation instructions etc.

pressbooks's People

Contributors

dac514 avatar hughmcguire avatar dependabot[bot] avatar bdolor avatar jgraham909 avatar crism avatar unit29868 avatar stepmuel avatar greatislander avatar drlippman avatar monkecheese avatar bakingsoda avatar jeremyfelt avatar colomet avatar chrillep avatar changemachine avatar lukaiser avatar jflowers45 avatar bracken avatar karolkallas avatar liladude avatar kdv24 avatar michaelgiesler avatar nathanielks avatar nciske avatar alex-418 avatar hakkim-pits avatar indiamos avatar juliencxx avatar masaka222 avatar

Watchers

James Cloos avatar  avatar  avatar Josie Gray avatar

pressbooks's Issues

footnotes disappear when attributions are enabled

This bug was introduced on the weekend.

To reproduce, enable attributions and watch footnotes disappear. Commenting out the static function setBookMedia makes them re-appear so I would start looking in that direction first. Likely a call to get_posts is not ideal.

jenkins build

Description

create the jenkins build and deploy, connect with github hook

the ability to add multiple authors

Description

In the media library interface, when adding author information, would like the ability to add multiple authors

Expected behavior:
similar to how authors are added in Book Info, would like to add multiple authors.

Actual behavior:
text field accepts one author.

Global options on/off

Add the ability to turn on/off glossary functionality. This includes not display the tool-tip on the web view, and not display the glossary on any export format.

Add video and audio to extractIdFromMedia()

Only looking for images right now, also look for video and audio.

also, this function is generic enough to be a candidate for moving out of our class and be useful to other functions. look to incorporate into inc/media/namespace.php

Glossary Tooltip

Choose a way to display the tooltip (jQuery?), and update the short-code functionality to render the tooltip in the web display.

PDF: Display of attributions

Displayed at the end of the chapter, each attribution doesn't have to be on the same page as the image. With the title "Attributions" in a "textbox". The goal is to adhere to accessibility standards.

make `shortcodeHandler` function work

though it will not be relied on for use, providing some basic functionality is important.

The use case it would satisfy, is should a user not want to have a list of attributions at the end of the chapter and instead want to (and be willing to) add the id of the media item to the shortcode [media_attribution id=33] then that attribution statement (and that attribution statement only) would be generated underneath the media item. It would not need a relationship to the global theme options setting (me thinks), instead it would be similar to being able to 'override' that (like comments) if they were willing to put that shortcode in.

Web: Display of attributions

Bottom of the page, in an UL with the title "Attributions" with markup similar to what's found in a "textbox". The goal is to adhere to accessibility standards. Attributions will order themselves in the order they appear on the page.

Minimal Language:
Figure 1 "Image name" by "Author." Adapted by "Author." CC BY 4.0.

Additional fields

so, we want to look at adding:

  • figure number field (maybe INT, maybe TEXT)
  • author url (URL)

and derivative language

  • adapted by field (TEXT)
  • adapted by (URL)

a further requirement to adding these fields are that the must be registered meta and their input must be validated/sanitized.

Add "Adapted by:" as a custom field in the media manager

Add another field in the media manager that allows people to demonstrate that the image is an adaptation.
These fields would go after the author fields and before the licence drow-down menu.

  1. Adapted by: TEXT
  2. Adapted by: URL

ensure import routines include glossary

With the introduction of a new post type we need to ensure the import routines are capable of bringing over the data.

How do we ensure that a shortcode in the content area in the old book that was referencing a glossary term with id='99 is still referencing a glossary term that exists in the new book?

Logic of attribution fields

Figure:
If figure field is empty, no link and no content in the caption area.

If not empty, put figure label in the caption area and link it to the attribution statement at the bottom.

Figure label at the bottom should link back to the image. (not to be confused with the html figure tag)

Edge cases?
Sentence logic?

alphabetize functions

new coding standards will look to an alphabetized list of functions inside a class.

phpunit tests

functions require passing tests or PR will not be accepted. Where it makes sense, we need to provide unit tests for the functions we are introducing.

Add Glossary shortcode + editor buttons

Follow the existing footnotes shortcode as an example to create a Glossary shortcode with 2 visual editor buttons:

Button 1:
The functionality of the Glossary shortcode will be to reference a Glossary ID, and render it in.

Button 2:
If no param list alphabetically all glossary terms that are published. Bold with a colon, followed by the definition.

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.