Readex Pro is the world-script expansion of Lexend. Lexend is a variable font empirically shown to significantly improve reading-proficiency.
Go to file
2020-02-04 15:25:19 -05:00
components fix naming + nth-child warning 2020-02-04 15:25:19 -05:00
data 🎶 initializing with everything done 2019-06-11 22:47:15 -04:00
lib copy changes with bonnie 2019-09-05 12:23:20 -04:00
pages fix naming + nth-child warning 2020-02-04 15:25:19 -05:00
static change url to https 2019-09-12 15:38:28 -04:00
.eslintignore new copy, new logo anim 2019-08-28 23:46:59 -04:00
.gitignore gitignore first 2019-06-11 22:34:27 -04:00
CNAME CNAME FILE 2019-09-12 14:59:41 -04:00
next.config.js rm assetprefix for dotcom 2019-09-12 14:37:13 -04:00
now.json animation broken thanks to GH pages 2019-08-29 19:26:22 -04:00
package.json change url 2019-09-12 15:36:51 -04:00
readme.md updated readme image 2019-09-11 15:38:57 -04:00
yarn.lock adds Google Analytics 2019-09-11 15:37:27 -04:00

Lexend Website

Screen Shot 2019-06-08 at 7 26 26 PM

An awesome, function website for an awesome, functional font — Lexend is a font designed specifically to increase to reading-proficiency, and it's got some data to back it up. We designed this sucker to show it.

There's a lot of fun but not-too-complicated tech here:

  • next.js for a minimal react framework
  • react-spring for amazing animation
  • emotion for simple & mostly-contained component styling
  • mdx to keep our homepage in fairly simple markdown, with components mixed in

🏃‍♂️ Getting Up & Running

Make sure you've got Node installed, cuz we usin' JavaScript. I prefer yarn to install dependencies, but npm works, too. You just need one or the other — the commands are the same, switch yarn with npm if that's what you've got.

The website is ultimately generated & committed with special requirements to make it work with Github Pages, so the you can think of the website branch as the source code for the site, and the gh-pages branch as minified distribution code — you won't ever really need to touch the gh-pages branch manually.

  1. Checkout the website branch & install dependencies so you can run locally:
git checkout website
yarn install
  1. Run locally:
yarn dev
  1. To make changes, create a new branch based off the website branch, make your changes, and push. You can make a pull request on Github, which if accepted will get merged into the website branch.
  2. Once a pull request is merged, you'll have to pull changes from the website branch down to your local machine in order to generate & deploy to the gh-pages branch.
git pull --all
git checkout website
yarn deploy

The deploy command simplifies the gh-pages deploy process using the lovely gh-pages library, which is included in the development dependencies when you yarn install and uses git behind the scenes.

It will do all the work for you of generating the final site code (yarn predeploy is run automatically behind the scenes when you run yarn deploy) & pushing it to the correct branch (which is what yarn deploy does).

Github Pages sometimes takes a minute or two to clear the cache on Github's end after deploying, but you won't ever need to do anything beyond running yarn deploy locally when you have the website branch up-to-date to get your changes live.

👨🏻‍🚒 Gotchas to Watch Out For in Future Development

Deployment

One gotcha (which you might notice in package.json on #master and shouldn't have to worry about if you use as-is), is that we have to pass the -t argument, which is shortcode for including dotfiles — gh-pages ignores folders that start with an _ if you don't include a .nojekyll file, and we're making sure to include that shnaz in the predeploy command that gets automatically run when you hit yarn deploy.

Static Files

The /static folder is an important part of Next.js, and where we store all our non-dynamic files like fonts, images, etc. Because gh-pages is running in a subdirectory (thomasjockin.github.io/lexend instead of just thomasjockin.github.io or lexend.com), we have to change the URLs for static files to match whatever directory it's living in.

You'll notice all the static files are absolute URLs, just to make it simple. If you change where this lives, you'll want to do a find & replace to update those static files. There aren't a lot.