choo-website
Todo
- Active links in navigation
- Homepage interactive code editor
:metro: - Hyper Train Transfer Protocol (HTTP)
Home Page: https://choo.io
License: MIT License
https://github.com/choojs/choo/blob/master/html/raw.js - to escape strings; currently undocumented
https://opencollective.com/choo - and highlight folks sponsoring :D
Since choo now has a UMD build, I uploaded the demo from the site to codepen here, and this is how it looks like embeded on choo site
I could send a PR if you want 👍
Ok, I am confused. The letter spacing thing is definitely rendering differently between local dev and production (https://choo.io).
Computed properties seem to be identical but one does not look like the other.
Not sure if there are still time constraints but I'd love to see how choo handles this. https://choo.io/docs/forms
Emphasize we can do streaming server rendering
🚂
We should add a note on why root node types have to be similar for morphing purposes.
Right now we’re setting the font size with vw
. Let’s instead set a percentage and listen to window.innerWidth
on resize to adjust the value, preserving zooming with ctr +/-
.
In addition, we should define a maximum breakpoint size so type never becomes too large.
I've been reading over the docs for Choo and decided to work through the State Machine article—after watching davidkpiano's talk on the subject I wanted to get a better feel for how it works.
In the code example the constructor's method is named next
, but then further down is called as transition()
.
export class StateMachine {
constructor (initialState, transitions) {
this.state = initialState
this.transitions = transitions
}
next (transition) {
var nextState = this.transitions[this.state][transition]
if (!nextState) throw new Error(`invalid: ${this.state} -> ${transition}`)
this.state = nextState
}
}
machine.transition('timer')
After getting the names to match, I also had to remove export
and turn the timer
values into strings to get the example to work (with Node.js).
I'm not sure what's changed, but the site doesn't seem to be loading the same font as it used to.
There also isn't any favicon or title.
Looks like beacon code merged in #10 fails on chrome:
Uncaught DOMException: Failed to execute 'sendBeacon' on 'Navigator': sendBeacon() with a Blob whose type is not any of the CORS-safelisted values for the Content-Type request header is disabled temporarily. See http://crbug.com/490015 for details.
at nanobeacon (https://choo.io/bundle.js:85:178)
at https://choo.io/bundle.js:3:1916
Are we still using surge for publishing the site, or is deploy automated via something else (netlify)?
If the latter, we should remove this old publish
script:
"publish": "git push && npm run build && surge -p ./dist -d choo.io"
https://github.com/choojs/website/blob/master/package.json#L11
because HTTPS support and automated builds (:
As per #38, make a heading called Applying state machines to user interfaces
I’m using the “old” way of registering onload / onunload event handlers to initialize a component store (through emit(‘store:event’)
).
This is not directly supported by Choo anymore, but is certainly possible by using some other libraries or native functions.
For example, I have a parameterized route, and based on the parameter I need to fetch some data to show. Likewise, when the user navigates somewhere else, I want to clear the store state to avoid showing “old” information or flickering when the user navigates to the same route again later.
I’d love to see docs describing the recommended way of doing this.
The "VHS flicker" on page load hurts my eyes, and is possibly a danger for folks with epilepsy. A safer alternative could be simply fading the text in rather than flickering. Or skipping it altogether.
when you visit the site in its current state, in the title section there are a lot of rapidly color-changing elements, particularly flashing between a dark color and a light color. i could see this as potentially seizure-inducing, which we would definitely want to avoid
The page on routing incorrectly says that calling emit('popState')
will make the browser go back in history. As explained in this PR choojs/choo#621, you should use history.go(-1)
instead (since emitting popState does nothing).
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.