├── .gitignore
├── vite.config.ts
├── src
├── main.tsx
├── hooks
│ ├── useCssColor.ts
│ ├── useSource.ts
│ ├── useKeyboardHandler.ts
│ ├── useContainer.tsx
│ ├── useSettings.tsx
│ ├── useCode.ts
│ ├── useTextSelectionHandler.ts
│ ├── useExport.ts
│ └── useArrowDrawing.tsx
├── components
│ ├── Footer.tsx
│ ├── ColorPicker.tsx
│ ├── MarkerRect.tsx
│ ├── Popover.tsx
│ ├── Export.tsx
│ ├── Code.tsx
│ ├── SelectionPopover.tsx
│ ├── CodeAnnotations.tsx
│ ├── ArrowLine.tsx
│ └── Controls.tsx
├── App.tsx
├── source.ts
├── types.ts
├── colors.ts
├── store.ts
├── util.ts
├── github.ts
├── undoable.ts
├── pages
│ ├── AnnotationPage.tsx
│ └── SourceSelectionPage.tsx
├── geometry.ts
├── reducer.ts
└── index.scss
├── netlify.toml
├── README.md
├── index.html
├── CODE_OF_CONDUCT.md
├── tsconfig.json
├── patches
└── html2canvas+1.2.1.patch
├── package.json
└── LICENSE
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | .DS_Store
3 | dist
4 | dist-ssr
5 | *.local
6 | .netlify
7 |
--------------------------------------------------------------------------------
/vite.config.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig } from 'vite'
2 | import reactRefresh from '@vitejs/plugin-react-refresh'
3 |
4 | // https://vitejs.dev/config/
5 | export default defineConfig({
6 | plugins: [reactRefresh()]
7 | })
8 |
--------------------------------------------------------------------------------
/src/main.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react'
2 | import ReactDOM from 'react-dom'
3 | import App from './App'
4 | import './index.scss'
5 |
6 | ReactDOM.render(
7 |
Something went wrong. Try again later
22 | )} 23 |
42 | {line}
43 |
44 |
61 | Please provide a permalink to a GitHub file.
76 | } 77 | case 'notGithubPermalink': { 78 | return ( 79 |81 | That's not a GitHub permalink. 82 |
83 |84 | You can get a permalink for a file on GitHub by pressing{' '} 85 | Y on your keyboard: 86 |
87 |