├── .eslintrc ├── .github └── workflows │ ├── codeql-copy.yml │ └── codeql.yml ├── .gitignore ├── .nycrc ├── LICENSE ├── README.md ├── examples ├── ExamplePdf-2.pdf ├── ExamplePdf.pages └── ExamplePdf.pdf ├── lib ├── models │ ├── Annotation.js │ ├── HeadlineFinder.js │ ├── LineConverter.js │ ├── LineItem.js │ ├── LineItemBlock.js │ ├── Metadata.js │ ├── Page.js │ ├── PageItem.js │ ├── ParseResult.js │ ├── ParsedElements.js │ ├── StashingStream.js │ ├── TextItem.js │ ├── TextItemLineGrouper.js │ ├── Word.js │ ├── markdown │ │ ├── BlockType.js │ │ ├── WordFormat.js │ │ └── WordType.js │ └── transformations │ │ ├── ToLineItemBlockTransformation.js │ │ ├── ToLineItemTransformation.js │ │ ├── ToMarkdown.js │ │ ├── ToTextBlocks.js │ │ ├── ToTextItemTransformation.js │ │ ├── Transformation.js │ │ ├── line-item-block │ │ ├── DetectCodeQuoteBlocks.js │ │ ├── DetectListLevels.js │ │ └── GatherBlocks.js │ │ ├── line-item │ │ ├── CompactLines.js │ │ ├── DetectHeaders.js │ │ ├── DetectListItems.js │ │ ├── DetectTOC.js │ │ ├── RemoveRepetitiveElements.js │ │ └── VerticalToHorizontal.js │ │ └── text-item │ │ └── CalculateGlobalStats.js ├── pdf2md-cli.js ├── pdf2md.js └── util │ ├── cli.js │ ├── page-item-functions.js │ ├── page-number-functions.js │ ├── pdf.js │ ├── string-functions.js │ └── transformations.js ├── package.json ├── test ├── convert.spec.js ├── models │ ├── HeadlineFinder.spec.js │ └── StashingStream.spec.js └── util │ ├── cli.spec.js │ ├── page-number-functions.spec.js │ └── string-functions.spec.js └── types └── pdf2md.d.ts /.eslintrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengovsg/pdf2md/HEAD/.eslintrc -------------------------------------------------------------------------------- /.github/workflows/codeql-copy.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengovsg/pdf2md/HEAD/.github/workflows/codeql-copy.yml -------------------------------------------------------------------------------- /.github/workflows/codeql.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengovsg/pdf2md/HEAD/.github/workflows/codeql.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengovsg/pdf2md/HEAD/.gitignore -------------------------------------------------------------------------------- /.nycrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengovsg/pdf2md/HEAD/.nycrc -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengovsg/pdf2md/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengovsg/pdf2md/HEAD/README.md -------------------------------------------------------------------------------- /examples/ExamplePdf-2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengovsg/pdf2md/HEAD/examples/ExamplePdf-2.pdf -------------------------------------------------------------------------------- /examples/ExamplePdf.pages: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengovsg/pdf2md/HEAD/examples/ExamplePdf.pages -------------------------------------------------------------------------------- /examples/ExamplePdf.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengovsg/pdf2md/HEAD/examples/ExamplePdf.pdf -------------------------------------------------------------------------------- /lib/models/Annotation.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengovsg/pdf2md/HEAD/lib/models/Annotation.js -------------------------------------------------------------------------------- /lib/models/HeadlineFinder.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengovsg/pdf2md/HEAD/lib/models/HeadlineFinder.js -------------------------------------------------------------------------------- /lib/models/LineConverter.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengovsg/pdf2md/HEAD/lib/models/LineConverter.js -------------------------------------------------------------------------------- /lib/models/LineItem.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengovsg/pdf2md/HEAD/lib/models/LineItem.js -------------------------------------------------------------------------------- /lib/models/LineItemBlock.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengovsg/pdf2md/HEAD/lib/models/LineItemBlock.js -------------------------------------------------------------------------------- /lib/models/Metadata.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengovsg/pdf2md/HEAD/lib/models/Metadata.js -------------------------------------------------------------------------------- /lib/models/Page.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengovsg/pdf2md/HEAD/lib/models/Page.js -------------------------------------------------------------------------------- /lib/models/PageItem.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengovsg/pdf2md/HEAD/lib/models/PageItem.js -------------------------------------------------------------------------------- /lib/models/ParseResult.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengovsg/pdf2md/HEAD/lib/models/ParseResult.js -------------------------------------------------------------------------------- /lib/models/ParsedElements.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengovsg/pdf2md/HEAD/lib/models/ParsedElements.js -------------------------------------------------------------------------------- /lib/models/StashingStream.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengovsg/pdf2md/HEAD/lib/models/StashingStream.js -------------------------------------------------------------------------------- /lib/models/TextItem.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengovsg/pdf2md/HEAD/lib/models/TextItem.js -------------------------------------------------------------------------------- /lib/models/TextItemLineGrouper.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengovsg/pdf2md/HEAD/lib/models/TextItemLineGrouper.js -------------------------------------------------------------------------------- /lib/models/Word.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengovsg/pdf2md/HEAD/lib/models/Word.js -------------------------------------------------------------------------------- /lib/models/markdown/BlockType.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengovsg/pdf2md/HEAD/lib/models/markdown/BlockType.js -------------------------------------------------------------------------------- /lib/models/markdown/WordFormat.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengovsg/pdf2md/HEAD/lib/models/markdown/WordFormat.js -------------------------------------------------------------------------------- /lib/models/markdown/WordType.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengovsg/pdf2md/HEAD/lib/models/markdown/WordType.js -------------------------------------------------------------------------------- /lib/models/transformations/ToLineItemBlockTransformation.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengovsg/pdf2md/HEAD/lib/models/transformations/ToLineItemBlockTransformation.js -------------------------------------------------------------------------------- /lib/models/transformations/ToLineItemTransformation.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengovsg/pdf2md/HEAD/lib/models/transformations/ToLineItemTransformation.js -------------------------------------------------------------------------------- /lib/models/transformations/ToMarkdown.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengovsg/pdf2md/HEAD/lib/models/transformations/ToMarkdown.js -------------------------------------------------------------------------------- /lib/models/transformations/ToTextBlocks.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengovsg/pdf2md/HEAD/lib/models/transformations/ToTextBlocks.js -------------------------------------------------------------------------------- /lib/models/transformations/ToTextItemTransformation.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengovsg/pdf2md/HEAD/lib/models/transformations/ToTextItemTransformation.js -------------------------------------------------------------------------------- /lib/models/transformations/Transformation.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengovsg/pdf2md/HEAD/lib/models/transformations/Transformation.js -------------------------------------------------------------------------------- /lib/models/transformations/line-item-block/DetectCodeQuoteBlocks.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengovsg/pdf2md/HEAD/lib/models/transformations/line-item-block/DetectCodeQuoteBlocks.js -------------------------------------------------------------------------------- /lib/models/transformations/line-item-block/DetectListLevels.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengovsg/pdf2md/HEAD/lib/models/transformations/line-item-block/DetectListLevels.js -------------------------------------------------------------------------------- /lib/models/transformations/line-item-block/GatherBlocks.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengovsg/pdf2md/HEAD/lib/models/transformations/line-item-block/GatherBlocks.js -------------------------------------------------------------------------------- /lib/models/transformations/line-item/CompactLines.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengovsg/pdf2md/HEAD/lib/models/transformations/line-item/CompactLines.js -------------------------------------------------------------------------------- /lib/models/transformations/line-item/DetectHeaders.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengovsg/pdf2md/HEAD/lib/models/transformations/line-item/DetectHeaders.js -------------------------------------------------------------------------------- /lib/models/transformations/line-item/DetectListItems.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengovsg/pdf2md/HEAD/lib/models/transformations/line-item/DetectListItems.js -------------------------------------------------------------------------------- /lib/models/transformations/line-item/DetectTOC.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengovsg/pdf2md/HEAD/lib/models/transformations/line-item/DetectTOC.js -------------------------------------------------------------------------------- /lib/models/transformations/line-item/RemoveRepetitiveElements.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengovsg/pdf2md/HEAD/lib/models/transformations/line-item/RemoveRepetitiveElements.js -------------------------------------------------------------------------------- /lib/models/transformations/line-item/VerticalToHorizontal.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengovsg/pdf2md/HEAD/lib/models/transformations/line-item/VerticalToHorizontal.js -------------------------------------------------------------------------------- /lib/models/transformations/text-item/CalculateGlobalStats.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengovsg/pdf2md/HEAD/lib/models/transformations/text-item/CalculateGlobalStats.js -------------------------------------------------------------------------------- /lib/pdf2md-cli.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengovsg/pdf2md/HEAD/lib/pdf2md-cli.js -------------------------------------------------------------------------------- /lib/pdf2md.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengovsg/pdf2md/HEAD/lib/pdf2md.js -------------------------------------------------------------------------------- /lib/util/cli.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengovsg/pdf2md/HEAD/lib/util/cli.js -------------------------------------------------------------------------------- /lib/util/page-item-functions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengovsg/pdf2md/HEAD/lib/util/page-item-functions.js -------------------------------------------------------------------------------- /lib/util/page-number-functions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengovsg/pdf2md/HEAD/lib/util/page-number-functions.js -------------------------------------------------------------------------------- /lib/util/pdf.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengovsg/pdf2md/HEAD/lib/util/pdf.js -------------------------------------------------------------------------------- /lib/util/string-functions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengovsg/pdf2md/HEAD/lib/util/string-functions.js -------------------------------------------------------------------------------- /lib/util/transformations.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengovsg/pdf2md/HEAD/lib/util/transformations.js -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengovsg/pdf2md/HEAD/package.json -------------------------------------------------------------------------------- /test/convert.spec.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengovsg/pdf2md/HEAD/test/convert.spec.js -------------------------------------------------------------------------------- /test/models/HeadlineFinder.spec.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengovsg/pdf2md/HEAD/test/models/HeadlineFinder.spec.js -------------------------------------------------------------------------------- /test/models/StashingStream.spec.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengovsg/pdf2md/HEAD/test/models/StashingStream.spec.js -------------------------------------------------------------------------------- /test/util/cli.spec.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengovsg/pdf2md/HEAD/test/util/cli.spec.js -------------------------------------------------------------------------------- /test/util/page-number-functions.spec.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengovsg/pdf2md/HEAD/test/util/page-number-functions.spec.js -------------------------------------------------------------------------------- /test/util/string-functions.spec.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengovsg/pdf2md/HEAD/test/util/string-functions.spec.js -------------------------------------------------------------------------------- /types/pdf2md.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opengovsg/pdf2md/HEAD/types/pdf2md.d.ts --------------------------------------------------------------------------------