Skip to content
This repository was archived by the owner on Sep 3, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions bin/animation
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
convert -delay 80 animation-*@1x.png animated@1x.gif
convert -delay 80 animation-*@2x.png animated@2x.gif
60 changes: 55 additions & 5 deletions pages/_error.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,56 @@
import React from 'react'
import EpisodePageWrapper from 'src/components/EpisodePageWrapper'
/** @jsx jsx */
import { css, jsx } from '@emotion/core'
import Page from 'src/components/Page'
import Head from 'next/head'
import H from 'src/components/H'
import { lessonTitle } from 'src/lib/titles'
import { spaces } from 'src/lib/theme'
import Container from 'src/components/Container'
import CardWrapper from 'src/components/CardWrapper'
import EpisodeHero from 'src/components/EpisodeHero'
import EpisodePageFooter from 'src/components/EpisodePageFooter'
import { P } from 'src/components/ContentTags'
import Toc from 'src/components/Toc'
import { ogImageUrl } from 'src/lib/meta'

const Index = () => <EpisodePageWrapper episodeNumber={0} notFound />

export default Index
export default () => (
<Page>
<Head>
<title key="title">{lessonTitle}</title>
<meta property="og:title" content={lessonTitle} />
<meta property="og:image" content={ogImageUrl} />
</Head>
<div
css={css`
padding-top: ${spaces(1)};
`}
/>
<Container size="sm">
<EpisodeHero
mainTitle={<H args={{ name: 'titleSplit' }} />}
episodeTitle={<H args={{ name: 'pageNotFound' }} />}
emojis={['❓', '😭', '❓']}
/>
<CardWrapper
title={<H args={{ name: 'pageNotFound' }} />}
isLast
type="meta"
>
<P
css={css`
text-align: center;
`}
>
<H args={{ name: 'lookAtToc' }} />
</P>
<Toc includeFirstPage />
</CardWrapper>
</Container>
<div
css={css`
padding: ${spaces(3)} 0;
`}
></div>
<EpisodePageFooter />
</Page>
)
6 changes: 0 additions & 6 deletions pages/demo.tsx

This file was deleted.

95 changes: 95 additions & 0 deletions pages/emojis-functional-programming.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
/** @jsx jsx */
import { css, jsx } from '@emotion/core'
import Page from 'src/components/Page'
import Head from 'next/head'
// import H from 'src/components/H'
import { fontSizes, colors, spaces } from 'src/lib/theme'
import Container from 'src/components/Container'
// import CardWrapper from 'src/components/CardWrapper'
import EpisodeHero from 'src/components/EpisodeHero'
import EpisodePageFooter from 'src/components/EpisodePageFooter'
import { P, ExternalLink } from 'src/components/ContentTags'
import locale from 'src/lib/locale'
// import { EpisodeCardListType } from 'src/components/EpisodeCardList'
import { DateTime } from 'luxon'

const date = DateTime.fromISO('2019-11-06T12:00:00Z')
const dateString = date
.setLocale('en')
.setZone('America/Los_Angeles')
.toFormat('LLL d, yyyy')
const dateSchemaString = date.setZone('America/Los_Angeles').toISO()

const title = 'Using emojis to teach functional programming to non-programmers'
const titleSplit = (
<>
Using emojis to teach
<br />
functional programming to
<br />
non-programmers
</>
)

// const cards: EpisodeCardListType = []

