2022-03-04 03:47:37 +00:00
< html class = "" style = "background: rgb(255, 255, 255);" > < script type = "module" src = "chrome-extension://jdkknkkbebbapilgoeccciglkfbmbnfm/hook.js" > < / script > < head >
< meta charset = "utf-8" >
< meta name = "norton-safeweb-site-verification" content = "24usqpep0ejc5w6hod3dulxwciwp0djs6c6ufp96av3t4whuxovj72wfkdjxu82yacb7430qjm8adbd5ezlt4592dq4zrvadcn9j9n-0btgdzpiojfzno16-fnsnu7xd" >
< meta name = "viewport" content = "width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0" >
< meta name = "author" content = "Omnivore" >
2025-09-24 10:37:39 +00:00
< meta property = "og:url" content = "https://blog.omnivore.work/p/code-block-syntax-highlighting" >
< link rel = "canonical" href = "https://blog.omnivore.work/p/code-block-syntax-highlighting" >
2022-03-04 03:47:37 +00:00
< link rel = "shortcut icon" href = "https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/8f6c575c-355b-44a6-a8e6-67a1c3745b59/favicon.ico" >
< link rel = "icon" type = "image/png" sizes = "16x16" href = "https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/8f6c575c-355b-44a6-a8e6-67a1c3745b59/favicon-16x16.png" >
< link rel = "icon" type = "image/png" sizes = "32x32" href = "https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/8f6c575c-355b-44a6-a8e6-67a1c3745b59/favicon-32x32.png" >
< link rel = "apple-touch-icon" sizes = "57x57" href = "https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/8f6c575c-355b-44a6-a8e6-67a1c3745b59/apple-touch-icon-57x57.png" >
< link rel = "apple-touch-icon" sizes = "60x60" href = "https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/8f6c575c-355b-44a6-a8e6-67a1c3745b59/apple-touch-icon-60x60.png" >
< link rel = "apple-touch-icon" sizes = "72x72" href = "https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/8f6c575c-355b-44a6-a8e6-67a1c3745b59/apple-touch-icon-72x72.png" >
< link rel = "apple-touch-icon" sizes = "76x76" href = "https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/8f6c575c-355b-44a6-a8e6-67a1c3745b59/apple-touch-icon-76x76.png" >
< link rel = "apple-touch-icon" sizes = "114x114" href = "https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/8f6c575c-355b-44a6-a8e6-67a1c3745b59/apple-touch-icon-114x114.png" >
< link rel = "apple-touch-icon" sizes = "120x120" href = "https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/8f6c575c-355b-44a6-a8e6-67a1c3745b59/apple-touch-icon-120x120.png" >
< link rel = "apple-touch-icon" sizes = "144x144" href = "https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/8f6c575c-355b-44a6-a8e6-67a1c3745b59/apple-touch-icon-144x144.png" >
< link rel = "apple-touch-icon" sizes = "152x152" href = "https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/8f6c575c-355b-44a6-a8e6-67a1c3745b59/apple-touch-icon-152x152.png" >
< link rel = "apple-touch-icon" sizes = "167x167" href = "https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/8f6c575c-355b-44a6-a8e6-67a1c3745b59/apple-touch-icon-167x167.png" >
< link rel = "apple-touch-icon" sizes = "180x180" href = "https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/8f6c575c-355b-44a6-a8e6-67a1c3745b59/apple-touch-icon-180x180.png" >
< link rel = "apple-touch-icon" sizes = "1024x1024" href = "https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/8f6c575c-355b-44a6-a8e6-67a1c3745b59/apple-touch-icon-1024x1024.png" >
< title > Code Block Syntax Highlighting - Omnivore< / title >
< link rel = "alternate" type = "application/rss+xml" href = "/feed" title = "Omnivore" >
< style >
/*https://fonts.googleapis.com/css?family=Spectral:400,400i,600,600i*/
/* cyrillic */
@font-face {
font-family: 'Spectral';
font-style: italic;
font-weight: 400;
src: local('Spectral Italic'), local('Spectral-Italic'), url(https://fonts.gstatic.com/s/spectral/v5/rnCt-xNNww_2s0amA9M8on7mTNmnUHowCw.woff2) format('woff2');
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
font-display: fallback;
}
/* vietnamese */
@font-face {
font-family: 'Spectral';
font-style: italic;
font-weight: 400;
src: local('Spectral Italic'), local('Spectral-Italic'), url(https://fonts.gstatic.com/s/spectral/v5/rnCt-xNNww_2s0amA9M8onXmTNmnUHowCw.woff2) format('woff2');
unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB;
font-display: fallback;
}
/* latin-ext */
@font-face {
font-family: 'Spectral';
font-style: italic;
font-weight: 400;
src: local('Spectral Italic'), local('Spectral-Italic'), url(https://fonts.gstatic.com/s/spectral/v5/rnCt-xNNww_2s0amA9M8onTmTNmnUHowCw.woff2) format('woff2');
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
font-display: fallback;
}
/* latin */
@font-face {
font-family: 'Spectral';
font-style: italic;
font-weight: 400;
src: local('Spectral Italic'), local('Spectral-Italic'), url(https://fonts.gstatic.com/s/spectral/v5/rnCt-xNNww_2s0amA9M8onrmTNmnUHo.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
font-display: fallback;
}
/* cyrillic */
@font-face {
font-family: 'Spectral';
font-style: italic;
font-weight: 600;
src: local('Spectral SemiBold Italic'), local('Spectral-SemiBoldItalic'), url(https://fonts.gstatic.com/s/spectral/v5/rnCu-xNNww_2s0amA9M8qqXCWfCFXVAKArdqqQ.woff2) format('woff2');
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
font-display: fallback;
}
/* vietnamese */
@font-face {
font-family: 'Spectral';
font-style: italic;
font-weight: 600;
src: local('Spectral SemiBold Italic'), local('Spectral-SemiBoldItalic'), url(https://fonts.gstatic.com/s/spectral/v5/rnCu-xNNww_2s0amA9M8qqXCWfuFXVAKArdqqQ.woff2) format('woff2');
unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB;
font-display: fallback;
}
/* latin-ext */
@font-face {
font-family: 'Spectral';
font-style: italic;
font-weight: 600;
src: local('Spectral SemiBold Italic'), local('Spectral-SemiBoldItalic'), url(https://fonts.gstatic.com/s/spectral/v5/rnCu-xNNww_2s0amA9M8qqXCWfqFXVAKArdqqQ.woff2) format('woff2');
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
font-display: fallback;
}
/* latin */
@font-face {
font-family: 'Spectral';
font-style: italic;
font-weight: 600;
src: local('Spectral SemiBold Italic'), local('Spectral-SemiBoldItalic'), url(https://fonts.gstatic.com/s/spectral/v5/rnCu-xNNww_2s0amA9M8qqXCWfSFXVAKArc.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
font-display: fallback;
}
/* cyrillic */
@font-face {
font-family: 'Spectral';
font-style: normal;
font-weight: 400;
src: local('Spectral Regular'), local('Spectral-Regular'), url(https://fonts.gstatic.com/s/spectral/v5/rnCr-xNNww_2s0amA9M9knjsS_ulYHs.woff2) format('woff2');
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
font-display: fallback;
}
/* vietnamese */
@font-face {
font-family: 'Spectral';
font-style: normal;
font-weight: 400;
src: local('Spectral Regular'), local('Spectral-Regular'), url(https://fonts.gstatic.com/s/spectral/v5/rnCr-xNNww_2s0amA9M2knjsS_ulYHs.woff2) format('woff2');
unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB;
font-display: fallback;
}
/* latin-ext */
@font-face {
font-family: 'Spectral';
font-style: normal;
font-weight: 400;
src: local('Spectral Regular'), local('Spectral-Regular'), url(https://fonts.gstatic.com/s/spectral/v5/rnCr-xNNww_2s0amA9M3knjsS_ulYHs.woff2) format('woff2');
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
font-display: fallback;
}
/* latin */
@font-face {
font-family: 'Spectral';
font-style: normal;
font-weight: 400;
src: local('Spectral Regular'), local('Spectral-Regular'), url(https://fonts.gstatic.com/s/spectral/v5/rnCr-xNNww_2s0amA9M5knjsS_ul.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
font-display: fallback;
}
/* cyrillic */
@font-face {
font-family: 'Spectral';
font-style: normal;
font-weight: 600;
src: local('Spectral SemiBold'), local('Spectral-SemiBold'), url(https://fonts.gstatic.com/s/spectral/v5/rnCs-xNNww_2s0amA9vmtm3FafaPWnIIMrY.woff2) format('woff2');
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
font-display: fallback;
}
/* vietnamese */
@font-face {
font-family: 'Spectral';
font-style: normal;
font-weight: 600;
src: local('Spectral SemiBold'), local('Spectral-SemiBold'), url(https://fonts.gstatic.com/s/spectral/v5/rnCs-xNNww_2s0amA9vmtm3OafaPWnIIMrY.woff2) format('woff2');
unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB;
font-display: fallback;
}
/* latin-ext */
@font-face {
font-family: 'Spectral';
font-style: normal;
font-weight: 600;
src: local('Spectral SemiBold'), local('Spectral-SemiBold'), url(https://fonts.gstatic.com/s/spectral/v5/rnCs-xNNww_2s0amA9vmtm3PafaPWnIIMrY.woff2) format('woff2');
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
font-display: fallback;
}
/* latin */
@font-face {
font-family: 'Spectral';
font-style: normal;
font-weight: 600;
src: local('Spectral SemiBold'), local('Spectral-SemiBold'), url(https://fonts.gstatic.com/s/spectral/v5/rnCs-xNNww_2s0amA9vmtm3BafaPWnII.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
font-display: fallback;
}
< / style >
< style > : root { --background_pop : #ffe682 ; --cover_bg_color : #FFFFFF ; --print_on_pop : #1a1a1a ; --border_subtle : rgba ( 204 , 204 , 204 , 0.5 ) ; --background_subtle : rgba ( 255 , 251 , 236 , 0.4 ) ; --print_pop : hsl ( 48 , 100 % , 40 % ) ; --cover_print_primary : #1a1a1a ; --cover_print_secondary : #757575 ; --cover_border_color : #ffe682 ; --web_bg_color : #ffffff ; --background_contrast_1 : #f7f7f7 ; --background_contrast_2 : #ebebeb ; --background_contrast_3 : #d6d6d6 ; --background_contrast_4 : #b8b8b8 ; --background_contrast_5 : #9a9a9a ; --background_contrast_pop : rgba ( 255 , 230 , 130 , 0.4 ) ; --input_background : #ffffff ; --cover_input_background : #ffffff ; --tooltip_background : #191919 ; --web_bg_color_h : 0 ; --web_bg_color_s : 0 % ; --web_bg_color_l : 100 % ; --print_on_web_bg_color : #1a1a1a ; --print_secondary_on_web_bg_color : #767676 ; --selected_comment_background_color : #fdf9f3 ; } < / style >
< link rel = "stylesheet" href = "https://cdn.substack.com/theme/main.css?v=2a08d8c428485d9536f44e001c9c892b" >
< style > < / style >
< meta property = "og:type" content = "article" data-preact-helmet = "true" > < meta property = "og:title" content = "Code Block Syntax Highlighting" data-preact-helmet = "true" > < meta property = "twitter:title" content = "Code Block Syntax Highlighting" data-preact-helmet = "true" > < meta name = "description" content = "Highlighted <code> in Omnivore" data-preact-helmet = "true" > < meta property = "og:description" content = "Highlighted <code> in Omnivore" data-preact-helmet = "true" > < meta property = "twitter:description" content = "Highlighted <code> in Omnivore" data-preact-helmet = "true" > < meta property = "og:image" content = "https://cdn.substack.com/image/fetch/w_1200,h_600,c_fill,f_jpg,q_auto:good,fl_progressive:steep,g_auto/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2ab1f7e8-2ca7-4011-8ccb-43d0b3bd244f_1490x2020.png" data-preact-helmet = "true" > < meta property = "twitter:image" content = "https://cdn.substack.com/image/fetch/w_1200,h_600,c_fill,f_jpg,q_auto:good,fl_progressive:steep,g_auto/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2ab1f7e8-2ca7-4011-8ccb-43d0b3bd244f_1490x2020.png" data-preact-helmet = "true" > < meta property = "twitter:card" content = "summary_large_image" data-preact-helmet = "true" > < / head >
< body >
2025-09-24 10:37:39 +00:00
< div id = "entry" > < div id = "main" class = "main typography use-theme-bg" > < iframe src = "https://substack.com/channel-frame" class = "channel-frame" width = "0" height = "0" > < / iframe > < div class = "main-menu animated" > < div class = "main-menu-content" style = "position: fixed;" > < div class = "topbar" > < div class = "container" > < div class = "large-menu-logo-container" style = "width: auto;" > < a href = "https://blog.omnivore.work" > < img src = "https://cdn.substack.com/image/fetch/w_96,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F052c15c4-ecfd-4d32-87db-13bcac9afad5_512x512.png" class = "large-menu-logo" > < / a > < / div > < h1 class = "large-menu-name left-align" > < a class = "large-menu-home-link" href = "https://blog.omnivore.work" > Omnivore< / a > < / h1 > < div class = "buttons notification-container" > < button class = "button outline" type = "button" tabindex = "0" > Dashboard< / button > < button class = "button homepage-nav-user-indicator small no-margin no-active-fade signed-in" type = "button" tabindex = "0" > < img class = "menu-trigger-image" src = "https://cdn.substack.com/image/fetch/w_80,h_80,c_fill,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack.com%2Fimg%2Favatars%2Fyellow.png" > < ul class = "dropdown-menu tooltip no-place" > < div class = "dropdown-menu-wrapper" > < li > < div class = "account-menu-header" > Account< / div > < / li > < li > < div class = "menu-scroll-container" > < a href = "https://substack.com/profile/start?utm_source=user-menu" class = "profile-header" > < img class = "header-user-image" src = "https://cdn.substack.com/image/fetch/w_80,h_80,c_fill,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack.com%2Fimg%2Favatars%2Fyellow.png" > < div class = "labels" > < div class = "h1" > welcome@omnivore.work< / div > < div class = "h2" > Set up your profile< / div > < / div > < / a > < hr > < a href = "/account?utm_source=user_menu?utm_source=user-menu" native = "true" class = "indicator-menu-item undefined" > < div title = "Omnivore" class = "pub-icon indicator-item-icon" > < img src = "https://cdn.substack.com/image/fetch/w_48,h_48,c_fill,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F052c15c4-ecfd-4d32-87db-13bcac9afad5_512x512.png" width = "24" height = "24" alt = "Omnivore" class = "custom" > < / div > Manage your subscription < / a > < hr > < a href = "https://substack.com/profile/start?utm_source=user-menu" native = "true" class = "indicator-menu-item undefined" > < svg role = "img" style = "height: 24px; width: 24px;" width = "24" height = "24" viewBox = "0 0 24 24" fill = "none" stroke-width = "1" stroke = "#555" xmlns = "http://www.w3.org/2000/svg" class = "indicator-item-icon" > < g > < title > < / title > < path d = "M20 21V19C20 17.9391 19.5786 16.9217 18.8284 16.1716C18.0783 15.4214 17.0609 15 16 15H8C6.93913 15 5.92172 15.4214 5.17157 16.1716C4.42143 16.9217 4 17.9391 4 19V21" stroke-width = "1.5" stroke-linecap = "round" stroke-linejoin = "round" > < / path > < path d = "M12 11C14.2091 11 16 9.20914 16 7C16 4.79086 14.2091 3 12 3C9.79086 3 8 4.79086 8 7C8 9.20914 9.79086 11 12 11Z" stroke-width = "1.5" stroke-linecap = "round" stroke-linejoin = "round" > < / path > < / g > < / svg > Profile < / a > < a href = "https://reader.substack.com?utm_source=user-menu" native = "true" class = "indicator-menu-item undefined" > < svg role = "img" style = "height: 24px; width: 24px;" width = "24" height = "24" viewBox = "0 0 24 24" fill = "none" stroke-width = "1" stroke = "#000" xmlns = "http://www.w3.org/2000/svg" class = "indicator-item-icon" > < g > < title > < / title > < path d = "M2 3H8C9.06087 3 10.0783 3.42143 10.8284 4.17157C11.5786 4.92172 12 5.93913 12 7V21C12 20.2044 11.6839 19.4413 11.1213 18.8787C10.5587 18.3161 9.79565 18 9 18H2V3Z" stroke = "#555" stroke-width = "1.5" stroke-linecap = "round" stroke-linejoin = "round" > < / path > < path d = "M22 3H16C14.9391 3 13.9217 3.42143 13.1716 4.17157C12.4214 4.92172 12 5.93913 12 7V21C12 20.2044 12.3161 19.4413 12.8787 18.8787C13.4413 18.3161 14.2044 18 15 18H22V3Z" stroke = "#555" stroke-width = "1.5" stroke-linecap = "round" stroke-linejoin = "round" > < / path > < / g > < / svg > Reader < / a > < hr > < a href = "https://substack.com/account/settings?utm_source=user-menu" native = "true" class = "indicator
2022-03-04 03:47:37 +00:00
< / div >
< script >
(function () {
var CLASS_NAME = 'balance-text';
var LINE_HEIGHT_OFFSET = 10;
var MAXIMUM_ERROR = 4;
balanceDocument();
window.balanceText = balanceText;
window.addEventListener('load', balanceDocument);
document.addEventListener('DOMContentLoaded', balanceDocument);
function balanceDocument() {
if (!document.getElementsByClassName) return;
var elems = document.getElementsByClassName(CLASS_NAME);
for (var i = 0; i < elems.length ; i + + ) {
balanceText(elems[i]);
}
}
function balanceText(elem) {
if (isMultipleLines(elem)) {
elem.style.maxWidth = '';
squeeze(elem, elem.clientHeight, 0, elem.clientWidth);
}
}
// Binary search for min width that doesnt require an extra line
function squeeze(elem, originalHeight, min, max) {
if (max - min < MAXIMUM_ERROR ) {
if (elem.clientHeight > originalHeight) {
elem.style.maxWidth = max + 'px';
} else {
elem.style.maxWidth = (elem.scrollWidth + 1) + 'px';
}
return;
}
if (min >= max) {
elem.style.maxWidth = max + 'px';
return;
}
var mid = (min + max) / 2;
elem.style.maxWidth = mid + 'px';
if (elem.clientHeight > originalHeight) {
squeeze(elem, originalHeight, mid, max);
} else {
squeeze(elem, originalHeight, min, mid);
}
}
function isMultipleLines(elem) {
// Save original text
var html = elem.innerHTML;
var words = elem.textContent.split(' ');
// Wrap the first word
var firstWord = document.createElement('span');
firstWord.id = 'element-first-word';
firstWord.textContent = words.shift();
elem.innerHTML = '';
elem.appendChild(firstWord);
elem.appendChild(document.createTextNode(' ' + words.join(' ')));
// Check the height of the first word
var firstWordHeight = document.getElementById('element-first-word').offsetHeight;
var elementHeight = elem.offsetHeight;
// Restore original text
elem.innerHTML = html;
// Check if the block is taller than the first word (ie multi-line)
return elementHeight - LINE_HEIGHT_OFFSET > firstWordHeight;
}
})();
< / script >
< script src = "https://js.sentry-cdn.com/c41771aeccbb43fbbffbc4755e65c9be.min.js" crossorigin = "anonymous" > < / script >
2025-09-24 10:37:39 +00:00
< script > w i n d o w . _ p r e l o a d s = { " i s E U " : f a l s e , " l a n g u a g e " : " e n " , " c o u n t r y " : " U S " , " b a s e _ u r l " : " h t t p s : / / b l o g . o m n i v o r e . w o r k " , " s t r i p e _ p u b l i s h a b l e _ k e y " : " p k _ l i v e _ v N n u G H O F n t 4 m M 7 V 9 P u C A A P J z " , " c a p t c h a _ s i t e _ k e y " : " 6 L d Y b s Y Z A A A A A I F I R h 8 X _ 1 6 G o F R L I R e h - e - q 6 q S a " , " p u b " : { " i d " : 5 0 9 2 6 8 , " n a m e " : " O m n i v o r e " , " t y p e " : " n e w s l e t t e r " , " h o m e p a g e _ t y p e " : " n e w s p a p e r " , " l o g o _ u r l " : " h t t p s : / / b u c k e t e e r - e 0 5 b b c 8 4 - b a a 3 - 4 3 7 e - 9 5 1 8 - a d b 3 2 b e 7 7 9 8 4 . s 3 . a m a z o n a w s . c o m / p u b l i c / i m a g e s / 0 5 2 c 1 5 c 4 - e c f d - 4 d 3 2 - 8 7 d b - 1 3 b c a c 9 a f a d 5 _ 5 1 2 x 5 1 2 . p n g " , " l o g o _ u r l _ w i d e " : n u l l , " c o v e r _ p h o t o _ u r l " : n u l l , " s u b d o m a i n " : " o m n i v o r e a p p " , " a u t h o r _ i d " : 4 9 6 6 9 3 9 6 , " c o p y r i g h t " : " O m n i v o r e " , " c u s t o m _ d o m a i n " : " b l o g . o m n i v o r e . w o r k " , " c u s t o m _ d o m a i n _ o p t i o n a l " : f a l s e , " e m a i l _ f r o m " : n u l l , " t r i a l _ e n d _ o v e r r i d e " : n u l l , " e m a i l _ f r o m _ n a m e " : " O m n i v o r e " , " s u p p o r t _ e m a i l " : n u l l , " h e r o _ i m a g e " : n u l l , " h e r o _ t e x t " : " U p d a t e s f r o m t h e O m n i v o r e t e a m " , " h i d e _ i n t r o _ t i t l e " : n u l l , " h i d e _ i n t r o _ s u b t i t l e " : n u l l , " r e q u i r e _ c l i c k t h r o u g h " : f a l s e , " t h e m e _ v a r _ b a c k g r o u n d _ p o p " : " # F F 9 9 0 0 " , " d e f a u l t _ c o u p o n " : n u l l , " c o m m u n i t y _ e n a b l e d " : t r u e , " t h e m e _ v a r _ c o v e r _ b g _ c o l o r " : n u l l , " f l a g g e d _ a s _ s p a m " : f a l s e , " t h e m e _ v a r _ c o l o r _ l i n k s " : f a l s e , " d e f a u l t _ g r o u p _ c o u p o n " : n u l l , " e m a i l _ b a n n e r _ u r l " : n u l l , " c r e a t e d _ a t " : " 2 0 2 1 - 1 0 - 0 1 T 0 2 : 4 9 : 4 1 . 8 2 9 Z " , " p o d c a s t _ e n a b l e d " : f a l s e , " p a g e _ e n a b l e d " : f a l s e , " a p p l e _ p a y _ d i s a b l e d " : f a l s e , " f b _ p i x e l _ i d " : n u l l , " g a _ p i x e l _ i d " : n u l l , " t w i t t e r _ p i x e l _ i d " : n u l l , " p a r s e l y _ p i x e l _ i d " : n u l l , " k e y w e e _ p i x e l _ i d " : n u l l , " p o d c a s t _ t i t l e " : n u l l , " p o d c a s t _ a r t _ u r l " : n u l l , " p o d c a s t _ f e e d _ u r l " : n u l l , " i m a g e _ t h u m b n a i l s _ a l w a y s _ e n a b l e d " : f a l s e , " h i d e _ p o d c a s t _ f e e d _ l i n k " : f a l s e , " p a y m e n t s _ s u r v e y _ s t a t u s " : n u l l , " f i r s t _ e n a b l e d _ p a y m e n t s _ a t " : n u l l , " e m b e d _ t r a c k i n g _ d i s a b l e d " : f a l s e , " m i n i m u m _ g r o u p _ s i z e " : 4 , " p a r e n t _ p u b l i c a t i o n _ i d " : n u l l , " b y l i n e s _ e n a b l e d " : t r u e , " b y l i n e _ i m a g e s _ e n a b l e d " : t r u e , " p o s t _ p r e v i e w _ l i m i t " : n u l l , " d e f a u l t _ w r i t e _ c o m m e n t _ p e r m i s s i o n s " : " n o n e " , " d e f a u l t _ p o s t _ p u b l i s h _ s e n d _ e m a i l " : t r u e , " g o o g l e _ s i t e _ v e r i f i c a t i o n _ t o k e n " : n u l l , " f b _ s i t e _ v e r i f i c a t i o n _ t o k e n " : n u l l , " g o o g l e _ t a g _ m a n a g e r _ t o k e n " : n u l l , " l a n g u a g e " : " e n " , " p a i d _ s u b s c r i p t i o n _ b e n e f i t s " : n u l l , " f r e e _ s u b s c r i p t i o n _ b e n e f i t s " : n u l l , " f o u n d i n g _ s u b s c r i p t i o n _ b e n e f i t s " : n u l l , " p a r e n t _ a b o u t _ p a g e _ e n a b l e d " : t r u e , " i n v i t e _ o n l y " : f a l s e , " s u b s c r i b e r _ i n v i t e s " : 0 , " d e f a u l t _ c o m m e n t _ s o r t " : " b e s t _ f i r s t " , " r s s _ w e b s i t e _ u r l " : n u l l , " r s s _ f e e d _ u r l " : n u l l , " s i b l i n g _ r a n k " : n u l l , " p a y m e n t s _ s t a t e " : " d i s a b l e d " , " b i t c o i n _ e n a b l e d " : f a l s e , " d e f a u l t _ s h o w _ g u e s t _ b i o s " : t r u e , " c h a r t a b l e _ t o k e n " : n u l l , " e x p o s e _ p a y w a l l _ c o n t e n t _ t o _ s e a r c h _ e n g i n e s " : t r u e , " p o d c a s t _ b y l i n e " : n u l l , " p a y w a l l _ f r e e _ t r i a l _ e n a b l e d " : f a l s e , " t h e m e " : { " p u b l i c a t i o n _ i d " : 5 0 9 2 6 8 , " b a c k g r o u n d _ p o p _ c o l o r " : " # f f e 6 8 2 " , " c o v e r _ b g _ c o l o r " : n u l l , " w e b _ b g _ c o l o r " : " # f f f f f f " , " c o l o r _ l i n k s " : n u l l , " f o n t _ p r e s e t _ h e a d i n g " : n u l l , " f o n t _ p r e s e t _ b o d y " : n u l l , " f o n t _ f a m i l y _ h e a d i n g s " : n u l l , " f o n t _ f a m i l y _ b o d y " : n u l l , " f o n t _ f a m i l y _ u i " : n u l l , " f o n t _ s i z e _ b o d y _ d e s k t o p " : n u l l , " p r i n t _ s e c o n d a r y " : n u l l , " c u s t o m _ c s s _ w e b " : n u l l , " c u s t o m _ c s s _ e m a i l " : n u l l } , " p l a n s " : n u l l , " s t r i p e _ u s e r _ i d " : n u l l , " s t r i p e _ c o u n t r y " : n u l l , " s t r i p e _ p u b l i s h a b l e _ k e y " : n u l l , " a u t h o r _ n a m e " : " O m n i v o r e " , " a u t h o r _ p h o t o _ u r l " : n u l l , " a u t h o r _ b i o " : " O m n i v o r e i s t h e h o m e f o r e v e r y t h i n g y o u r e a d ; a u t o m a t i c a l l y o r g a n i z e d a n d e a s y t o s h a r e " , " h a s _ c h i l d _ p u b l i c a t i o n s " : f a l s e , " p u b l i c _ u s e r _ c o u n t " : 1 , " h a s _ p o s t s " : t r u e , " f i r s t _ p o s t _ d a t e " : " 2 0 2 1 - 1 0 - 1 3 T 1 9 : 3 9 : 1 0 . 2 5 4 Z " , " h a s _ p o d c a s t " : f a l s e , " h a s _ s u b s c r i b e r _ o n l y _ p o d c a s t " : f a l s e , " h a s _ c o m m u n i t y _ c o n t e n t " : f a l s e , " r a n k i n g D e t a i l " : " L a u n c h e d 5 m o n t h s a g o " , " r a n k i n g D e t a i l F r e e I n c l u d e d " : " L a u n c h e d 5 m o n t h s a g o " , " t i e r " : 2 , " n o _ f o l l o w " : f a l s e , " n o _ i n d e x " : f a l s e , " c a n _ s e t _ g o o g l e _ s i t e _ v e r i f i c a t i o n " : t r u e , " c a n _ h a v e _ s i t e m a p " : t r u e , " d r a f t _ p l a n s " : n u l l , " b a s e _ u r l " : " h t t p s : / / b l o g . o m n i v o r e . w o r k " , " h o s t n a m e " : " b l o g . o m n i v o r e . w o r k " , " i s _ o n _ s u b s t a c k " : f a l s e , " p a r e n t _ p u b l i c a t i o n " : n u l l , " c h i l d _ p u b l i c a t i o n s " : [ ] , " s i b l i n g _ p u b l i c a t i o n s " : [ ] , " s e c t i o n s " : [ ] , " s u b s c r i b e C a r d V e r s i o n H a s h " : " e 0 3 a a f 5 c d 5 1 e 4 0 3 5 f 3 8 f 2 a a 6 2 1 f 6 a 2 9 c " } , " u s e r " : { " i d " : 4 9 6 6 9 3 9 6 , " n a m e " : " O m n i v o r e " , " e m a i l " : " w e l c o m e @ o m n i v o r e . w o r k " , " p h o t o _ u r l " : n u l l , " b i o " : " O m n i v o r e i s t h e h o m e f o r e v e r y t h i n g y o u r e a d ; a u t o m a t i c a l l y o r g a n i z e d a n d e a s y t o s h a r e " , " s u b s c r i p t i o n _ e x p i r y " : " 2 1 2 1 - 1 0 - 0 2 T 0 2 : 4 9 : 4 1 . 8 4 2 Z " , " s u b s c r i p t i o n _ t y p e " : n u l l , " s u b s c r i p t i o n _ i d " : 8 7 1 9 1 3 0 2 , " s t r i p e _ s u b s c r i p t i o n _ i d " : n u l l , " s t r i p e _ p l a t f o r m _ c u s t o m e r _ i d " : " c u s _ K K S W y x 1 j U e q i E M " , " a n o n y m o u s _ i d " : " 8 7 d 1 3 a 8 4 - a 2 f 3 - 4 6 7 e - 8 f 8 b - e a f 2 4 2 7 c 9 3 c f " , " s u b d o m a i n " : " o
< script > window . _analyticsConfig = { "user" : { "id" : 49669396 , "name" : "Omnivore" , "email" : "welcome@omnivore.work" } , "anonymousId" : "87d13a84-a2f3-467e-8f8b-eaf2427c93cf" , "properties" : { "subdomain" : "omnivoreapp" , "publication_id" : 509268 , "has_plans" : false , "pub_community_enabled" : true , "parent_publication_id" : null , "parent_publication_subdomain" : null , "is_parent_publication" : false , "section_name" : null , "section_slug" : null , "section_id" : null , "section_is_podcast" : null , "is_subscribed" : true , "is_free_subscribed" : true , "is_author" : true , "is_contributor" : true , "is_admin" : true , "country" : "US" , "language" : "en" } } < / script >
2022-03-04 03:47:37 +00:00
< script src = "https://cdn.substack.com/min/main.bundle.js?v=128b39-17f51edf680" charset = "utf-8" > < / script >
<!-- Fallback tracking pixels -->
< noscript >
< style >
#nojs-banner {
position: fixed;
bottom: 0;
left: 0;
padding: 16px 16px 16px 32px;
width: 100%;
box-sizing: border-box;
background: red;
color: white;
font-family: -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
font-size: 13px;
line-height: 13px;
}
#nojs-banner a {
color: inherit;
text-decoration: underline;
}
< / style >
< div id = "nojs-banner" >
This site requires JavaScript to run correctly. Please < a href = "https://enable-javascript.com/" target = "_blank" > turn on JavaScript< / a > or unblock scripts
< / div >
< / noscript >
2025-09-24 10:37:39 +00:00
< / body > < / html >