Echo JS 0.11.0

<~>

tracker1 comments

tracker1 1590 days ago. link 1 point
FYI: Will usually remove content/articles tethered to a paid service (see about link at the bottom of the site)

Leaving this as it does provide some value beyond the link to the commercial Netlify site.  I also know a lot of people do get a lot of utility from the free level.

Some suggestions for followup for those that want to brew their own solution would be to look at github/gitlab automation options, and take a look at Dokku, which is really great for targeted deployments at small scale.  A $10/month account from DigitalOcean or Linode, or any VPS will pretty much do the job for mostly static or small scale sites/apps. Dokku also has a pretty transparent plugin for use with Let's Encrypt (make sure to enable the cron event, and set your email environment variable)
tracker1 1590 days ago. link 2 points
I'm just really not a fan of Tailwind and growing less a fan of Bootstrap.  Tailwind in particular uses classes like "text-white" etc, instead of purpose driven classes.

Even then, I'm more of a fan of JSS at this point as it allows for component driven styles that share a common theme.  This means that you can define your color pallets by use/purpose over the name of the color.  It also allows for the exclusion of styles that are no longer used, because a component was dropped or changed.

I always find stale CSS rules when auditing sites... why, because everything, the kitchen sink, the kitchen and the entire condo and the neighboring park tends to get added over time.  I know the purpose of CSS was to separate styling rules from the content for flexibility, and always loved the CSS Zen site for great ideas.  But the fact is that the CSS and the content are tethered together, and even more so in applications.

The way these frameworks work is that there is usually a lot of cruft that builds over time.
tracker1 1598 days ago. link 1 point
From the source, seems to assume that each read chunk is suitable for markdown transformation separately, and that the final chunk in a stream will never happen.
tracker1 1598 days ago. link 1 point
You're creating a `new Function(...)`, this and `eval` are blocked by static analysis tooling, ad network linting applications, and other code linting tools such as eslint[1].

    const compile = (template) => {
      return new Function("data", "return " + compileToString(template))
    }

[1] https://eslint.org/docs/rules/no-new-func
tracker1 1598 days ago. link 1 point
The use of eval and dynamic function creation are blocked by quite a few linters by default.  This will be doubly so in most ad networks, if you happen to be targeting that context.
tracker1 1600 days ago. link 1 point
It's an interesting ui-library, it does remind me a bit of Bootstrap, though fewer components and less polished.  From the documentation site, the colors/contrast are stark to say the least.  Not my taste, but some may like it.  Should also consider a few more fallback fonts, especially if you intend to support emoji character rendering in your site/application.
tracker1 1601 days ago. link 1 point
Okay, now add in some external data fetching (API calls) and control flow, and unit tests...

With Redux patterns, I can test my entire application state logic in reducers/action-creators and ensure that all the control flow logic is appropriate without spinning up components in unit tests.

Beyond that, this logic flow can be (re)used with react native swapping out only the UI patterns with React Native.
tracker1 1602 days ago. link 1 point
Should probably mention the node global error handler as well as the unhandled promise exception handler.  Would also suggest showing registering for the error event in the browser in addition to error property/function assignment.
tracker1 1602 days ago. link 1 point
The jss library bridges the gap very well.  It creates a stylesheet that is used at runtime, but will still be CSS based rendering in the browser while still performing very well on load.  It's the underlying library used by @material-ui/core
[more]