@@ -184,23 +184,19 @@ String escape(String text) {
184184 };
185185}
186186
187- String jsonEscape (String text ) {
188- try {
189- var quoted = MAPPER .writeValueAsString (text );
190- var inner = quoted .substring (1 , quoted .length () - 1 );
191- var sb = new StringBuilder (inner .length ());
192- for (int i = 0 ; i < inner .length (); i ++) {
193- char c = inner .charAt (i );
194- if (c > 127 ) {
195- sb .append ("\\ u%04x" .formatted ((int ) c ));
196- } else {
197- sb .append (c );
198- }
187+ String jsonEscape (String text ) throws IOException {
188+ var quoted = MAPPER .writeValueAsString (text );
189+ var inner = quoted .substring (1 , quoted .length () - 1 );
190+ var sb = new StringBuilder (inner .length ());
191+ for (int i = 0 ; i < inner .length (); i ++) {
192+ char c = inner .charAt (i );
193+ if (c > 127 ) {
194+ sb .append ("\\ u%04x" .formatted ((int ) c ));
195+ } else {
196+ sb .append (c );
199197 }
200- return sb .toString ();
201- } catch (IOException _) {
202- throw new RuntimeException ("Failed to JSON-escape: " + text );
203198 }
199+ return sb .toString ();
204200}
205201
206202String urlEncode (String s ) {
@@ -281,7 +277,7 @@ String renderSocialShare(String socialShareTemplate, String slug, String title)
281277// -- Main generation logic -----------------------------------------------
282278
283279String generateHtml (String template , String whyCardTemplate , String relatedCardTemplate ,
284- String socialShareTemplate , Snippet snippet , Map <String , Snippet > allSnippets ) {
280+ String socialShareTemplate , Snippet snippet , Map <String , Snippet > allSnippets ) throws IOException {
285281 var replacements = Map .ofEntries (
286282 Map .entry ("title" , escape (snippet .title ())),
287283 Map .entry ("summary" , escape (snippet .summary ())),
0 commit comments