Coder Social home page Coder Social logo

ergodox-io's Introduction

The new home of the ErgoDox project; an entirely open source, split hand, keyboard designed with ergonomics in mind.

Site is built with Jekyll and themed with Docster

##Repo Structure: Github page is served to http://www.ergodox.io from the /deploy directory and the source code to render is all inside of the /src directory.

Prerequsities

  • jekyll
  • jekyll-seo-tag
  • jekyll-sitemap

Building the site locally

Once you have Jekyll installed, navigate to the /src directory and jekyll serve or jekyll build to either build and serve the site locally or just build the site. The rendered files will be put in the /deploy directory.

Ready to push to the live site?

git subtree push --prefix deploy origin gh-pages

ergodox-io's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ergodox-io's Issues

Poor wording choices were made.

The entire project (including this website) are Open Source

Should be changed to

The entire project (including this website) is open source

Ortholinear or vertically staggered?

The intro section says: laid out in an ortholinear (rather than staggered) layout - it is not ortholinear, it is column-staggered. Ortholinear would mean that there is no stagger at all, in any direction, anywhere, which is not the case for the original ErgoDox, and not the case for most of the common variants, either.

I would suggest replacing the text with something like:

laid out in a columnar stagger (rather than the more conventional row stagger) layout

Compile error on EZ Configurator

Would you be able to tell me what's going on here?

https://configure.ergodox-ez.com/ergodox-ez/layouts/VqW44/latest/0

Build Errors

In file included from keyboards/ergodox_ez/keymaps/3abd76d9c48c307c06c9/keymap.c:1:0:
keyboards/ergodox_ez/keymaps/3abd76d9c48c307c06c9/keymap.c:26:98: error: 'LOWER' undeclared here (not in a function)
   [0] = LAYOUT_ergodox(KC_GRAVE,KC_1,KC_2,KC_3,KC_4,KC_5,KC_LEFT,KC_TAB,KC_Q,KC_W,KC_E,KC_R,KC_T,LOWER,KC_CAPSLOCK,KC_A,KC_S,KC_D,KC_F,KC_G,KC_LSHIFT,LCTL_T(KC_Z),KC_X,KC_C,KC_V,KC_B,KC_HYPR,LT(1,KC_ESCAPE),KC_QUOTE,MO(2),KC_LGUI,KC_LALT,KC_UP,KC_DOWN,KC_HOME,KC_SPACE,KC_BSPACE,KC_END,KC_RIGHT,KC_6,KC_7,KC_8,KC_9,KC_0,KC_MINUS,RAISE,KC_Y,KC_U,KC_I,KC_O,KC_P,KC_BSLASH,KC_H,KC_J,KC_K,KC_L,LT(2,KC_SCOLON),LGUI_T(KC_QUOTE),KC_MEH,KC_N,KC_M,KC_COMMA,KC_DOT,RCTL_T(KC_SLASH),KC_RSHIFT,RALT_T(KC_NO),DYN_REC_START1,KC_LBRACKET,KC_RBRACKET,KC_END,KC_LEFT,KC_RIGHT,KC_PGUP,KC_PGDOWN,KC_ENTER,KC_SPACE),
                                                                                                  ^
keyboards/ergodox_ez/ergodox_ez.h:142:12: note: in definition of macro 'LAYOUT_ergodox'
     { k06, k16, KC_NO, k36, KC_NO, k56 },   \
            ^
keyboards/ergodox_ez/keymaps/3abd76d9c48c307c06c9/keymap.c:26:330: error: 'RAISE' undeclared here (not in a function)
   [0] = LAYOUT_ergodox(KC_GRAVE,KC_1,KC_2,KC_3,KC_4,KC_5,KC_LEFT,KC_TAB,KC_Q,KC_W,KC_E,KC_R,KC_T,LOWER,KC_CAPSLOCK,KC_A,KC_S,KC_D,KC_F,KC_G,KC_LSHIFT,LCTL_T(KC_Z),KC_X,KC_C,KC_V,KC_B,KC_HYPR,LT(1,KC_ESCAPE),KC_QUOTE,MO(2),KC_LGUI,KC_LALT,KC_UP,KC_DOWN,KC_HOME,KC_SPACE,KC_BSPACE,KC_END,KC_RIGHT,KC_6,KC_7,KC_8,KC_9,KC_0,KC_MINUS,RAISE,KC_Y,KC_U,KC_I,KC_O,KC_P,KC_BSLASH,KC_H,KC_J,KC_K,KC_L,LT(2,KC_SCOLON),LGUI_T(KC_QUOTE),KC_MEH,KC_N,KC_M,KC_COMMA,KC_DOT,RCTL_T(KC_SLASH),KC_RSHIFT,RALT_T(KC_NO),DYN_REC_START1,KC_LBRACKET,KC_RBRACKET,KC_END,KC_LEFT,KC_RIGHT,KC_PGUP,KC_PGDOWN,KC_ENTER,KC_SPACE),
                                                                                                                                                                                                                                                                                                                                          ^
