This project was generated with Angular CLI version 11.0.4.
This baby webapp has dreams of being a fully-functioning knitting pattern generator based on methods outlined by Naomi Parkhurst. All the characters in a given word are converted to numbers in bases 2 through 10 (don't care to get into more letters for bases higher than that) and then mapped onto a grid to create a pattern (could be lace, aran, cables...). Ultimately, I would like it to go so far as to make the grid and allow you to tweak it until you like it, then add in knitting symbols.
Baby steps. :3
Current Release: 0.5
- upgrades Angular-CLI to 11.0.4
- upgraded all supporting dependencies to match either latest available, or that required by Angular
- installed newly-required dependencies for Angular
- uninstalled deprecated or obsolete dependencies, where applicable
- includes some UI 'enhancements' to make the nav-bar look a little prettier...but only a little. :3
- fixes the show/hide padding bug...weirdly, but fixed...
- adds grid and grid-sizing to the page to map the pattern
- user can select how many columns are shown for each base
- known issue: doesn't re-do the grids when ticking the checkbox for show/hide padding... :/
- Defaults the word to 'knitterz'...because reasons
- turned off the alert because it was annoying and there's no saved progress anyways.
- added a checkbox that allows user to choose whether to use 'same length' digits for each encoded character; ie. pad with zeroes
- Defaults the word to 'knitter' (mostly so I don't have to type something in every time while testing).
- Alerts when clicking "Let's Knit!" button, but no ability to save yet, so kind of a forward-looking feature.
- Encodes into binary and bases 3 - 10 using 1-26 as the numbers for each letter.
- Case insensitive.
- encode words into bases 2 - 10, show the numbers.
- add a checkbox to allow you to choose show/hide padding zeroes
- The Grid cue Daft Punk, but all out in one long line, representing the stitches
- pad the grid with blank stitches if they don't evenly divide into the area of the grid.
- provide 2D grid configurations of N stitches wide and as many tall as need be to accommodate all the stitches
(start with just an add/remove column clicky thing?) - upgrade to latest angular
- bug: first time you click "use leading zeroes" the grids don't respond. Have to click/unclick to make it work.
- add some css to make it prettier (ng-material?)
- validate extraneous input (only allow English alpha characters for now.
- store word encodings in local storage
- allow user to see words in their local storage
- highlight or count the zeros in each base's encodings
- allow clicking on a base's encoding, take to a grid page
- make the grid drag-able
- Verify that you are running at least node 10 and npm 6 by running
node -v
andnpm -v
in a terminal/console window. Older versions produce errors, but newer versions are fine. - https://angular.io/guide/quickstart
- recommended: Node Version Manager to manage node and npm versions quickly.
Install the angular cli: npm install -g @angular/[email protected]
Create the node modules: npm install
Run ng serve
for a dev server. Navigate to http://localhost:4200/
. The app will automatically reload if you change any of the source files.
Run ng generate component component-name
to generate a new component. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module
.
Run ng build
to build the project. The build artifacts will be stored in the dist/
directory. Use the --prod
flag for a production build.
- Need to have installed gh-pages:
npm install -g gh-pages
- Build it:
ng build --prod --base-href ""
- Deploy the dist folder that created to gh-pages:
gh-pages -d dist
- this step may require using SSH keys instead of HTTPS, as it doesn't prompt correctly for user/pass (and don't want to keep pass in plain text...)
Run ng test
to execute the unit tests via Karma.
Run ng e2e
to execute the end-to-end tests via Protractor.
To get more help on the Angular CLI use ng help
or go check out the Angular CLI README.