Skip to content

Commit

Permalink
move stategies to their folder
Browse files Browse the repository at this point in the history
  • Loading branch information
FranciscoMoretti committed Sep 7, 2024
1 parent 3bff2e7 commit 8c99e9a
Show file tree
Hide file tree
Showing 13 changed files with 26 additions and 29 deletions.
2 changes: 1 addition & 1 deletion packages/download-notion/src/getFileTreeMap.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import { NotionObjectResponse, NotionObjectTree } from "notion-downloader"

import { FilesManager } from "./FilesManager"
import { LayoutStrategy } from "./LayoutStrategy"
import { NotionImage } from "./NotionImage"
import { getNotionObject } from "./NotionObjectUtils"
import { LayoutStrategy } from "./layoutStrategy/LayoutStrategy"

export function getFileTreeMap(
currentPath: string,
Expand Down
2 changes: 1 addition & 1 deletion packages/download-notion/src/latex.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@ import { Client } from "@notionhq/client"
import { NotionToMarkdown } from "notion-to-md"
import { describe, expect, test } from "vitest"

import { HierarchicalLayoutStrategy } from "./HierarchicalLayoutStrategy"
import { NotionPageLegacy } from "./NotionPageLegacy"
import { IDocuNotionConfig } from "./config/configuration"
import defaultConfig from "./config/default.docunotion.config"
import { HierarchicalLayoutStrategy } from "./layoutStrategy/HierarchicalLayoutStrategy"
import { convertInternalUrl } from "./plugins/internalLinks"
import { IDocuNotionContext } from "./plugins/pluginTypes"
import { getMarkdownFromNotionBlocks } from "./transform"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import { LayoutStrategy } from "./LayoutStrategy"
import {
NamingStrategy,
NotionFileLikeObjects,
NotionFolderLikeObjects,
} from "./NamingStrategy"
} from "../namingStrategy/NamingStrategy"
import { LayoutStrategy } from "./LayoutStrategy"

// This strategy creates a flat list of files that have notion-id for file names.
// Pros: the urls will never change so long as the notion pages are not delete and re-recreated.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import { LayoutStrategy } from "./LayoutStrategy"
import { NotionPage } from "../NotionPage"
import {
NamingStrategy,
NotionFileLikeObjects,
NotionFolderLikeObjects,
} from "./NamingStrategy"
import { NotionPage } from "./NotionPage"
} from "../namingStrategy/NamingStrategy"
import { LayoutStrategy } from "./LayoutStrategy"

// This strategy gives us a file tree that mirrors that of notion.
// Each level in the outline becomes a directory, and each file bears the name of the Notion document.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import {
NotionFileLikeObjects,
NotionFolderLikeObjects,
} from "./NamingStrategy"
} from "../namingStrategy/NamingStrategy"

// Here a fuller name would be File Tree Layout Strategy. That is,
// as we walk the Notion outline and create files, where do we create them, what do we name them, etc.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { NotionImage } from "../NotionImage"
import { NamingStrategy, NotionFileLikeObjects } from "./NamingStrategy"
import { NotionImage } from "./NotionImage"