keyboards/ergodox_ez/ergodox_ez.h:144:12: note: in definition of macro 'LAYOUT_ergodox'
     { k07, k17, KC_NO, k37,KC_NO, k57 },   \
            ^
make[1]: *** [.build/obj_ergodox_ez_3abd76d9c48c307c06c9/keyboards/ergodox_ez/keymaps/3abd76d9c48c307c06c9/keymap.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [ergodox_ez:3abd76d9c48c307c06c9] Error 1

Source Files

#include QMK_KEYBOARD_H
#include "version.h"
#include "keymap_german.h"
#include "keymap_nordic.h"
#include "keymap_french.h"
#include "keymap_spanish.h"
#include "keymap_hungarian.h"

#define KC_MAC_UNDO LGUI(KC_Z)
#define KC_MAC_CUT LGUI(KC_X)
#define KC_MAC_COPY LGUI(KC_C)
#define KC_MAC_PASTE LGUI(KC_V)
#define KC_PC_UNDO LCTL(KC_Z)
#define KC_PC_CUT LCTL(KC_X)
#define KC_PC_COPY LCTL(KC_C)
#define KC_PC_PASTE LCTL(KC_V)

enum custom_keycodes {
  RGB_SLD = SAFE_RANGE, // can always be here
  EPRM,
  DYNAMIC_MACRO_RANGE,
};
#include "dynamic_macro.h"

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  [0] = LAYOUT_ergodox(KC_GRAVE,KC_1,KC_2,KC_3,KC_4,KC_5,KC_LEFT,KC_TAB,KC_Q,KC_W,KC_E,KC_R,KC_T,LOWER,KC_CAPSLOCK,KC_A,KC_S,KC_D,KC_F,KC_G,KC_LSHIFT,LCTL_T(KC_Z),KC_X,KC_C,KC_V,KC_B,KC_HYPR,LT(1,KC_ESCAPE),KC_QUOTE,MO(2),KC_LGUI,KC_LALT,KC_UP,KC_DOWN,KC_HOME,KC_SPACE,KC_BSPACE,KC_END,KC_RIGHT,KC_6,KC_7,KC_8,KC_9,KC_0,KC_MINUS,RAISE,KC_Y,KC_U,KC_I,KC_O,KC_P,KC_BSLASH,KC_H,KC_J,KC_K,KC_L,LT(2,KC_SCOLON),LGUI_T(KC_QUOTE),KC_MEH,KC_N,KC_M,KC_COMMA,KC_DOT,RCTL_T(KC_SLASH),KC_RSHIFT,RALT_T(KC_NO),DYN_REC_START1,KC_LBRACKET,KC_RBRACKET,KC_END,KC_LEFT,KC_RIGHT,KC_PGUP,KC_PGDOWN,KC_ENTER,KC_SPACE),

  [1] = LAYOUT_ergodox(KC_ESCAPE,KC_F1,KC_F2,KC_F3,KC_F4,KC_F5,KC_F6,KC_TRANSPARENT,KC_EXLM,KC_AT,KC_LCBR,KC_RCBR,KC_PIPE,KC_TRANSPARENT,KC_TRANSPARENT,KC_HASH,KC_DLR,KC_LPRN,KC_RPRN,KC_GRAVE,KC_TRANSPARENT,KC_PERC,KC_CIRC,KC_LBRACKET,KC_RBRACKET,KC_TILD,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_F7,KC_F7,KC_F8,KC_F9,KC_F10,KC_F11,KC_F12,KC_TRANSPARENT,KC_UP,KC_7,KC_8,KC_9,KC_ASTR,KC_BSPACE,KC_DOWN,KC_4,KC_5,KC_6,KC_PLUS,KC_SCROLLLOCK,KC_TRANSPARENT,KC_AMPR,KC_1,KC_2,KC_3,KC_BSLASH,KC_PSCREEN,KC_KP_ENTER,KC_DOT,KC_0,KC_EQUAL,KC_PAUSE,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT),

  [2] = LAYOUT_ergodox(KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_MS_UP,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_MS_LEFT,KC_MS_DOWN,KC_MS_RIGHT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_MS_BTN1,KC_MS_BTN2,KC_TRANSPARENT,KC_TRANSPARENT,KC_AUDIO_VOL_UP,KC_TRANSPARENT,KC_TRANSPARENT,KC_AUDIO_VOL_DOWN,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_UP,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_LEFT,KC_DOWN,KC_RIGHT,KC_TRANSPARENT,KC_MEDIA_PLAY_PAUSE,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_MEDIA_PREV_TRACK,KC_MEDIA_NEXT_TRACK,KC_TRANSPARENT,KC_TRANSPARENT,KC_AUDIO_VOL_UP,KC_AUDIO_VOL_DOWN,KC_AUDIO_MUTE,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_WWW_BACK),

};

