https://codehike.org/ Code Hike Not just a syntax highlighter. Write with MDX some.mdx Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Praesent elementum facilisis leo vel fringilla est ullamcorper eget. At imperdiet dui accumsan sit amet nulla facilities morbi tempus. Praesent elementum facilisis leo vel fringilla. Congue mauris rhoncus aenean vel. Egestas sed tempus urna et pharetra pharetra massa massa ultricies. ## Basic syntax highlighting ```js function lorem(ipsum, dolor) { const sit = "lorem ipsum" dolor = elit(dolor, 3) while (++consectetur < amet) { sit.eiusmod("dolor sit amet") tempor(ipsum, adipiscing) } } ``` Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Praesent elementum facilisis leo vel fringilla est ullamcorper eget. At imperdiet dui accumsan sit amet nulla facilities morbi tempus. Praesent elementum facilisis leo vel fringilla. Congue mauris rhoncus aenean vel. Egestas sed tempus urna et pharetra pharetra massa massa ultricies. ## Focusing parts of the code ```js focus=2,4[9:30],6 function lorem(ipsum, dolor) { const sit = "lorem ipsum" dolor = elit(dolor, 3) while (++consectetur < amet) { sit.eiusmod("dolor sit amet") tempor(ipsum, adipiscing) } } ``` Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Praesent elementum facilisis leo vel fringilla est ullamcorper eget. At imperdiet dui accumsan sit amet nulla facilities morbi tempus. Praesent elementum facilisis leo vel fringilla. Congue mauris rhoncus aenean vel. Egestas sed tempus urna et pharetra pharetra massa massa ultricies. ## Multiple files together ```js index.js function lorem(ipsum, dolor) { const sit = ipsum - amet(dolor) return sit + "lorem ipsum" } ``` --- ```css styles.css .lorem-ipsum > .dolor pre { background-color: var(--color-bg); padding: 1em 0px 10vh 300px; } ``` Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Praesent elementum facilisis leo vel fringilla est ullamcorper eget. At imperdiet dui accumsan sit amet nulla facilities morbi tempus. Praesent elementum facilisis leo vel fringilla. Congue mauris rhoncus aenean vel. Egestas sed tempus urna et pharetra pharetra massa massa ultricies. ## Annotations ```js bg=2:3 box=5[9:15] function lorem(ipsum, dolor) { const sit = "lorem ipsum" dolor = elit(dolor, 3) while (++consectetur < amet) { sit.eiusmod("dolor sit amet") tempor(ipsum, adipiscing) } } ``` Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Praesent elementum facilisis leo vel fringilla est ullamcorper eget. At imperdiet dui accumsan sit amet nulla facilities morbi tempus. Praesent elementum facilisis leo vel fringilla. Congue mauris rhoncus aenean vel. Egestas sed tempus urna et pharetra pharetra massa massa ultricies. ## And more annotations ```js function lorem(ipsum, dolor) { const sit = "lorem ipsum" dolor = elit(dolor, 3) // link[12:22] http://codehike.org while (++consectetur < amet) { tempor(ipsum, adipiscing) // label lorem ipsum dolor sit.eiusmod("hover me") } } ``` Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Praesent elementum facilisis leo vel fringilla est ullamcorper eget. At imperdiet dui accumsan sit amet nulla facilities morbi tempus. Praesent elementum facilisis leo vel fringilla. Congue mauris rhoncus aenean vel. Egestas sed tempus urna et pharetra pharetra massa massa ultricies. ## And even custom annotations import MyThing from "./MyThing" ```js function lorem(ipsum, dolor) { const sit = "lorem ipsum" dolor = elit(dolor, 3) while (++consectetur < amet) { sit.eiusmod("dolor sit amet") tempor(ipsum, adipiscing) } } ``` Lorem **ipsum** dolor sit: [amet](#) Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Praesent elementum facilisis leo vel fringilla est ullamcorper eget. At imperdiet dui accumsan sit amet nulla facilities morbi tempus. Praesent elementum facilisis leo vel fringilla. Congue mauris rhoncus aenean vel. Egestas sed tempus urna et pharetra pharetra massa massa ultricies. ## Code links Lorem ipsum [loop](focus://4:7) sit. ```js function lorem(ipsum, dolor) { const sit = "lorem ipsum" dolor = elit(dolor, 3) while (++consectetur < amet) { sit.eiusmod("dolor sit amet") tempor(ipsum, adipiscing) } } ``` Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Praesent elementum facilisis leo vel fringilla est ullamcorper eget. At imperdiet dui accumsan sit amet nulla facilities morbi tempus. Praesent elementum facilisis leo vel fringilla. Congue mauris rhoncus aenean vel. Egestas sed tempus urna et pharetra pharetra massa massa ultricies. # Spotlight ```js app.js function lorem(ipsum, dolor) { const sit = "lorem ipsum" dolor = elit(dolor, 3) while (++consectetur < amet) { // TODO } } ``` --- Change focus ```js app.js focus=4:6 ``` --- Or change the code ```js app.js focus=4:7 function lorem(ipsum, dolor) { const sit = "lorem ipsum" dolor = elit(dolor, 3) while (++consectetur < amet) { sit.eiusmod("dolor sit amet") tempor(ipsum, adipiscing) } } ``` --- Or change the file ```js app.js focus=4:6 ``` --- ```css styles.css .lorem-ipsum > .dolor pre { padding: 1em 0px 10vh 300px; } ``` --- Lorem ipsum ```js app.js ``` Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Praesent elementum facilisis leo vel fringilla est ullamcorper eget. At imperdiet dui accumsan sit amet nulla facilities morbi tempus. Praesent elementum facilisis leo vel fringilla. Congue mauris rhoncus aenean vel. Egestas sed tempus urna et pharetra pharetra massa massa ultricies. ## Scrollycoding ### Step 1 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Praesent elementum facilisis leo vel fringilla est ullamcorper eget. At imperdiet dui accumsan sit amet nulla facilities morbi tempus. Praesent elementum facilisis leo vel fringilla. Congue mauris rhoncus aenean vel. Egestas sed tempus urna et pharetra pharetra massa massa ultricies. ```jsx app.js focus=3:9 import Circle from "./circle" const red = "hsl(0 85% 60%)" export default function App() { return (
) } ``` --- ### Step 2 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Praesent elementum facilisis leo vel fringilla est ullamcorper eget. ```jsx app.js focus=5:9 import Circle from "./circle" const red = "hsl(0 85% 60%)" export default function App() { return (
) } ``` --- ### Step 3 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Praesent elementum facilisis leo vel fringilla est ullamcorper eget. ```jsx app.js focus=2,6:8 ``` --- ### Step 4 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Praesent elementum facilisis leo vel fringilla est ullamcorper eget. At imperdiet dui accumsan sit amet nulla facilities morbi tempus. Praesent elementum facilisis leo vel fringilla. Congue mauris rhoncus aenean vel. Egestas sed tempus urna et pharetra pharetra massa massa ultricies. ```jsx app.js focus=8:10 import Circle from "./circle" const red = "hsl(0 85% 60%)" const blue = "hsl(240 50% 60%)" const gold = "hsl(60 60% 60%)" export default function App() { return (
) } ```
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Praesent elementum facilisis leo vel fringilla est ullamcorper eget. At imperdiet dui accumsan sit amet nulla facilities morbi tempus. Praesent elementum facilisis leo vel fringilla. Congue mauris rhoncus aenean vel. Egestas sed tempus urna et pharetra pharetra massa massa ultricies. Show with React [ ] Build first-class code walkthroughs for the web. Whether you are writing blog posts, documentation, tutorials, coding videos, or any type of technical content, Code Hike helps you create a superior code reading experience. Guillermo Rauch Guillermo RauchVercel CEO This looks like the future of documentation Tomasz Lakomy Tomasz LakomyEgghead instructor This is one of the most impressive tools for teaching I've seen in quite some time Cassie Evans Cassie EvansSVG magician This would definitely raise the bar on the formatting of technical content Get started There isn't a stable version yet, but there's a preview version for people who want to try it out and give feedback. You can use it in any project that has MDX v2 configured by following the instructions on how to set it up. Or you can clone this starter project. There are no docs yet, but you can explore the demos for an overview of all the features and how to use them. Don't hestitate to ask for help. Demos Code and focusFilenames and tabsAnnotationsComment annotationsCustom annotationsCode linksSpotlightSpotlight & previewScrollycoding Scrollycoding & preview Everyone can see all the demos, but only sponsors can see the code for demos marked with . Locked demos are unlocked for everyone after being sponsored by five sponsors. Sponsors * [69631] Facebook Open Source facebookMenlo Park, California * [242119] Fran Mendez fmvilasSpain * [6963520] Matthias Zepper MatthiasZepperGermany * [19754257] Cassie Evans cassieevansBrighton * [116461] Jonathan Carter lostintangentSeattle, WA * [42671] Varun Vachhar winkerVSbecksToronto * [81371] Nicolas Berger nbergerBay Area, CA * [76307] Davo Galavotti davoNew York, NY * [1016190] Bobby Dresser bdresserUnited States * [8620144] Josep M Sobrepere josepotBarcelona * [59406945] ui.dev uidotdev * [58904235] CodeCrafters codecrafters-ioUnited Kingdom * [20285232] Guido Curcio guicurcioBuenos Aires * [6764957] swyx sw-yxSeattle * [73602268] c0d3t3k c0d3t3kPonte Vedra Beach * [962099] Stefan Judis stefanjudisBerlin * [9745039] Rochez Benjamin BenjaminRochezBelgium * [22930449] Rich Haines moleboxOrnskoldsvik, Sverige Sponsor on GitHubSponsor on Open Collective