React && Firebase Workshop
Contact Information
Prequisite Setup
- A recent version of Node.js
npm install -g create-react-app
FROM gitpod/workspace-full | |
USER gitpod | |
# Erlang: https://computingforgeeks.com/how-to-install-latest-erlang-on-ubuntu-linux/ | |
RUN wget -O- https://packages.erlang-solutions.com/ubuntu/erlang_solutions.asc | sudo apt-key add - | |
RUN echo "deb https://packages.erlang-solutions.com/ubuntu focal contrib" | sudo tee /etc/apt/sources.list.d/rabbitmq.list | |
RUN sudo apt-get update && \ | |
sudo apt-get install inotify-tools -y && \ |
# Initially based on https://github.com/sonnym/jekyll_elm | |
# | |
# USAGE: | |
# Copy/paste this file into the `_plugins` directory of your Jekyll project. | |
# For every .elm file in your project, it will generate a .js file in your site | |
# using the same name and relative path. | |
# | |
# As-is, the converter expects the following directory structure: | |
# | |
# your-jekyll-project/ |
npm install -g create-react-app
Community
Cheatsheets
Books
module DragTable exposing (..) | |
import Html exposing (..) | |
import Html.Attributes exposing (..) | |
import Html.Events exposing (..) | |
import Json.Decode as Json exposing (Decoder, Value) | |
import Dict exposing (Dict) | |
import List as L exposing (drop, take) | |
import Tuple |
FWIW: I (@Rondy) am not the author of the content presented here, which is an outline from Edmond Lau's book. I've just copy-pasted it from somewhere and saved as a personal gist, before it got popular on newsnews.ycombinator.com. I don't remember where exactly the original source is from and neither could find the author's name, so I cannot give him/her the proper credits.
-- the type aliases would be private | |
type RichText | |
= RichText (List Line) | |
type alias Line = | |
{ left : List (Attributes, String) | |
, center : List (Attributes, String) | |
, right : List (Attributes, String) |
-- Assuming we have a list of items in the model (type alias Model = { items : List Item } | |
-- where Item is a record like { id : Int, name : String } | |
-- this goes in the view and generates an html dropdown | |
select | |
[ onSelect ValueSelectedMsg ] | |
(List.map (\item -> option [ value (toString item.id) ] [ text item.name ]) model.items) | |
targetSelectedIndex : Json.Decoder Int |
Elm is a statically typed functional language that compiles to JavaScript. It's well-known for its developer experience: the compiler provides nice error messages, the package system enforces semantic versioning for all published packages and makes sure every exposed value or type has some documentation and type annotations.
It's now here, in The Programmer's Compendium. The content is the same as before, but being part of the compendium means that it's actively maintained.