bool process_record_user(uint16_t keycode, keyrecord_t *record) {
  switch (keycode) {
    case EPRM:
      if (record->event.pressed) {
        eeconfig_init();
      }
      return false;
  }
  if (!process_record_dynamic_macro(keycode, record)) {
    return false;
  }
  return true;
}

uint32_t layer_state_set_user(uint32_t state) {
  uint8_t layer = biton32(state);
  ergodox_board_led_off();
  ergodox_right_led_1_off();
  ergodox_right_led_2_off();
  ergodox_right_led_3_off();
  switch (layer) {
    case 1:
      ergodox_right_led_1_on();
      break;
    case 2:
      ergodox_right_led_2_on();
      break;
    case 3:
      ergodox_right_led_3_on();
      break;
    case 4:
      ergodox_right_led_1_on();
      ergodox_right_led_2_on();
      break;
    case 5:
      ergodox_right_led_1_on();
      ergodox_right_led_3_on();
      break;
    case 6:
      ergodox_right_led_2_on();
      ergodox_right_led_3_on();
      break;
    case 7:
      ergodox_right_led_1_on();
      ergodox_right_led_2_on();
      ergodox_right_led_3_on();
      break;
    default:
      break;
  }
  return state;
};

Performance increase

From PageSpeed Insights by Google.

Should Fix:
Eliminate render-blocking JavaScript and CSS in above-the-fold content
Your page has 3 blocking CSS resources. This causes a delay in rendering your page.
None of the above-the-fold content on your page could be rendered without waiting for the following resources to load. Try to defer or asynchronously load blocking resources, or inline the critical portions of those resources directly in the HTML.

Optimize CSS Delivery of the following:
https://www.ergodox.io/css/main.css
https://overpass-30e2.kxcdn.com/overpass.css
https://overpass-30e2.kxcdn.com/overpass-mono.css

Contact Dox regarding the original ErgoDox.org website

@doxkb (Dominic “Dox” Beauchamp) is the initial author of ErgoDox and its original website. It would be great to get in contact with him to:

  • let him know about ErgoDox.org not being available and the new ErgoDox.io website
  • ask him as the (previous?) owner of ergodox.org to unlock the site’s archive at the Internet Archive
  • get content from him if he has a backup anywhere
  • get his blessing for the new website and comments on it

Neither of these are needed, as long as we comply with his original license, but it would be very good form from our side.

License

GPL doesn’t make much sense for non-code content. I’d suggest using either CC-BY-4.0 (non-copyleft) or CC-BY-SA-4.0 (copyleft) for the website itself.

… what the code powering the website is licensed under doesn’t affect the content of the website 😄

List of alternative components

At some point it’d be nice to list also alternative components and preferably with pros and cons, caveats and instructions:

First things that come to mind are:

  • Pro Micro, Arduino/Genuino Micro or even Arduino/Genuino Leonardo – instead of the Teensy 2.0
  • key switches other than the Cherry MX

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.