Окончательная документация для RCC

This commit is contained in:
2026-08-01 12:39:01 -07:00
parent 94bc883205
commit 026f69b179
5 changed files with 48 additions and 28 deletions

View File

@@ -9,7 +9,7 @@ export function SiteFooter() {
return ( return (
<footer className={classes.footer}> <footer className={classes.footer}>
<Container> <Container>
<SimpleGrid cols={{ base: 1, sm: 3 }} spacing="xl"> <SimpleGrid cols={{ base: 1, xs: 2, md: 4 }} spacing="xl">
<Stack gap="sm"> <Stack gap="sm">
<Group gap="sm"> <Group gap="sm">
<RosettaLogo size={34} /> <RosettaLogo size={34} />
@@ -33,18 +33,24 @@ export function SiteFooter() {
<Anchor component={Link} to="/#apps" c="dimmed" size="sm"> <Anchor component={Link} to="/#apps" c="dimmed" size="sm">
Apps Apps
</Anchor> </Anchor>
<Anchor component={Link} to="/encryption" c="dimmed" size="sm"> <Anchor component={Link} to="/support" c="dimmed" size="sm">
Encryption Support
</Anchor> </Anchor>
</Stack>
<Stack gap="xs">
<Text fw={600} size="sm">
Developers
</Text>
<Anchor component={Link} to="/proto" c="dimmed" size="sm"> <Anchor component={Link} to="/proto" c="dimmed" size="sm">
Proto Proto
</Anchor> </Anchor>
<Anchor component={Link} to="/encryption" c="dimmed" size="sm">
Encryption
</Anchor>
<Anchor component={Link} to="/rcc" c="dimmed" size="sm"> <Anchor component={Link} to="/rcc" c="dimmed" size="sm">
RCC RCC
</Anchor> </Anchor>
<Anchor component={Link} to="/support" c="dimmed" size="sm">
Support
</Anchor>
</Stack> </Stack>
<Stack gap="xs"> <Stack gap="xs">

View File

@@ -27,8 +27,13 @@
} }
.important { .important {
color: light-dark(var(--mantine-color-orange-8), var(--mantine-color-orange-3)); padding: 0 0.14em;
font-weight: 650; border-radius: 2px;
background: light-dark(rgba(253, 126, 20, 0.13), rgba(253, 126, 20, 0.18));
color: light-dark(var(--mantine-color-orange-9), var(--mantine-color-orange-2));
font-weight: inherit;
box-decoration-break: clone;
-webkit-box-decoration-break: clone;
} }
.layerExamples { .layerExamples {

View File

@@ -541,12 +541,12 @@ export class RccGeneratedPacketRegistry {
that layer, and expose the compiled minimum and maximum versions. that layer, and expose the compiled minimum and maximum versions.
</List.Item> </List.Item>
<List.Item> <List.Item>
<strong>Client generation</strong>{' '} <strong>Client generation</strong> selects the{' '}
<Text component="span" className={classes.important}> <Text component="span" className={classes.important}>
selects the highest layer and creates the current packet, type, enum, highest layer
codec, and registry sources without carrying historical shapes into
the application.
</Text> </Text>
{' '}and creates the current packet, type, enum, codec, and registry
sources without carrying historical shapes into the application.
</List.Item> </List.Item>
<List.Item> <List.Item>
<strong>Schema validation</strong> fails the build for unknown types or <strong>Schema validation</strong> fails the build for unknown types or
@@ -561,10 +561,9 @@ export class RccGeneratedPacketRegistry {
</LegalList> </LegalList>
<LegalText> <LegalText>
The RCC guide includes separate client and version-aware server examples.{' '} The RCC guide includes separate client and version-aware server examples.{' '}
<Text component="span" className={classes.important}> Run <Code className={classes.important}>npx rcc --list-languages</Code> for
Run <Code>npx rcc --list-languages</Code> for the authoritative list of the authoritative list of language targets in the installed compiler
language targets in the installed compiler version. version.
</Text>
</LegalText> </LegalText>
</LegalSection> </LegalSection>
@@ -720,7 +719,7 @@ packet field 1 · INT8 · SUCCESS (0)`}
See docs of PROTO → See docs of PROTO →
</Anchor> </Anchor>
<Anchor component={Link} to="/rcc" className={classes.docsLink}> <Anchor component={Link} to="/rcc" className={classes.docsLink}>
Learn RCC → See docs of RCC →
</Anchor> </Anchor>
</Group> </Group>
</LegalPage> </LegalPage>

View File

@@ -78,8 +78,13 @@
} }
.important { .important {
color: light-dark(var(--mantine-color-orange-8), var(--mantine-color-orange-3)); padding: 0 0.14em;
font-weight: 650; border-radius: 2px;
background: light-dark(rgba(253, 126, 20, 0.13), rgba(253, 126, 20, 0.18));
color: light-dark(var(--mantine-color-orange-9), var(--mantine-color-orange-2));
font-weight: inherit;
box-decoration-break: clone;
-webkit-box-decoration-break: clone;
} }
.note { .note {
@@ -87,7 +92,7 @@
border: 1px solid light-dark(var(--mantine-color-orange-3), var(--mantine-color-orange-9)); border: 1px solid light-dark(var(--mantine-color-orange-3), var(--mantine-color-orange-9));
border-left: 3px solid var(--mantine-color-orange-6); border-left: 3px solid var(--mantine-color-orange-6);
background: light-dark(var(--mantine-color-orange-0), rgba(253, 126, 20, 0.1)); background: light-dark(var(--mantine-color-orange-0), rgba(253, 126, 20, 0.1));
color: light-dark(var(--mantine-color-orange-9), var(--mantine-color-orange-2)); color: light-dark(var(--mantine-color-gray-8), var(--mantine-color-dark-0));
} }
@media (max-width: 48em) { @media (max-width: 48em) {

View File

@@ -45,11 +45,15 @@ export function RccPage() {
<LegalPage eyebrow="Developer tooling" title="Rosetta Code Compiler"> <LegalPage eyebrow="Developer tooling" title="Rosetta Code Compiler">
<LegalText lead> <LegalText lead>
RCC compiles Rosetta&apos;s versioned YAML protocol into typed models, codecs, RCC compiles Rosetta&apos;s versioned YAML protocol into typed models, codecs,
and packet registries.{' '} and packet registries. A server build can retain the{' '}
<Text component="span" className={classes.important}> <Text component="span" className={classes.important}>
A server build can retain the complete protocol history; a client build complete protocol history
stays small by generating only the latest layer.
</Text> </Text>
; a client build stays small by generating only the{' '}
<Text component="span" className={classes.important}>
latest layer
</Text>
.
</LegalText> </LegalText>
<LegalSection title="What RCC produces"> <LegalSection title="What RCC produces">
@@ -109,9 +113,9 @@ npx rcc --help`}</TechnicalCode>
</Anchor> </Anchor>
.{' '} .{' '}
<Text component="span" className={classes.important}> <Text component="span" className={classes.important}>
Pin the dependency version in the project lockfile so generated output Pin the dependency version
remains reproducible.
</Text> </Text>
{' '}in the project lockfile so generated output remains reproducible.
</LegalText> </LegalText>
</LegalSection> </LegalSection>
@@ -178,9 +182,10 @@ npx rcc --help`}</TechnicalCode>
--clean`}</TechnicalCode> --clean`}</TechnicalCode>
<Paper className={classes.note} radius="sm" p="md"> <Paper className={classes.note} radius="sm" p="md">
<Text size="sm" lh={1.7}> <Text size="sm" lh={1.7}>
Always run <Code>npx rcc --list-languages</Code> before configuring a Always run{' '}
generator. The installed compiler&apos;s output is the source of truth <Code className={classes.important}>npx rcc --list-languages</Code>{' '}
for available language targets. before configuring a generator. The installed compiler&apos;s output is
the source of truth for available language targets.
</Text> </Text>
</Paper> </Paper>
</Step> </Step>