All notable changes to Divisor will be documented in this file.
NOTE: The format is based on Keep a Changelog, and this project adheres to Semantic Versioning. Major and Minor updates will get entries, patches may not get mentions.
- Form validation: null and space ignored and leading decimal, comma, or non-numeric values are ignored.
- Rounding error in 3rd column
- Google Analytics
- Trivial margin/padding updates to make more compact on mobile.
- Mobile keyboard actually allows decimal.
- Enabled divisor selection, default value is
$\frac{1}{16}$ . When divisor is changed, input fields are cleared.
- Input validation: limited to 4 decimal places, numbers, and decimal symbol. comma is replaced with decimal.
- Mobile keyboard for input form.
- Trivial bootstrap asthetic improvements.
- Fraction reduction algorithm: Using greatest common divisor to simplify fractions.
- Input "1." no longer parsed as "0", had to switch from
<input type="numeric">
to<input type="text">
- Bootstrap input-group-append classes made equal width
- 3 digit precision applied to unit conversions (input side of application)
- For a a fixed divisor,
8
, the tool dynamically rounds up each input field to the nearest$\frac{1}{8}$ of an inch.- Fractions are reduced if denominator divides evenly into denominator, i.e. no remainder.
- If rounding to nearest divisor yields a fraction of
$\frac{1}{1}$ , the whole number is incremented by 1 and fraction removed from display.
- Thanks to https://github.com/facebook/create-react-app/, I was able to focus solely on the react application. This changed the tech stack to pure
Javascript
(ES6
), withBootstrap
+Fontawesome
on the front-endnpm start
callsreact-scripts start
, which leverages the npm packagewebpack-dev-server
. I had a hunch in e194a79 that my initial back-end choice was in conflict with the webpack framework.
- Back to github for hosting, thanks to the package
gh-pages
: https://brio50.github.io/divisor/
- Selectable input for divisor values (not wired connected yet)
- Dynamic input fields and working unit conversions between
mm
,in
, andft
; Task #1 of issue #3 completed.
- Tech stack working locally to serve static "Hello, World!" and dynamic React component.
- Front-End:
Jinja2
+Bootstrap
+Fontawesome
- Back-End:
Python3
,Flask
/Gunicorn
,React
,Webpack
,Babel
- Front-End:
- See Issue #2 for deployment notes for
https://divisor.onrender.com/