Giter Site home page Giter Site logo

enchiridion2's People

Contributors

andrewstanton94 avatar

Stargazers

 avatar

Watchers

 avatar  avatar

enchiridion2's Issues

Add dataType switching

  • Save the language and formats from suitable dataTypes as an element attribute
  • Insert elements to select options
    Event listener to:
    • Fetch new plugin
    • Generate element, pass info to it and replace existing.

How to expose the language to CSS selectors

Get the language from this.datatype and set the html attribute to something that can be styled.

Allows quote elements to have the right quotation characters and colour coding for the polyglots.

Reorder dataItems

Need to be able to change the order of data items.

Approaches

  • DnD using #7 drop events can be used to update order and trigger upload.
  • Up / down buttons. Not as fast as DnD but may work better on touch screens.
    Doesn't have dependency on another issue.

Inserting transclusions

Need to be able to transclude an existing dataType into the document.

Approaches:

  • DnD Dragging from search results. Dependant on #7
  • Append button on search results. Select fragment from modal, could choose position.
  • Triggered from the fragment. Insert search element.
    Has location and fragment, keeps it separate from any existing search in the sidebar.
    • Button: Inserted to be replaced with the search interface.
    • Keyboard shortcut: Insert after current dataItem.

Add roles to creators

The type of contribution should be noted in the dataType.
Can be denoted by text, icon and/or colour code.

A creator could be

  • Author
  • Editor
  • Recorder
  • Translator

Additional data could be included. Translators and recorders can reference their source material.

Also consider other forms of contibutions (beyond content creation) in the spirit of all-contributors
E.g. source of inspiration, owner of location / equipment used.

Keyboard shortcuts

What is needed?

Handling enter

  • Enter adds new tags that are removed on upload
  • Modifier to support inserting transclusions #9

Update with diffs

Currently sending changes to the server by dumping the entire dataType.
This is a waste of data.

Sending a diff will

  • Be more compact on the wire.
  • Allow more elegant response to concurrent editing.
  • Be savable as deltas. Providing info for version control.

Drag and drop support

This would be an intuitive way to reorder elements and insert transclusions from the search bar.

Looked at dragula Would be lovely but it is baffled by custom elements.

Selecting elements by class breaks it entirely. With #content and #transclusion hard coded it works on top level items.

Mobile Chrome doesn't return fragment

Chrome 59.0.3071.125 on Samsung Galaxy S7

fragment.js::get: catches with error 'Failed to fetch'
Additional logging in fragments.js::GET was not invoked. No indication of reaching server.

Todo:

  1. Research fetch support on mobile
    Is mobile lagging behind desktop?
    fetch shims needed?

  2. Research remote debugging
    How to enable / use?

Add dataType creation to #5

Using the element from #5 and the fragmentGenerator element to add a new dataType to an existing fragment.

  • Add New button to the dataType selector
  • Replace content with the fragmentGenerator element
  • Add logic to
    • Generate a new dataType
    • $push it to the fragment
    • Fetch and render the element with required attributes
    • Replace generator with new element

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.