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
Binary file modified public/static/images/shu-uesugi-machupicchu.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 8 additions & 0 deletions scripts/lib/runnerConfigs.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1709,6 +1709,14 @@ export const xusi: ExpressionRunnerShorthandConfig = {
explanationsVisibility: 'visible'
}

export const zjto: ExpressionRunnerShorthandConfig = {
runner: 'simple',
initialExpressionContainer: initialExpressionContainers.udaf,
showPriorities: true,
initialState: 'needsAlphaConvert',
explanationsVisibility: 'visible'
}

export const lipt: ExpressionRunnerShorthandConfig = {
runner: 'runButtonOnly',
initialExpressionContainer: initialExpressionContainers.udaf,
Expand Down
4 changes: 2 additions & 2 deletions src/components/ExpressionRunnerExplanation.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -27,13 +27,13 @@ const allAtOnce = (hideFuncUnboundBadge?: boolean) =>
locale === 'en' ? (
<>
Label items as <BottomRightBadge bottomRightBadgeType="callArg" inline />{' '}
<BottomRightBadge bottomRightBadgeType="funcBound" inline />{' '}
<BottomRightBadge bottomRightBadgeType="funcArg" inline />{' '}
{!hideFuncUnboundBadge && (
<>
<BottomRightBadge bottomRightBadgeType="funcUnbound" inline />{' '}
</>
)}
<BottomRightBadge bottomRightBadgeType="funcArg" inline />{' '}
<BottomRightBadge bottomRightBadgeType="funcBound" inline />{' '}
</>
) : (
<>
Expand Down
10 changes: 5 additions & 5 deletions src/components/H.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -247,7 +247,7 @@ const H = ({ args, highlightType, episodeNumberOverrides }: HProps) => {
return (
<P>
<Bold>Hello!</Bold> This is <Italic>page {episodeNumber + 1}</Italic>{' '}
of a course called “
of the course called “
<InternalLink href={'/'}>{lessonTitle}</InternalLink>
”. If you just got here,{' '}
<InternalLink href={'/'}>
Expand Down Expand Up @@ -1934,14 +1934,14 @@ const H = ({ args, highlightType, episodeNumberOverrides }: HProps) => {
</UlLi>
<UlLi>
<Bold>Things I’m pretty good at:</Bold>{' '}
<Highlight>Expository writing</Highlight> (like this course),{' '}
<Highlight>Expository writing</Highlight> (like this course) and{' '}
<Highlight>React/TypeScript</Highlight> (
<ExternalLink href="https://github.com/chibicode/ycombinator">
see the repo for this course
</ExternalLink>
), and <Highlight>product design</Highlight> (but not visual
design). I’ve also worked with <Highlight>Rails</Highlight> from
version 1 to version 6.
). I’m okay at <Highlight>product design</Highlight>. I’ve also
worked with <Highlight>Rails</Highlight> from version 2 to
version 6.
</UlLi>
<UlLi>
<Bold>Current interests:</Bold> As a professional EN → JP
Expand Down
12 changes: 12 additions & 0 deletions src/components/Runners/Zjto.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import React from 'react'
import ExpressionRunnerPrecomputed from 'src/components/ExpressionRunnerPrecomputed'
import config from 'src/lib/runners/zjto.json'

const Zjto = ({ children }: { children?: React.ReactNode }) => (
// @ts-ignore
<ExpressionRunnerPrecomputed {...config}>
{children}
</ExpressionRunnerPrecomputed>
)

export default Zjto
1 change: 1 addition & 0 deletions src/components/Runners/fakeIndex.ts
Original file line number Diff line number Diff line change
Expand Up @@ -243,6 +243,7 @@ export { default as Hiag } from 'src/components/FakeRunner'
export { default as Gqct } from 'src/components/FakeRunner'
export { default as Zwut } from 'src/components/FakeRunner'
export { default as Xusi } from 'src/components/FakeRunner'
export { default as Zjto } from 'src/components/FakeRunner'
export { default as Lipt } from 'src/components/FakeRunner'
export { default as Zzhq } from 'src/components/FakeRunner'
export { default as Mzys } from 'src/components/FakeRunner'
Expand Down
1 change: 1 addition & 0 deletions src/components/Runners/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -243,6 +243,7 @@ export { default as Hiag } from 'src/components/Runners/Hiag'
export { default as Gqct } from 'src/components/Runners/Gqct'
export { default as Zwut } from 'src/components/Runners/Zwut'
export { default as Xusi } from 'src/components/Runners/Xusi'
export { default as Zjto } from 'src/components/Runners/Zjto'
export { default as Lipt } from 'src/components/Runners/Lipt'
export { default as Zzhq } from 'src/components/Runners/Zzhq'
export { default as Mzys } from 'src/components/Runners/Mzys'
Expand Down
130 changes: 86 additions & 44 deletions src/contents/10.en.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -115,10 +115,12 @@ export default () => (
type: 'devil',
children: (
<>
<P>I can’t return those yet.</P>
<P>
<Bold>I can’t return those yet.</Bold>
</P>
<P>
<Highlight>
The only one I’m returning you now is mathboxes with{' '}
The only ones I’m returning for now are mathboxes with{' '}
<H args={{ name: 'plusOneFeature' }} />.
</Highlight>
</P>
Expand All @@ -137,10 +139,7 @@ export default () => (
type: 'crying',
children: (
<>
<P>
But… you said, you’ll return our mathboxes if we solve
that difficult problem!
</P>
<P>But… you promised to return the mathboxes!</P>
</>
)
},
Expand Down Expand Up @@ -349,8 +348,7 @@ export default () => (
{
title: (
<>
A hint for reproducing{' '}
<H args={{ name: 'minusOneFeature', capitalize: true }} />
A hint for reproducing <H args={{ name: 'minusOneFeature' }} />
</>
),
content: (
Expand All @@ -373,8 +371,11 @@ export default () => (
children: (
<>
<P>
Yes. Let me give you a hint for reproducing{' '}
<H args={{ name: 'minusOneFeature' }} />!
Yes.{' '}
<Highlight>
Let me give you a hint for reproducing{' '}
<H args={{ name: 'minusOneFeature' }} />!
</Highlight>
</P>
</>
)
Expand Down Expand Up @@ -474,10 +475,7 @@ export default () => (
children: (
<>
<P>But… this lunchbox looks so complicated!</P>
<P>
I don’t think we can figure out how to fill each{' '}
<CustomEmoji type="questionFoodGrey" /> icon…
</P>
<P>I don’t think we can do it…</P>
</>
)
}
Expand All @@ -491,7 +489,8 @@ export default () => (
content: (
<>
<P>
The villagers were struggling, but looks like Saya’s got an idea:
The villagers were struggling, but it looks like Saya’s got an
idea:
</P>
<BubbleQuotes
quotes={[
Expand Down Expand Up @@ -560,6 +559,19 @@ export default () => (
<EmojiNumber number={1} />, right?
</Highlight>
</P>
<EmojiSeparator
nodes={[
<EmojiNumber number={1} />,
<CustomEmoji type="singleArrow" />,
<EmojiNumber number={0} />
]}
description={
<>
We want it to calculate <EmojiNumber number={1} />{' '}
<Emoji>➖</Emoji> <EmojiNumber number={1} />
</>
}
/>
</>
)
}
Expand Down Expand Up @@ -668,7 +680,7 @@ export default () => (
<>
<P>
<Highlight>
You don’t have to follow all the steps!
You don’t have to follow all the steps with your eyes!
</Highlight>{' '}
Just glance over it. Save your eyes!
</P>
Expand All @@ -680,7 +692,7 @@ export default () => (
children: (
<>
<P>
Take a look!{' '}
<Bold>But guys, take a look!</Bold>{' '}
<BottomRightBadge
inline
bottomRightBadgeType="callArg"
Expand All @@ -692,6 +704,7 @@ export default () => (
/>{' '}
are both <EmojiWithText letter="f" /> now.
</P>
<R.Zjto></R.Zjto>
<P>
<Highlight>
The <Bold>special rule</Bold> applies, and the{' '}
Expand Down Expand Up @@ -722,13 +735,15 @@ export default () => (
children: (
<>
<P>
The special rule just applied, and the{' '}
<EmojiWithText letter="f" /> in{' '}
<BottomRightBadge
inline
bottomRightBadgeType="callArg"
/>{' '}
became <EmojiWithText letter="a" />.
<Highlight>
The special rule just applied, and the{' '}
<EmojiWithText letter="f" /> in{' '}
<BottomRightBadge
inline
bottomRightBadgeType="callArg"
/>{' '}
became <EmojiWithText letter="a" />.
</Highlight>
</P>
<P>
Now, let’s <H args={{ name: 'run', lowerCase: true }} />{' '}
Expand Down Expand Up @@ -764,6 +779,8 @@ export default () => (
}}
/>
</R.Zzhq>
<ExpressionRunnerSeparator />
<R.Jwah></R.Jwah>
<BubbleQuotes
quotes={[
{
Expand Down Expand Up @@ -792,17 +809,17 @@ export default () => (
}
]}
/>
<R.Ylav>
<R.Hiag>
Combine <Emoji>👧🏻</Emoji> Saya’s lunchbox with
<br />
a lunchbox that can be converted to <EmojiNumber number={1} />…
</R.Ylav>
</R.Hiag>
<ExpressionRunnerSeparator />
<R.Jwah>
<R.Nbck>
The result is a lunchbox that can be
<br />
converted to <EmojiNumber number={0} />
</R.Jwah>
</R.Nbck>
<BubbleQuotes
quotes={[
{
Expand Down Expand Up @@ -856,14 +873,33 @@ export default () => (
<P>
<Bold>Well:</Bold> Just because you were able to
calculate <EmojiNumber number={1} /> <Emoji>➖</Emoji>{' '}
<EmojiNumber number={1} />, it doesn’t necessarily mean
that your lunchbox has reproduced{' '}
<H args={{ name: 'minusOneFeature' }} />.
<EmojiNumber number={1} />,{' '}
<Highlight>
it doesn’t necessarily mean that your lunchbox has
reproduced <H args={{ name: 'minusOneFeature' }} />.
</Highlight>
</P>
<P>
It needs to be able to subtract 1 from{' '}
<Italic>any number</Italic>.
<Highlight>
It needs to be able to subtract 1 from{' '}
<Italic>any number</Italic>.
</Highlight>
</P>
<EmojiSeparator
nodes={[
<CustomEmoji type="blankNumber" />,
<CustomEmoji type="singleArrow" />,
<CustomEmoji type="blankNumber" />,
<Emoji>➖</Emoji>,
<EmojiNumber number={1} />
]}
description={
<>
It needs to be able to subtract 1 from <br />
<Italic>any number</Italic>.
</>
}
/>
</>
)
},
Expand All @@ -880,9 +916,11 @@ export default () => (
children: (
<>
<P>
For example, can your lunchbox calculate{' '}
<EmojiNumber number={2} /> <Emoji>➖</Emoji>{' '}
<EmojiNumber number={1} />?
<Bold>For example:</Bold>{' '}
<Highlight>
Can your lunchbox calculate <EmojiNumber number={2} />{' '}
<Emoji>➖</Emoji> <EmojiNumber number={1} />?
</Highlight>
</P>
</>
)
Expand Down Expand Up @@ -952,7 +990,8 @@ export default () => (
</UlLi>
<UlLi>
<Highlight>
You don’t have to follow all the steps!
You don’t have to follow all the steps with your
eyes!
</Highlight>{' '}
Just glance over it.
</UlLi>
Expand Down Expand Up @@ -1083,11 +1122,13 @@ export default () => (
type: 'devil',
children: (
<>
<P>I didn’t think you’ll get it this easily</P>
<P>
But <Highlight>Saya is correct!</Highlight> Her lunchbox
does reproduce <H args={{ name: 'minusOneFeature' }} />!{' '}
<Emoji>🎉</Emoji>
<Bold>Saya is correct!</Bold>{' '}
<Highlight>
Her lunchbox does reproduce{' '}
<H args={{ name: 'minusOneFeature' }} />!{' '}
<Emoji>🎉</Emoji>
</Highlight>
</P>
</>
)
Expand Down Expand Up @@ -1126,8 +1167,9 @@ export default () => (
children: (
<>
<P>
No, I’m just lucky. But anyway, we’ve reproduced{' '}
<H args={{ name: 'minusOneFeature' }} />!
No, I’m just lucky. But anyway, we showed that{' '}
<H args={{ name: 'minusOneFeature' }} /> can be
reproduced using a lunchbox!
</P>
</>
)
Expand Down Expand Up @@ -1301,7 +1343,7 @@ export default () => (
children: (
<>
<P>
Well, but{' '}
But{' '}
<Highlight>
I won’t give you back{' '}
<H args={{ name: 'repeatFeature' }} /> yet.
Expand Down
3 changes: 3 additions & 0 deletions src/contents/10.jp.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -679,6 +679,7 @@ export default () => (
が同じ <EmojiWithText letter="f" /> になったよ!
</HighlightBold>
</P>
<R.Zjto></R.Zjto>
<P>
前回と同じように
<Highlight>
Expand Down Expand Up @@ -753,6 +754,8 @@ export default () => (
}}
/>
</R.Zzhq>
<ExpressionRunnerSeparator />
<R.Jwah></R.Jwah>
<BubbleQuotes
quotes={[
{
Expand Down
Loading