export class DefaultBlockNamingStrategy extends NamingStrategy {
private readonly getPageAncestorName: (image: NotionImage) => string
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { NotionImage } from "./../NotionImage"
import { findLastUuid, hashOfString } from "./../utils"
import { NamingStrategy } from "./NamingStrategy"
import { NotionImage } from "./NotionImage"
import { findLastUuid, hashOfString } from "./utils"

// Original behavior and comment:
// Since most images come from pasting screenshots, there isn't normally a filename. That's fine, we just make a hash of the url
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { NotionDatabase } from "./NotionDatabase"
import { NotionImage } from "./NotionImage"
import { NotionObject } from "./NotionObject"
import { NotionPage } from "./NotionPage"
import { NotionDatabase } from "./../NotionDatabase"
import { NotionImage } from "./../NotionImage"
import { NotionObject } from "./../NotionObject"
import { NotionPage } from "./../NotionPage"

export type NotionFileLikeObjects = NotionPage | NotionImage
export type NotionFolderLikeObjects = NotionPage | NotionDatabase
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { NotionImage } from "../NotionImage"
import { DefaultBlockNamingStrategy } from "./DefaultImageNamingStrategy"
import { LegacyImageNamingStrategy } from "./LegacyImageNamingStrategy"
import { NamingStrategy } from "./NamingStrategy"
import { NotionImage } from "./NotionImage"

export function getImageNamingStrategy(
format: "legacy" | "default" | "default-flat",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@
import { slug } from "github-slugger"
import sanitize from "sanitize-filename"

import { NotionDatabase } from "./../NotionDatabase"
import { NotionObject } from "./../NotionObject"
import { NotionPage } from "./../NotionPage"
import { NamingStrategy } from "./NamingStrategy"
import { NotionDatabase } from "./NotionDatabase"
import { NotionObject } from "./NotionObject"
import { NotionPage } from "./NotionPage"

export abstract class SlugNamingStrategy extends NamingStrategy {
public slugProperty: string
Expand Down
8 changes: 4 additions & 4 deletions packages/download-notion/src/notionPull.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,23 +8,23 @@ import { NotionToMarkdown } from "notion-to-md"
import { FilesCleaner } from "./FilesCleaner"
import { FilesManager, ObjectPrefixDict } from "./FilesManager"
import { FileType, FilesMap } from "./FilesMap"
import { FlatLayoutStrategy } from "./FlatLayoutStrategy"
import { HierarchicalLayoutStrategy } from "./HierarchicalLayoutStrategy"
import { NotionPage } from "./NotionPage"
import { IDocuNotionConfig, loadConfigAsync } from "./config/configuration"
import { NotionPullOptions } from "./config/schema"
import { fetchImages } from "./fetchImages"
import { filterTree } from "./filterTree"
import { getBlockChildren } from "./getBlockChildren"
import { getFileTreeMap } from "./getFileTreeMap"
import { getImageNamingStrategy } from "./getOutputImageFileName"
import { FlatLayoutStrategy } from "./layoutStrategy/FlatLayoutStrategy"
import { HierarchicalLayoutStrategy } from "./layoutStrategy/HierarchicalLayoutStrategy"
import { endGroup, error, group, info } from "./log"
import { getImageNamingStrategy } from "./namingStrategy/getImageNamingStrategy"
import {
GithubSlugNamingStrategy,
GuidNamingStrategy,
NotionSlugNamingStrategy,
TitleNamingStrategy,
} from "./namingStrategies"
} from "./namingStrategy/namingStrategies"
import { getAllObjectsInObjectsTree } from "./objects_utils"
import { removePathExtension } from "./pathUtils"
import { convertInternalUrl } from "./plugins/internalLinks"
Expand Down
5 changes: 1 addition & 4 deletions packages/download-notion/src/processImages.ts
Original file line number Diff line number Diff line change
@@ -1,21 +1,18 @@
import {
BlockObjectResponse,
DatabaseObjectResponse,
PageObjectResponse,
} from "@notionhq/client/build/src/api-endpoints"
import { NotionObjectTree } from "notion-downloader"

import { FilesManager, copyRecord } from "./FilesManager"
import { FilesMap } from "./FilesMap"
import { NamingStrategy } from "./NamingStrategy"
import { NotionDatabase } from "./NotionDatabase"
import {
DatabaseObjectResponseWithCover,
NotionImage,
PageObjectResponseWithCover,
} from "./NotionImage"
import { NotionPage } from "./NotionPage"
import { updateImageUrlToMarkdownImagePath } from "./imagesUtils"
import { NamingStrategy } from "./namingStrategy/NamingStrategy"

export async function readAndUpdateMetadata({
image,
Expand Down
4 changes: 2 additions & 2 deletions packages/download-notion/test/imageNamingStrategies.test.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import { hashOfBufferContent, hashOfString } from "@/src/utils"
import { beforeEach, describe, expect, it } from "vitest"

import { DefaultBlockNamingStrategy } from "../src/DefaultImageNamingStrategy"
import { LegacyImageNamingStrategy } from "../src/LegacyImageNamingStrategy"
import { NotionImage } from "../src/NotionImage"
import { DefaultBlockNamingStrategy } from "../src/namingStrategy/DefaultImageNamingStrategy"
import { LegacyImageNamingStrategy } from "../src/namingStrategy/LegacyImageNamingStrategy"

describe("Image Naming Strategies", () => {
const mockNotionImage = {
Expand Down

0 comments on commit 8c99e9a

Please sign in to comment.