Skip to content

Commit 5796a5b

Browse files
runningcodeclaude
andcommitted
feat(docs): Add CodeTabs to all Gradle code snippets
Use codeToJsx with CodeTabs for proper syntax highlighting across all Gradle configuration examples. This includes Kotlin/Groovy configuration blocks and aab/apk build command examples. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
1 parent f301514 commit 5796a5b

File tree

3 files changed

+51
-35
lines changed

3 files changed

+51
-35
lines changed
Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,39 @@
1-
import {Fragment} from 'react';
2-
31
import {CodeBlock} from './codeBlock';
2+
import {CodeTabs} from './codeTabs';
3+
import {codeToJsx} from './highlightCode';
44

55
type Props = {
66
feature: string;
77
};
88

99
export function GradleFeatureConfig({feature}: Props) {
1010
return (
11-
<Fragment>
11+
<CodeTabs>
1212
<CodeBlock language="kotlin" filename="build.gradle.kts">
1313
<pre>
14-
<code className="language-kotlin">{`sentry {
14+
{codeToJsx(
15+
`sentry {
1516
${feature} {
1617
enabled = providers.environmentVariable("GITHUB_ACTIONS").isPresent
1718
}
18-
}`}</code>
19+
}`,
20+
'kotlin'
21+
)}
1922
</pre>
2023
</CodeBlock>
2124

2225
<CodeBlock language="groovy" filename="build.gradle">
2326
<pre>
24-
<code className="language-groovy">{`sentry {
27+
{codeToJsx(
28+
`sentry {
2529
${feature} {
2630
enabled = providers.environmentVariable("GITHUB_ACTIONS").present
2731
}
28-
}`}</code>
32+
}`,
33+
'groovy'
34+
)}
2935
</pre>
3036
</CodeBlock>
31-
</Fragment>
37+
</CodeTabs>
3238
);
3339
}

src/components/gradleUploadInstructions.tsx

Lines changed: 32 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
import {Fragment} from 'react';
22

33
import {CodeBlock} from './codeBlock';
4+
import {CodeTabs} from './codeTabs';
45
import {GradleFeatureConfig} from './gradleFeatureConfig';
6+
import {codeToJsx} from './highlightCode';
57
import {OrgAuthTokenNote} from './orgAuthTokenNote';
68

79
type Props = {
@@ -35,9 +37,7 @@ export function GradleUploadInstructions({feature}: Props) {
3537
</p>
3638
<OrgAuthTokenNote />
3739
<CodeBlock language="bash">
38-
<pre>
39-
<code className="language-bash">{`export SENTRY_AUTH_TOKEN=___ORG_AUTH_TOKEN___`}</code>
40-
</pre>
40+
<pre>{codeToJsx(`export SENTRY_AUTH_TOKEN=___ORG_AUTH_TOKEN___`, 'bash')}</pre>
4141
</CodeBlock>
4242
</li>
4343

@@ -50,16 +50,14 @@ export function GradleUploadInstructions({feature}: Props) {
5050
<p>
5151
Invoke the following Gradle tasks to build your app and trigger the upload.
5252
</p>
53-
<CodeBlock language="bash" filename="aab">
54-
<pre>
55-
<code className="language-bash">{`./gradlew bundleRelease`}</code>
56-
</pre>
57-
</CodeBlock>
58-
<CodeBlock language="bash" filename="apk">
59-
<pre>
60-
<code className="language-bash">{`./gradlew assembleRelease`}</code>
61-
</pre>
62-
</CodeBlock>
53+
<CodeTabs>
54+
<CodeBlock language="aab" filename="aab">
55+
<pre>{codeToJsx(`./gradlew bundleRelease`, 'bash')}</pre>
56+
</CodeBlock>
57+
<CodeBlock language="apk" filename="apk">
58+
<pre>{codeToJsx(`./gradlew assembleRelease`, 'bash')}</pre>
59+
</CodeBlock>
60+
</CodeTabs>
6361
</li>
6462

6563
<li>
@@ -85,9 +83,11 @@ export function GradleUploadInstructions({feature}: Props) {
8583

8684
<p>Configure overrides in your Gradle build configuration:</p>
8785

88-
<CodeBlock language="kotlin" filename="build.gradle.kts">
89-
<pre>
90-
<code className="language-kotlin">{`sentry {
86+
<CodeTabs>
87+
<CodeBlock language="kotlin" filename="build.gradle.kts">
88+
<pre>
89+
{codeToJsx(
90+
`sentry {
9191
${feature} {
9292
enabled = providers.environmentVariable("GITHUB_ACTIONS").isPresent
9393
}
@@ -102,13 +102,16 @@ export function GradleUploadInstructions({feature}: Props) {
102102
baseRef.set("main")
103103
prNumber.set(42)
104104
}
105-
}`}</code>
106-
</pre>
107-
</CodeBlock>
108-
109-
<CodeBlock language="groovy" filename="build.gradle">
110-
<pre>
111-
<code className="language-groovy">{`sentry {
105+
}`,
106+
'kotlin'
107+
)}
108+
</pre>
109+
</CodeBlock>
110+
111+
<CodeBlock language="groovy" filename="build.gradle">
112+
<pre>
113+
{codeToJsx(
114+
`sentry {
112115
${feature} {
113116
enabled = providers.environmentVariable("GITHUB_ACTIONS").present
114117
}
@@ -123,9 +126,12 @@ export function GradleUploadInstructions({feature}: Props) {
123126
baseRef = 'main'
124127
prNumber = 42
125128
}
126-
}`}</code>
127-
</pre>
128-
</CodeBlock>
129+
}`,
130+
'groovy'
131+
)}
132+
</pre>
133+
</CodeBlock>
134+
</CodeTabs>
129135

130136
<p>
131137
Available <code>vcsInfo</code> properties:

src/components/highlightCode.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,20 @@ import {jsx, jsxs} from 'react/jsx-runtime';
33
import {toJsxRuntime} from 'hast-util-to-jsx-runtime';
44
import {Nodes} from 'hastscript/lib/create-h';
55
import bash from 'refractor/lang/bash.js';
6+
import groovy from 'refractor/lang/groovy.js';
67
import json from 'refractor/lang/json.js';
8+
import kotlin from 'refractor/lang/kotlin.js';
79
import typescript from 'refractor/lang/typescript.js';
810
import {refractor} from 'refractor/lib/core.js';
911

1012
refractor.register(bash);
13+
refractor.register(groovy);
1114
refractor.register(json);
15+
refractor.register(kotlin);
1216
refractor.register(typescript);
1317

1418
// If a new language should be supported, add it here and register it in refractor above
15-
export const SUPPORTED_LANGUAGES = ['bash', 'json', 'typescript'];
19+
export const SUPPORTED_LANGUAGES = ['bash', 'groovy', 'json', 'kotlin', 'typescript'];
1620

1721
export function codeToJsx(code: string, lang = 'json') {
1822
if (!SUPPORTED_LANGUAGES.includes(lang)) {

0 commit comments

Comments
 (0)