Commit graph

78 commits

Author SHA1 Message Date
Ian Prest
712ef4dfcf Now managing third-party components with Bower
-- Added some getting-started instructions to the README.md
2015-07-20 23:31:09 -04:00
Ian Prest
21faa8154d Merged utils.js --> extensions.js 2015-07-20 20:03:23 -04:00
Ian Prest
f9e63ac0c5 Added SVG support for profile gradients
-- Holy hell... that was annoying.
2015-07-14 00:58:03 -04:00
Ian Prest
2bac6789b6 Rewrote SVG export as a doT.js template
-- Because more of the sizes are parameterized, SA/DSA-profile caps now
have the correct shape.
-- Also moved the SVG button to a more prominent location.
2015-07-13 23:33:41 -04:00
Ian Prest
3bc4025435 Better alignment of rotation crosshairs. 2015-07-12 20:12:54 -04:00
Ian Prest
4ac1a47739 Tweak position of keyboard name/author data.
-- Moved around during rendering refactor.
2015-07-12 19:23:45 -04:00
Ian Prest
824707f776 Major refactoring of the keycap rendering to HTML
-- Generating HTML with a doT.js template function; hopefully easier to
maintain.
-- More of the parameters refactored into the JS code, rather than
relying on being in the CSS; benefit => those parameters are available
when I do SVG rendering.
-- Also, now using Stylus to compile & minify CSS, and auto-inline small
images (Sublime project describes how to compile).
2015-07-12 19:16:57 -04:00
Ian Prest
ec21e1df5c Support rotated clusters in SVG
-- plus a bit of refactoring to rotated HTML to be more in line with SVG
2015-07-07 21:18:00 -04:00
Ian Prest
f94d8c9be6 Preliminary SVG work.
-- Refactored the rendering code so I could re-use as much of it as
possible.
-- Added a button to download SVG (currently on the raw-data tab).
-- Lots of limitations... no labels, no profile support, no rotated-key
support, etc.
2015-07-06 20:48:31 -04:00
Ian Prest
0b0f6bdbda Added a checkbox & rendering to turn on the HOMING nubs
-- It was already being serialized.
2015-07-05 20:00:52 -04:00
Ian Prest
24e8f87982 Rearrange some of the presets. 2015-07-05 17:34:16 -04:00
Ian Prest
f290d0517f Show kbd name & author on the actual layout.
-- Linked to the rendered metadata screen.
2015-07-05 17:10:14 -04:00
Ian Prest
7386b5eaf7 Prevent sorting in the "preset" dropdown.
-- Allows me to specify a sensible order, with most common presets at
the top.
2015-07-05 15:30:58 -04:00
Ian Prest
b7a8d28ed6 More directives to reduce boilerplate.
-- Most of the editor fields now converted; much smaller & more
readable/maintainable.
2015-07-05 15:04:40 -04:00
Ian Prest
f7d1655934 Directive for label editors, to reduce boilerplate
-- Eliminated ~100 lines of oft-repeated markup.
2015-07-05 13:04:32 -04:00
Ian Prest
198fddbe61 Directive for colorpickers, to reduce boilerplate
-- My first attempt at an Angular directive; trying to reduce the amount
of duplicated markup.
2015-07-05 12:26:41 -04:00
Ian Prest
a6b7053aec Fixed introduction of horizontal scrollbar 2015-07-05 10:47:15 -04:00
Ian Prest
10e7ff7669 Fixed formatting (and close button) for the alerts
-- latest bootstrap broke the formatting
-- switch to angular-bootstrap broke the close button
2015-07-05 10:39:31 -04:00
Ian Prest
29b95cc54d Shrunk textareas slightly to prevent scrolling w/large layouts. 2015-07-05 02:46:53 -04:00
Ian Prest
b8fb293a02 Added markdown rendering support for the 'notes'
-- Switched from plain bootstrap to angular-ui-bootstrap (to fix some
interaction problems); this necessitated a number of markup changes for
the modals and dropdowns.
-- Can now "cancel" the options dialog.
-- Sprinkled the markup with ng-cloak to prevent early rendering
problems.
-- Fixed some copy/paste issues with previous form changes (labels were
incorrect)
2015-07-05 02:42:47 -04:00
Ian Prest
3967c99df2 Added an additional 'keyboard name' metadata field. 2015-07-04 23:20:17 -04:00
Ian Prest
3b11c8b9f6 Added metadata fields for "author" and "notes". 2015-07-04 21:38:04 -04:00
Ian Prest
f19d939278 Comprehensive style sweep to fix Bootstrap issues.
-- Upgrading to the latest Bootstrap broke a bunch of stuff, so I had to
go in and fix it.
-- While I was at it, I switched all the form controls to make better
use of the Bootstrap classes, so they look and reflow a bit better now.
2015-07-04 21:16:01 -04:00
Ian Prest
2f1be45e95 Fix up some formatting problems with the new Bootstrap
-- Also significantly cleaned up the formatting in the help dialog
2015-07-04 16:17:01 -04:00
Ian Prest
5b063b9b5e Can now set different colors for each text label on a keycap.
-- New color picker (angular-bootstrap-colorpicker)
-- Color picker placed beside each label field.
-- Can also drag & drop from palette to label fields (using
angular-dragdrop).
2015-07-04 01:39:20 -04:00
Ian Prest
0b223c8228 Added simple "options" dialog.
1. Currently supports changing the default step/rotate size.
-- Inspired by something @D1SC0tech did in his fork (good idea!).
2. Now rounding values after modifications to avoid floating-point
errors.
3. Also fixed an error when trying to show the help dialog on FireFox.
2015-07-03 14:14:32 -04:00
Ian Prest
3f44b1f866 Added the ability to upload a JSON file.
-- "Upload" button on the raw-data tab
-- Drag & drop to either the raw-data editor, or to the main kb preview
area
2015-07-03 00:42:30 -04:00
Ian Prest
1bb8b02efd Added the ability to download the raw-data as JSON
-- Button on the "Raw Data" tab
-- Data is serialized to (pretty) JSON, then downloaded using
FileSaver.js
2015-07-02 23:20:15 -04:00
Ian Prest
91372ac3fa Add a link to the raw-data-syntax wiki page. 2015-07-02 22:38:36 -04:00
Ian Prest
21a98e8a42 Add links to CHANGELOG, CONTRIBUTORS, and LICENSE from website.
-- Load the Markdown files directly, parse them (with "marked") and put
the result in a model popup.
-- This way I don't need to maintain separate files for the website &
GitHub repo.
2015-07-02 21:35:01 -04:00
Ian Prest
1568e1c7f9 Make F1 show the help screen 2015-07-02 18:04:38 -04:00
Ian Prest
0ff72dda05 Update copyright date. 2015-06-29 19:03:54 -04:00
Ian Prest
833010c83d Updated FontAwesome reference. 2013-11-12 22:56:43 -05:00
Ian Prest
b9ff4c651b Started implementation of rotated-cluster support.
-- Each key has a rotation angle, and center of rotation; available in
the editor.
-- Displaying crosshairs in the editor for the center of rotation.
-- Keyboard shortcuts to move CoR, and change angle.
-- Keyboard height is correctly calculated.
TODO:
-- Serialization is still wonky.
-- Can't click on rotated keys to select them.
2013-11-12 22:56:41 -05:00
Ian Prest
d828291d96 Swept code to update FontAwesome references. 2013-11-11 00:21:41 -05:00
Ian Prest
cbc4b80d45 Moved serialization routines into their own .js file. 2013-11-09 23:08:08 -05:00
Ian Prest
0f162a2264 Moved key-rendering to its own .js file. 2013-11-09 22:38:08 -05:00
Ian Prest
291584e336 Moved the color functions to their own .js file. 2013-11-09 22:04:52 -05:00
Ian Prest
37583857bd Small change to make it less likely that the swap-colors button will overlap the color names. 2013-11-09 14:06:36 -05:00
Ian Prest
5dffa0b13d Added a button to swap the fg/bg colors of a keycap.
Also:
-- fixed colors of text to go through same lightening process as keycap
-- fixed styles for right-aligned side-printed text.
2013-11-09 13:27:40 -05:00
Ian Prest
4729175d7a Added an indication of which palette colors are being used.
-- The palette swatch will have a glyph to indicate it's the current
foreground/background color.
-- We print the color name beside the foreground/background color editor
fields.
2013-11-09 13:00:12 -05:00
Ian Prest
df1ee3f35f Added a link to the GitHub issues page.
-- Also fixed the "keyboard shortcuts" link at the bottom.
2013-11-08 23:57:04 -05:00
Ian Prest
27f11c11a1 Make creation of stepped keycaps more obvious.
1. Added some info to the tooltips.
2. When you check the 'stepped' checkbox, we will modify the
width/width2 values so that they are different (if they are not
already).
-- At the very least, this gives a visual indication that the checkbox
actually *did* something.
2013-11-08 23:33:39 -05:00
Ian Prest
868529bbf6 Prevent '?' from popping the help dialog on INPUT fields. 2013-10-20 00:08:21 -04:00
Ian Prest
d0835968c2 Split the "Load Preset" menu into two sections.
-- The first section is for true "presets"... standard layouts without
much customization.
-- The second section is for "samples"... these are layouts with more
extensive changes.
2013-10-19 01:27:34 -04:00
Ian Prest
5b6472a5d8 Added support for 'stepped' keycaps. 2013-10-19 01:05:52 -04:00
Ian Prest
db272d2ca4 Added tooltips for most of the editor fields. 2013-10-18 22:17:02 -04:00
Ian Prest
c3429b909c Support a "secondary" legend size on our caps.
-- Primary size applies to the first cap; secondary size applies to all
other caps
-- If primary is changed, we automatically change the secondary to keep
it in sync; this is *usually* what we want.
-- Some special serialization rules to ensure we don't write out more
data than needed; same rules apply there, if primary is changed,
secondary changes.
2013-10-17 23:57:34 -04:00
Ian Prest
491ccb3c97 Support a 3rd (middle) row of text on the keycaps.
-- Germans have it rough... their caps can include a top, middle, and
bottom legend.
2013-10-17 23:17:50 -04:00
Ian Prest
70b9bbd950 Fix selection rectangle when window is scrolled.
-- Previously used "fixed" position; this is fixed to the window, so
isn't affected by scrolling, which is why it didn't work.
-- Now using "absolute" position; this is relative to the parent
element, so it *is* affected by scrolling.
-- Also had to reparent the selection rectangle so that the coordinates
were correct.
2013-10-17 23:02:28 -04:00