mirror of
https://github.com/flynx/PortableMag.git
synced 2025-10-28 10:40:07 +00:00
437 lines
15 KiB
Plaintext
Executable File
437 lines
15 KiB
Plaintext
Executable File
[_] 39% Priority work
|
|
[_] 77% general todo
|
|
[_] 0% Priority work for 10.03.13
|
|
[_] change image
|
|
[_] add page via template
|
|
[_] load/save state (migrate)
|
|
[_] load/save from JSON (migrate)
|
|
[_] basic instructions/docs...
|
|
[_] page settings in full view editor
|
|
| could even be fixed...
|
|
[_] 37% Version 1.0 checklist (migration to layout.html)
|
|
[X] page scaling for full page view
|
|
[X] top/bottom toolbars
|
|
[X] splash screen w. logo
|
|
[_] logo on splash screen
|
|
[_] 33% bells 'n' whistles
|
|
[_] navigator
|
|
[_] bookmarks
|
|
[X] article navigation
|
|
[_] URL navigation
|
|
[_] layers (URL-activated)
|
|
[_] 0% overlay pages
|
|
[_] credits & copyright
|
|
[_] basic user config
|
|
[_] help and instructions
|
|
[_] Editor: select template...
|
|
[_] issue selection & related navigation
|
|
| essentially a special magazine that will load other magazines
|
|
| instead of going into a full page view...
|
|
[_] 20% #URL rework...
|
|
[X] make #URLs a configurable framework...
|
|
| rather than being hard-coded as they are now...
|
|
[_] make #URLs magazine-specific...
|
|
[_] BUG: when #URL updates are off layer toggling breaks...
|
|
| will show but not hide layers...
|
|
[_] BUG: href to existing anchors will mess up layout...
|
|
| need to find out how can we disable anchor links from actually
|
|
| going to the anchor...
|
|
[_] BUG: browser history on internal links is broken...
|
|
| ...with both UPDATE_HASH_URL_POSITION and FULL_HISTORY_ENABLED false.
|
|
[_] BUG: after moving pages around in the editor captions do not appear...
|
|
| ...until the editor is cycled on and off.
|
|
[_] BUG: loading a magazine with position set to 0 will align it incorrectly.
|
|
| needs testing with the rewritten fitNPages()...
|
|
[_] Editor: might be a good idea to prevent deleting the last page...
|
|
| this can be done in two ways:
|
|
| - deleting the last page actually replaces it with a blank
|
|
| - deleting the last page will also delete the empty article/magazine
|
|
[_] Editor: page marking and grouping...
|
|
| also edit the group properties...
|
|
| another idea is "group with next/prev" button, just like shift left/right
|
|
[_] editor mode service page
|
|
| a virtual page at the end/start of the magazine with magazine-specific
|
|
| settings.
|
|
| similar to the current configuration demo page.
|
|
[_] 60% move some of the current configuration options to the magazine...
|
|
[X] page align
|
|
| global, magazine, article, page-set, page
|
|
[X] resize settings (.no-resize class)
|
|
| global, magazine, article, page-set, page
|
|
[_] default page/content size
|
|
| global, magazine, article
|
|
[X] fit page to view
|
|
| global, magazine, article
|
|
[_] drag full page
|
|
| global, magazine
|
|
[_] add default empty state to viewer, magazine and article...
|
|
| use it to trigger a "New Magazine", "New Cover"/"New Article" and
|
|
| "New Cover"/"New Page" actions...
|
|
[_] Editor: make empty magazine and article visible in the editor...
|
|
[_] 57% add the following icons to buttons.svg
|
|
[X] magazine create
|
|
[_] magazine remove
|
|
[X] article create
|
|
[_] article remove
|
|
[X] article shift left
|
|
[X] article shift right
|
|
[X] page create
|
|
[_] page remove
|
|
[X] page shift left
|
|
[X] page shift right
|
|
[_] save
|
|
[X] bookmark
|
|
[X] < left
|
|
[X] > right
|
|
[_] (<) left
|
|
[_] (>) right
|
|
[X] (i) info
|
|
[_] (+) new
|
|
[_] (x) remove
|
|
[_] 66% populate an example issue
|
|
[_] template 3x3 grid
|
|
[X] template photo page
|
|
[X] template two column text
|
|
[_] make layer default state configurable...
|
|
| e.g. setting "shown"/"hidden" classes in HTML and adding
|
|
| something like a page reset that will restore the default state,
|
|
| rather than the current "hideLayers"
|
|
[_] JSON: add metadata section that can be downloaded separately...
|
|
[_] JSON: add page URLs as an alternative to direct content...
|
|
| use AJAX to get remote pages and their nested content
|
|
[_] 75% JSON: add the following fields to metadata section:
|
|
[_] issue URL
|
|
[X] authors
|
|
[X] title
|
|
[X] name
|
|
[_] BUG: 3 fingers+ do not work on android...
|
|
[_] 70% build a custom scroll lib...
|
|
[X] 100% features:
|
|
[X] drag/scroll
|
|
[X] inertial
|
|
[X] snap
|
|
| if enabled, on release, detect nearest snap-point and scroll to it.
|
|
[X] 100% tragets
|
|
[X] smooth scroll on devices (iscroll)
|
|
| adaptive transitions, etc.
|
|
[X] snap scroll to markers (a-la iscroll)
|
|
[X] snap align
|
|
[X] left (iscroll)
|
|
[X] center
|
|
[X] right
|
|
[X] flexible event system
|
|
[X] pre/post events
|
|
[X] ability to cancel current action
|
|
| like stop scrolling at a given point.
|
|
[X] both x and y axis support (x is a priority)
|
|
[X] scroll phases
|
|
[X] user scroll phase
|
|
| from mousedown/touchstart and to mouseup/touchend
|
|
[X] auto scroll phase
|
|
| from mouseup/touchend and untill scrollend
|
|
|
|
|
| must account for speed...
|
|
[X] momentum
|
|
[X] snap
|
|
[_] 0% actions
|
|
[_] 0% .scrollTo(target)
|
|
| must accept:
|
|
[_] element
|
|
[_] px
|
|
[_] name
|
|
[_] 50% events
|
|
basic anatomy
|
|
|
|
|
| user scroll +-------------------+
|
|
| +-------------------------+ auto scroll
|
|
|
|
|
| touchstart touchend
|
|
| | |
|
|
| scrollstart userscrollend scrollend
|
|
| userscrollstart | |
|
|
| | | |
|
|
| v v v
|
|
| o----+--+-+-+--+-+---+-+--o----+--+-+-+---+---+
|
|
| ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
|
|
| +-----------------+ +----------+
|
|
| scroll scroll
|
|
|
|
|
[X] 100% scroll
|
|
[X] scrollstart / userscrollstart
|
|
| on mousedown/touchstart
|
|
[X] scroll
|
|
| mousemove/touchmove
|
|
|
|
|
| also triggered by lib on auto-scroll...
|
|
[X] userscrollend
|
|
| on mouseup/touchend
|
|
[X] scrollend
|
|
[_] 0% snap
|
|
[_] snapped
|
|
[_] 0% EXPERIMENT: Try using scroll instead of left of .magazine....
|
|
[_] try and get rid of .scroller
|
|
[_] try using the scroll event to see of we reached the limit...
|
|
| and move the limit accordingly
|
|
[_] BUG: scrool seems to do odd things on refresh...
|
|
[X] BUG: new pages do not get focus/blur event handlers...
|
|
| ...avoid ALL local handlers within the .magazine structure
|
|
[X] BUG: tab navigation will scroll the view...
|
|
| need to either prevent tab nav or control it so as not to get off page...
|
|
|
|
|
| now tabs switch pages.
|
|
[X] Editor: add toggleEditiorMode to all editables in all versions...
|
|
| text areas, inputs, ...
|
|
[X] add global credits and copyright page...
|
|
| list and link all the used software and authors...
|
|
[X] Editor: add basic control toolbars...
|
|
[X] 100% Editor version 1.0 checklist
|
|
[X] editor toolbar
|
|
| this can take two forms:
|
|
| - global
|
|
| - relative to page
|
|
| - mixed (preferred)
|
|
[X] save/load JSON
|
|
[X] BUG: full-page-view-mode class does not apply to some elements...
|
|
| - toolbars
|
|
| - bookmarks
|
|
[X] JSON load/save
|
|
[X] BUG: navigator indicator does not scroll
|
|
[X] check if scrollTo knows about element scaling...
|
|
| if not update the code....
|
|
[X] Editor: make the editor switchable...
|
|
| if it is imported it should be able to switch on and off on demand...
|
|
[X] BUG: togglePageView results in jumpy animation if USE_REAL_PAGE_SIZES is set
|
|
| this does not happen if USE_REAL_PAGE_SIZES is set and FIT_PAGE_TO_VIEW
|
|
| is unset...
|
|
|
|
|
| the most likely cause is that there is some time passing between some
|
|
| edits to element parameters. these writes must be done in an as compact
|
|
| a burst as possible,
|
|
|
|
|
| see fitNPages(...) for resolution...
|
|
[X] 100% add two main page themes (global/local applicable):
|
|
[X] light
|
|
[X] dark
|
|
[X] add transition-duration editors to config page (a-la PAGES_IN_RIBBON)...
|
|
| will help tuning the system,,,
|
|
[X] BUG: jquery does not set background to none on detached elements...
|
|
| use transparent instead!!
|
|
[X] 100% add page sets..
|
|
[X] general page navigation
|
|
[X] serialization
|
|
[X] PROBLEM: cover is not found within the page-set
|
|
[X] PROBLEM: next/prev article navigation is broken
|
|
[X] add option to align page to right or left screen border
|
|
| now only centering is possible...
|
|
[X] make #URL updates optional...
|
|
[X] add click current page to full page view...
|
|
[X] 100% templates
|
|
[X] page number
|
|
[X] current page
|
|
| this is not really a template...
|
|
|
|
|
| XXX should this be a real template...
|
|
[X] magazine title
|
|
[X] Editor: decide weather to make the editor toolbar oriented or floating bars around context...
|
|
[X] add in-page live templates...
|
|
| elements that will get generated content, like page numbers etc.
|
|
[X] JSON: store format version in the JSON file...
|
|
[X] MINOR BUG: on loading a mag from JSON page widths get messed up...
|
|
| ...in cases where content elements have explicit widths pages do
|
|
| not get stretched, this can be fixed by simply updating the view
|
|
[X] magazine loader and data format...
|
|
| this is simple, just use a restyled magazine viewer...
|
|
[X] localize magazine event handler setup to setupMagazineEvents function...
|
|
[X] JSON builder loader...
|
|
[X] do a better structure diagram...
|
|
[X] BUG: initial load on android does not center on the correct page...
|
|
| for some odd reason only one of the first and second pages are opened
|
|
| correctly, any other page results in showing the second page and any
|
|
| click focuses the correct page...
|
|
|
|
|
| CAUSE:
|
|
| the cause for this turned out to be the fact that the page is loaded
|
|
| allot faster than it is full alligned and rendered on android, so
|
|
| a fix for this is to set the page some 300ms later...
|
|
|
|
|
| XXX find a better solution!
|
|
[X] make corners clickable for bookmarking...
|
|
[X] bookmark active zone in upper-right corner of page...
|
|
[X] SVG icons and logo...
|
|
[X] add page numbers...
|
|
[X] 100% bookmarks
|
|
[X] add next/prev bookmark actions
|
|
[X] #bookmark anchor
|
|
[X] bookmark indicators in navigator
|
|
[X] bookmark indicators in thumbnails
|
|
[X] bookmark persistence
|
|
[X] set bookmark from keyboard...
|
|
[X] set bookmark touch control
|
|
[X] vanquish opacity effects
|
|
| they slow everything down considerably!
|
|
[X] add keyboard navigation...
|
|
[X] navigator -- indicate position in thumbnail mode...
|
|
[X] test for stability
|
|
[X] cleanup code
|
|
[X] add history #URLs..
|
|
[X] BUG: something odd going on with window.onResize event...
|
|
| on android it sometimes fires and sometimes does not -- rotating
|
|
| the screen does not always scale things correctly...
|
|
[X] examples for links and anchors...
|
|
[X] BUG: unstable page fitting.
|
|
| also broken for portrait layouts...
|
|
[X] try a slightly different layout...
|
|
|
|
|
| +-page--------------+
|
|
| |+-content---+ |
|
|
| || | |
|
|
| || |<---->|
|
|
| || | |
|
|
| |+-----------+ |
|
|
| +-------------------+
|
|
|
|
|
|
|
|
| Thumbnail view
|
|
| +------------+------+
|
|
| +------------+\ - - + \ \
|
|
| \ \\ \ \ \
|
|
| \ \\ \ \ \
|
|
| \ \+------------+------+
|
|
| +------------+------+
|
|
| ^
|
|
| +--- margin-right: -X
|
|
|
|
|
| Full page view
|
|
|
|
|
| +-screen------------+ +----
|
|
| \ +------------+---\--+\
|
|
| --\-+\ \ \ \\
|
|
| \ \\ \ \ \\
|
|
| +-------------------+ \+----
|
|
| \+------------+------+
|
|
| ----+
|
|
|
|
|
| NOTE: this is not a good idea if not all the pages have the
|
|
| same BG...
|
|
|
|
|
|
|
|
| Here is another approach:
|
|
|
|
|
| Thumbnail view
|
|
| +-page--------------+
|
|
| |+-content---+ |
|
|
| || | |
|
|
| || | |
|
|
| |+-----------+ |
|
|
| +-------------------+
|
|
|
|
|
| Full page view
|
|
| +-page--------------+
|
|
| | +-content---+ |
|
|
| | | | |
|
|
| | | | |
|
|
| | +-----------+ |
|
|
| +-------------------+
|
|
|
|
|
|
|
|
[X] add two finger swipes to navigate between articles...
|
|
[X] add pinch events...
|
|
[X] #URL "layers"
|
|
| navigation to a hidden layer will show the layer, any other
|
|
| navigation will hide it...
|
|
[X] something made phonegap version unhappy...
|
|
| likely the URL logic...
|
|
|
|
|
| try and make it optional...
|
|
[X] add page urls
|
|
[X] add state saving to local storage
|
|
[X] use modes (CSS) for thumbnail/page views...
|
|
[X] 100% stage 1 - basic features
|
|
[X] global navigation bar
|
|
[X] real magazine structure
|
|
[X] 100% basic article navigation
|
|
[X] next page
|
|
[X] prev page
|
|
[X] show previews
|
|
[X] go home
|
|
[X] go to prev article
|
|
[X] go to next article
|
|
[X] real previews
|
|
| use zoom to show a ribbon...
|
|
[_] 25% stage 2 - templates and examples
|
|
[_] 0% default cover templates
|
|
[_] 0% default page templates
|
|
| a template is a class and predefined content...
|
|
[_] template examples
|
|
| this should include CSS docs
|
|
[_] cover
|
|
[_] simgle image with caption
|
|
[_] Elements
|
|
[_] image fit to screen
|
|
[_] caption overlay
|
|
[_] grid of blocks
|
|
| might be good to use a table here...
|
|
[_] Elements
|
|
[_] list of blocks
|
|
[_] number of columns
|
|
[_] block types
|
|
[_] text
|
|
[_] viewable image
|
|
| on click show big version in overlay
|
|
[_] page
|
|
| a scaled version of a page...
|
|
[_] text with title
|
|
[_] text with image
|
|
[_] plain
|
|
[X] 100% default actions
|
|
[X] show/hide layer
|
|
[_] 33% stage 3 - editor and templating
|
|
[_] 0% template engine
|
|
[_] 66% edition editor / publisher
|
|
[X] create/delete magazine
|
|
[X] cover
|
|
[_] 33% article
|
|
[X] add
|
|
[_] delete
|
|
[_] move
|
|
[X] 100% page
|
|
[X] add
|
|
| from template
|
|
[X] delete
|
|
[X] move
|
|
[_] 0% fill template field
|
|
[_] image
|
|
[_] text
|
|
[_] 0% stage 4 - issue browser
|
|
[_] issue browser structure
|
|
[_] 0% issue navigation
|
|
[_] issue list
|
|
[_] 0% issue download
|
|
[_] whole edition dowload and update (primary mode)
|
|
[_] seporate issue download (secondary)
|
|
[_] 0% TouchSwipe issues...
|
|
[_] BUG: swipe-back does not cancel a swipe... (TouchSwipe)
|
|
| ...unless the finger is return to within the threshold of the
|
|
| touchdown point.
|
|
[_] BUG: no drag threshold on excludedElements (TouchSwipe)
|
|
| stalled...
|
|
|
|
[_] 0% Low priority todo
|
|
[_] look into HPub ebook spec...
|
|
| https://github.com/Simbul/baker/wiki/hpub-specification
|
|
| https://github.com/Simbul/baker
|
|
| http://bakerframework.com/
|
|
[_] vertically scrollable pages....
|
|
[_] pages that are wider than the screen (aligned to ribbon)...
|
|
[_] make pages of different formats work...
|
|
[_] find a passive CSS-only way to size pages in different modes...
|
|
[_] time transitions
|
|
| the goal is for slow devices to seem not to have animations at
|
|
| all and faster ones to seem to have fast animations...
|
|
|
|
|
|
|
|
|
|
.
|
|
| vim:set spell :
|