export default () =>
locale === 'en' ? (
<Page>
<Head>
<title key="title">{title}</title>
<meta property="og:title" content={title} />
{/* <meta property="og:site_name" content={lessonTitle} />
<meta property="og:url" content={url} />
<link rel="canonical" href={url} />
<meta property="og:description" content={description} />
<meta name="description" content={description} />
<meta property="og:image" content={ogImageUrl} /> */}
<meta property="article:published_time" content={dateSchemaString} />
</Head>
<div
css={css`
padding-top: ${spaces(1.5)};
`}
/>
<Container size="smsm" horizontalPadding={1}>
<EpisodeHero mainTitle={titleSplit} threeLineTitle />
<div
css={css`
text-align: center;
color: ${colors('grey700')};
font-size: ${fontSizes(0.85)};
`}
>
{dateString} &middot; Shu Uesugi (
<ExternalLink href="https://twitter.com/chibicode">
@chibicode
</ExternalLink>
)
</div>
<img
src="/static/images/animated@2x.gif"
alt={title}
css={css`
width: 180px;
margin: ${spaces(1.75)} auto ${spaces(2)};
display: block;
`}
/>
<P>
Lorem ipsum dolor sit amet consectetur adipisicing elit. Consequatur,
neque quod eum maxime distinctio, commodi alias qui magni ullam
dolores ipsa, odio esse quidem dicta. Voluptatem illo voluptate
doloremque odit.
</P>
</Container>
<div
css={css`
padding: ${spaces(3)} 0;
`}
></div>
<EpisodePageFooter />
</Page>
) : (
<></>
)
Binary file added public/static/images/animated@1x.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified public/static/images/animated@2x.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
22 changes: 1 addition & 21 deletions scripts/lib/initialExpressionContainers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -275,9 +275,7 @@ export const kaaf = initializeDoneExpressionContainer({
export const mxkk = initializeDoneExpressionContainer({ shorthandNumber: 5 })

export const lyet = initializeExpressionContainer(numberParams('d', 'e', 0))
export const zdlx = initializeExpressionContainer(
numberParamsHighlightNumber('d', 'e', 1)
)

export const aocc = initializeExpressionContainer(
numberParamsHighlightNumber('d', 'e', 2)
)
Expand Down Expand Up @@ -391,15 +389,6 @@ export const vibe = initializeExpressionContainer([
}
])

export const lbkw = initializeExpressionContainer([
{
shorthandFunc: 'add'
},
{
shorthandNumber: 2
}
])

export const kfwf = initializeExpressionContainer([
{
shorthandFunc: 'add'
Expand Down Expand Up @@ -847,10 +836,6 @@ export const oxuf = initializeExpressionContainer(
numberParamsHighlightNumber('b', 'c', 2)
)

export const fhyo = initializeExpressionContainer(
numberParamsHighlightNumber('b', 'c', 3)
)

export const yywl = initializeExpressionContainer(
numberParamsHighlightNumber('b', 'c', 4)
)
Expand Down Expand Up @@ -895,11 +880,6 @@ export const uwoq = initializeExpressionContainer({
}
})

export const henz = initializeExpressionContainer([
succParams('a', 'b', 'c'),
numberParams('d', { name: 'e', highlighted: true }, 1)
])

export const tsms = initializeExpressionContainer('blankNumberPlusOne')
export const hipa = initializeExpressionContainer('blankNumberMinusOne')

Expand Down
47 changes: 0 additions & 47 deletions scripts/lib/runnerConfigs.ts
Original file line number Diff line number Diff line change
Expand Up @@ -900,11 +900,6 @@ export const lizi: ExpressionRunnerShorthandConfig = {
initialExpressionContainer: initialExpressionContainers.vibe
}

export const gnwm: ExpressionRunnerShorthandConfig = {
runner: 'simple',
initialExpressionContainer: initialExpressionContainers.lbkw
}

export const mcug: ExpressionRunnerShorthandConfig = {
runner: 'runButtonOnly',
initialExpressionContainer: initialExpressionContainers.vibe
Expand Down Expand Up @@ -1144,13 +1139,6 @@ export const hkbs: ExpressionRunnerShorthandConfig = {
bottomRightBadgeOverrides: { d: '🅰️', e: '🅱️' }
}

export const rbup: ExpressionRunnerShorthandConfig = {
runner: 'simple',
initialExpressionContainer: initialExpressionContainers.zdlx,
showPriorities: true,
bottomRightBadgeOverrides: { d: '🅰️', e: '🅱️' }
}

export const ehsw: ExpressionRunnerShorthandConfig = {
runner: 'simple',
initialExpressionContainer: initialExpressionContainers.aocc,
Expand Down Expand Up @@ -1266,13 +1254,6 @@ export const cpim: ExpressionRunnerShorthandConfig = {
highlightOverrides: { a: 'highlighted', b: 'highlighted', c: 'highlighted' }
}

export const rjzw: ExpressionRunnerShorthandConfig = {
runner: 'runButtonOnly',
initialExpressionContainer: initialExpressionContainers.uqth,
showPriorities: true,
skipToTheEnd: false
}

export const jsvg: ExpressionRunnerShorthandConfig = {
runner: 'runButtonOnly',
initialExpressionContainer: initialExpressionContainers.uqth,
Expand Down Expand Up @@ -1335,13 +1316,6 @@ export const nlbn: ExpressionRunnerShorthandConfig = {
speed: 1.25
}

export const nngz: ExpressionRunnerShorthandConfig = {
runner: 'simple',
initialExpressionContainer: initialExpressionContainers.fhyo,
showPriorities: true,
bottomRightBadgeOverrides: { c: '🅱️', b: '🅰️' }
}

export const ifqp: ExpressionRunnerShorthandConfig = {
runner: 'simple',
initialExpressionContainer: initialExpressionContainers.yywl,
Expand Down Expand Up @@ -1413,12 +1387,6 @@ export const nhqo: ExpressionRunnerShorthandConfig = {
showPriorities: true
}

export const ybne: ExpressionRunnerShorthandConfig = {
runner: 'simple',
initialExpressionContainer: initialExpressionContainers.qdoh,
showPriorities: true
}

export const akik: ExpressionRunnerShorthandConfig = {
runner: 'runButtonOnly',
initialExpressionContainer: initialExpressionContainers.qdoh,
Expand All @@ -1443,15 +1411,6 @@ export const vqwp: ExpressionRunnerShorthandConfig = {
bottomRightBadgeOverrides: { c: '🅱️', b: '🅰️' }
}

export const exbn: ExpressionRunnerShorthandConfig = {
runner: 'runButtonOnly',
initialExpressionContainer: initialExpressionContainers.henz,
showPriorities: true,
skipToTheEnd: false,
skipActive: true,
speed: 1.25
}

export const qlcq: ExpressionRunnerShorthandConfig = {
runner: 'simple',
initialExpressionContainer: initialExpressionContainers.qdoh,
Expand Down Expand Up @@ -1658,12 +1617,6 @@ export const cldb: ExpressionRunnerShorthandConfig = {
showPriorities: true
}

export const ylav: ExpressionRunnerShorthandConfig = {
runner: 'simple',
initialExpressionContainer: initialExpressionContainers.udaf,
showPriorities: true
}

export const sldg: ExpressionRunnerShorthandConfig = {
runner: 'simple',
initialExpressionContainer: initialExpressionContainers.udaf,
Expand Down
8 changes: 0 additions & 8 deletions src/components/DemoCardList.tsx

This file was deleted.

Loading