10000 leetcode-notion-automation/README.md at main · msn2106/leetcode-notion-automation · GitHub
[go: up one dir, main page]

Skip to content
{"payload":{"allShortcutsEnabled":false,"fileTree":{"":{"items":[{"name":".github","path":".github","contentType":"directory"},{"name":".gitignore","path":".gitignore","contentType":"file"},{"name":"README.md","path":"README.md","contentType":"file"},{"name":"config.json","path":"config.json","contentType":"file"},{"name":"index.js","path":"index.js","contentType":"file"},{"name":"leetcode.js","path":"leetcode.js","contentType":"file"},{"name":"notion.js","path":"notion.js","contentType":"file"},{"name":"package-lock.json","path":"package-lock.json","contentType":"file"},{"name":"package.json","path":"package.json","contentType":"file"}],"totalCount":9}},"fileTreeProcessingTime":9.819970000000001,"foldersToFetch":[],"incompleteFileTree":false,"repo":{"id":893519173,"defaultBranch":"main","name":"leetcode-notion-automation","ownerLogin":"msn2106","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2024-11-24T16:48:05.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/56197385?v=4","public":true,"private":false,"isOrgOwned":false},"codeLineWrapEnabled":false,"symbolsExpanded":false,"treeExpanded":true,"refInfo":{"name":"main","listCacheKey":"v0:1732466886.373734","canEdit":false,"refType":"branch","currentOid":"e54e96fa2c909e8325bd51b167f8b461374909e9"},"path":"README.md","currentUser":null,"blob":{"rawLines":null,"stylingDirectives":null,"colorizedLines":null,"csv":null,"csvError":null,"dependabotInfo":{"showConfigurationBanner":false,"configFilePath":null,"networkDependabotPath":"/msn2106/leetcode-notion-automation/network/updates","dismissConfigurationNoticePath":"/settings/dismiss-notice/dependabot_configuration_notice","configurationNoticeDismissed":null},"displayName":"README.md","displayUrl":"https://github.com/msn2106/leetcode-notion-automation/blob/main/README.md?raw=true","headerInfo":{"blobSize":"5.21 KB","deleteTooltip":"You must be signed in to make or propose changes","editTooltip":"You must be signed in to make or propose changes","ghDesktopPath":"https://desktop.github.com","isGitLfs":false,"onBranch":true,"shortPath":"f53bb09","siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2Fmsn2106%2Fleetcode-notion-automation%2Fblob%2Fmain%2FREADME.md","isCSV":false,"isRichtext":true,"toc":[{"level":1,"text":"LeetCode Notion Automation","anchor":"leetcode-notion-automation","htmlText":"LeetCode Notion Automation"},{"level":2,"text":"Overview","anchor":"overview","htmlText":"Overview"},{"level":2,"text":"Features","anchor":"features","htmlText":"Features"},{"level":2,"text":"Prerequisites","anchor":"prerequisites","htmlText":"Prerequisites"},{"level":2,"text":"Getting Started","anchor":"getting-started","htmlText":"Getting Started"},{"level":3,"text":"1. Clone the Repository","anchor":"1-clone-the-repository","htmlText":"1. Clone the Repository"},{"level":3,"text":"2. Install Dependencies","anchor":"2-install-dependencies","htmlText":"2. Install Dependencies"},{"level":3,"text":"3. Configure Your Credentials","anchor":"3-configure-your-credentials","htmlText":"3. Configure Your Credentials"},{"level":3,"text":"4. Set Up Notion Integration","anchor":"4-set-up-notion-integration","htmlText":"4. Set Up Notion Integration"},{"level":3,"text":"5. Testing the Script Locally","anchor":"5-testing-the-script-locally","htmlText":"5. Testing the Script Locally"},{"level":3,"text":"6. Set Up GitHub Actions for Daily Automation","anchor":"6-set-up-github-actions-for-daily-automation","htmlText":"6. Set Up GitHub Actions for Daily Automation"},{"level":3,"text":"7. Configure the GitHub Actions Workflow","anchor":"7-configure-the-github-actions-workflow","htmlText":"7. Configure the GitHub Actions Workflow"},{"level":3,"text":"8. Commit and Push Your Changes","anchor":"8-commit-and-push-your-changes","htmlText":"8. Commit and Push Your Changes"},{"level":3,"text":"9. Usage","anchor":"9-usage","htmlText":"9. Usage"},{"level":3,"text":"10. Contributing","anchor":"10-contributing","htmlText":"10. Contributing"},{"level":4,"text":"Contributing Contributions are welcome! If you would like to contribute to this project, please follow these steps:","anchor":"contributing-contributions-are-welcome-if-you-would-like-to-contribute-to-this-project-please-follow-these-steps","htmlText":"Contributing Contributions are welcome! If you would like to contribute to this project, please follow these steps:"},{"level":3,"text":"11. License","anchor":"11-license","htmlText":"11. License"},{"level":3,"text":"12. Acknowledgments","anchor":"12-acknowledgments","htmlText":"12. Acknowledgments"},{"level":3,"text":"13. Contact","anchor":"13-contact","htmlText":"13. Contact"}],"lineInfo":{"truncatedLoc":"123","truncatedSloc":"102"},"mode":"file"},"image":false,"isCodeownersFile":null,"isPlain":false,"isValidLegacyIssueTemplate":false,"issueTemplate":null,"discussionTemplate":null,"language":"Markdown","languageID":222,"large":false,"planSupportInfo":{"repoIsFork":null,"repoOwnedByCurrentUser":null,"requestFullPath":"/msn2106/leetcode-notion-automation/blob/main/README.md","showFreeOrgGatedFeatureMessage":null,"showPlanSupportBanner":null,"upgradeDataAttributes":null,"upgradePath":null},"publishBannersInfo":{"dismissActionNoticePath":"/settings/dismiss-notice/publish_action_from_dockerfile","releasePath":"/msn2106/leetcode-notion-automation/releases/new?marketplace=true","showPublishActionBanner":false},"rawBlobUrl":"https://github.com/msn2106/leetcode-notion-automation/raw/refs/heads/main/README.md","renderImageOrRaw":false,"richText":"\u003carticle class=\"markdown-body entry-content container-lg\" itemprop=\"text\"\u003e\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eLeetCode Notion Automation\u003c/h1\u003e\u003ca id=\"user-content-leetcode-notion-automation\" class=\"anchor\" aria-label=\"Permalink: LeetCode Notion Automation\" href=\"#leetcode-notion-automation\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eOverview\u003c/h2\u003e\u003ca id=\"user-content-overview\" class=\"anchor\" aria-label=\"Permalink: Overview\" href=\"#overview\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eThe \u003cstrong\u003eLeetCode Notion Automation\u003c/strong\u003e project automates the process of adding LeetCode submissions to a Notion database. It fetches the accepted submissions of a specified user from LeetCode using the public GraphQL API, filters the submissions for the current day, and adds them to a Notion database.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFeatures\u003c/h2\u003e\u003ca id=\"user-content-features\" class=\"anchor\" aria-label=\"Permalink: Features\" href=\"#features\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAutomatically fetches accepted submissions from LeetCode.\u003c/li\u003e\n\u003cli\u003eFilters submissions for the current day.\u003c/li\u003e\n\u003cli\u003eAdds submissions to a Notion database.\u003c/li\u003e\n\u003cli\u003eScheduled to run daily at 23:30 UTC using GitHub Actions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003ePrerequisites\u003c/h2\u003e\u003ca id=\"user-content-prerequisites\" class=\"anchor\" aria-label=\"Permalink: Prerequisites\" href=\"#prerequisites\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003cstrong\u003eNode.js\u003c/strong\u003e: Ensure you have Node.js (version 16 or above) installed on your machine.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eGit\u003c/strong\u003e: Ensure you have Git installed for cloning the repository.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eNotion Account\u003c/strong\u003e: Create a Notion account if you don’t have one.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eLeetCode Account\u003c/strong\u003e: Create a LeetCode account if you don’t have one.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eGetting Started\u003c/h2\u003e\u003ca id=\"user-content-getting-started\" class=\"anchor\" aria-label=\"Permalink: Getting Started\" href=\"#getting-started\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e1. Clone the Repository\u003c/h3\u003e\u003ca id=\"user-content-1-clone-the-repository\" class=\"anchor\" aria-label=\"Permalink: 1. Clone the Repository\" href=\"#1-clone-the-repository\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"git clone https://github.com/msn2106/leetcode-notion-automation.git\ncd leetcode-notion-automation\"\u003e\u003cpre\u003egit clone https://github.com/msn2106/leetcode-notion-automation.git\n\u003cspan class=\"pl-c1\"\u003ecd\u003c/span\u003e leetcode-notion-automation\u003c/pre\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e2. Install Dependencies\u003c/h3\u003e\u003ca id=\"user-content-2-install-dependencies\" class=\"anchor\" aria-label=\"Permalink: 2. Install Dependencies\" href=\"#2-install-dependencies\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eRun the following command to install the required dependencies:\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"npm install\"\u003e\u003cpre\u003enpm install\u003c/pre\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e3. Configure Your Credentials\u003c/h3\u003e\u003ca id=\"user-content-3-configure-your-credentials\" class=\"anchor\" aria-label=\"Permalink: 3. Configure Your Credentials\" href=\"#3-configure-your-credentials\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eCreate a config.json file in the root directory of the project with the following structure:\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-json notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"{\n \u0026quot;leetcodeUsername\u0026quot;: \u0026quot;your_leetcode_username\u0026quot;,\n \u0026quot;notionApiKey\u0026quot;: \u0026quot;your_notion_integration_token\u0026quot;,\n \u0026quot;NOTION_DATABASE_NAME\u0026quot;: \u0026quot;LeetCode Problems\u0026quot;,\n \u0026quot;notionParentPageId\u0026quot;: \u0026quot;your_notion_parent_page_id\u0026quot;\n}\"\u003e\u003cpre\u003e{\n \u003cspan class=\"pl-ent\"\u003e\"leetcodeUsername\"\u003c/span\u003e: \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003eyour_leetcode_username\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e,\n \u003cspan class=\"pl-ent\"\u003e\"notionApiKey\"\u003c/span\u003e: \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003eyour_notion_integration_token\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e,\n \u003cspan class=\"pl-ent\"\u003e\"NOTION_DATABASE_NAME\"\u003c/span\u003e: \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003eLeetCode Problems\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e,\n \u003cspan class=\"pl-ent\"\u003e\"notionParentPageId\"\u003c/span\u003e: \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003eyour_notion_parent_page_id\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e\n}\u003c/pre\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eleetcodeUsername: Your LeetCode username.\u003c/li\u003e\n\u003cli\u003enotionApiKey: Your Notion integration token. You can create an integration in Notion and get the token from there.\u003c/li\u003e\n\u003cli\u003eNOTION_DATABASE_NAME: The name of the database where submissions will be added.\u003c/li\u003e\n\u003cli\u003enotionParentPageId: (Optional) The ID of the parent page where the database will be created.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e4. Set Up Notion Integration\u003c/h3\u003e\u003ca id=\"user-content-4-set-up-notion-integration\" class=\"anchor\" aria-label=\"Permalink: 4. Set Up Notion Integration\" href=\"#4-set-up-notion-integration\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eGo to your Notion workspace.\nCreate a new integration from Notion Integrations.\nCopy the integration token and paste it into the notionApiKey field in config.json.\nShare the database with the integration by going to the database settings and inviting the integration.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e5. Testing the Script Locally\u003c/h3\u003e\u003ca id=\"user-content-5-testing-the-script-locally\" class=\"anchor\" aria-label=\"Permalink: 5. Testing the Script Locally\" href=\"#5-testing-the-script-locally\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eYou can run the script locally to test if everything is set up correctly:\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"node index.js\"\u003e\u003cpre\u003enode index.js\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eThis will fetch the recent accepted submissions and add them to your Notion database.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e6. Set Up GitHub Actions for Daily Automation\u003c/h3\u003e\u003ca id=\"user-content-6-set-up-github-actions-for-daily-automation\" class=\"anchor\" aria-label=\"Permalink: 6. Set Up GitHub Actions for Daily Automation\" href=\"#6-set-up-github-actions-for-daily-automation\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eTo automate the process, you can set up GitHub Actions to run the script daily.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eGo to your GitHub repository.\nNavigate to Settings \u0026gt; Secrets and variables \u0026gt; Actions.\nClick on New repository secret and add the following secrets:\nLEETCODE_USERNAME: Your LeetCode username.\nNOTION_API_KEY: Your Notion integration token.\nNOTION_DATABASE_NAME: The name of the database (optional, can be hardcoded).\nNOTION_PARENT_PAGE_ID: The ID of the parent page (optional, can be hardcoded).\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e7. Configure the GitHub Actions Workflow\u003c/h3\u003e\u003ca id=\"user-content-7-configure-the-github-actions-workflow\" class=\"anchor\" aria-label=\"Permalink: 7. Configure the GitHub Actions Workflow\" href=\"#7-configure-the-github-actions-workflow\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eThe workflow file is already set up to run daily at 23:30 UTC. You can find it in the .github/workflows/daily-update.yml file. You may customize the schedule according to your preferences.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e8. Commit and Push Your Changes\u003c/h3\u003e\u003ca id=\"user-content-8-commit-and-push-your-changes\" class=\"anchor\" aria-label=\"Permalink: 8. Commit and Push Your Changes\" href=\"#8-commit-and-push-your-changes\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eAfter setting everything up, commit your changes and push them to your GitHub repository:\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"git add .\ngit commit -m \u0026quot;Setup LeetCode Notion Automation\u0026quot;\ngit push origin main\"\u003e\u003cpre\u003egit add \u003cspan class=\"pl-c1\"\u003e.\u003c/span\u003e\ngit commit -m \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003eSetup LeetCode Notion Automation\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e\ngit push origin main\u003c/pre\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e9. Usage\u003c/h3\u003e\u003ca id=\"user-content-9-usage\" class=\"anchor\" aria-label=\"Permalink: 9. Usage\" href=\"#9-usage\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eOnce everything is set up and the GitHub Actions workflow is configured, the script will run daily at the specified time, fetching the current day's accepted submissions from LeetCode and adding them to your Notion database.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eViewing Your Notion Database\nYou can view your submissions in the specified Notion database. The database will contain the following fields:\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eProblem Name: The name of the problem.\u003c/li\u003e\n\u003cli\u003eProblem Number: The ID of the problem.\u003c/li\u003e\n\u003cli\u003eLink: A link to the problem on LeetCode.\u003c/li\u003e\n\u003cli\u003eSubmission Date: The date of the submission.\u003c/li\u003e\n\u003cli\u003eTags: Tags associated with the problem.\u003c/li\u003e\n\u003cli\u003eDifficulty: The difficulty level of the problem.\u003c/li\u003e\n\u003cli\u003eStatus: The status of the submission (Accepted).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e10. Contributing\u003c/h3\u003e\u003ca id=\"user-content-10-contributing\" class=\"anchor\" aria-label=\"Permalink: 10. Contributing\" href=\"#10-contributing\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eContributing Contributions are welcome! If you would like to contribute to this project, please follow these steps:\u003c/h4\u003e\u003ca id=\"user-content-contributing-contributions-are-welcome-if-you-would-like-to-contribute-to-this-project-please-follow-these-steps\" class=\"anchor\" aria-label=\"Permalink: Contributing Contributions are welcome! If you would like to contribute to this project, please follow these steps:\" href=\"#contributing-contributions-are-welcome-if-you-would-like-to-contribute-to-this-project-please-follow-these-steps\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\n\u003col dir=\"auto\"\u003e\n\u003cli\u003eFork the Repository: Click on the \"Fork\" button at the top right of the repository page to create your own copy of the project.\u003c/li\u003e\n\u003c/ol\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003col start=\"2\" dir=\"auto\"\u003e\n\u003cli\u003eCreate a New Branch: Create a new branch for your feature or bug fix:\u003c/li\u003e\n\u003c/ol\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"git checkout -b feature/your-feature-name\"\u003e\u003cpre\u003egit checkout -b feature/your-feature-name\u003c/pre\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\n\u003col start=\"3\" dir=\"auto\"\u003e\n\u003cli\u003eMake Your Changes: Implement your changes and ensure that the code is well-tested.\u003c/li\u003e\n\u003c/ol\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003col start=\"4\" dir=\"auto\"\u003e\n\u003cli\u003eCommit Your Changes: Commit your changes with a descriptive message:\u003c/li\u003e\n\u003c/ol\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"git commit -m \u0026quot;Add feature: your feature description\u0026quot;\"\u003e\u003cpre\u003egit commit -m \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003eAdd feature: your feature description\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\n\u003col start=\"5\" dir=\"auto\"\u003e\n\u003cli\u003ePush to Your Fork: Push your changes to your forked repository:\u003c/li\u003e\n\u003c/ol\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"git push origin feature/your-feature-name\"\u003e\u003cpre\u 5B92 003egit push origin feature/your-feature-name\u003c/pre\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\n\u003col start=\"6\" dir=\"auto\"\u003e\n\u003cli\u003eCreate a Pull Request: Go to the original repository and create a pull request from your forked repository.\u003c/li\u003e\n\u003c/ol\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e11. License\u003c/h3\u003e\u003ca id=\"user-content-11-license\" class=\"anchor\" aria-label=\"Permalink: 11. License\" href=\"#11-license\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eThis project is licensed under the MIT License. See the LICENSE file for details.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e12. Acknowledgments\u003c/h3\u003e\u003ca id=\"user-content-12-acknowledgments\" class=\"anchor\" aria-label=\"Permalink: 12. Acknowledgments\" href=\"#12-acknowledgments\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eThanks to the LeetCode team for providing the public GraphQL API.\nThanks to the Notion team for their API, which allows seamless integration with external applications.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e13. Contact\u003c/h3\u003e\u003ca id=\"user-content-13-contact\" class=\"anchor\" aria-label=\"Permalink: 13. Contact\" href=\"#13-contact\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eFor any questions or feedback, feel free to reach out via GitHub Issues or contact me directly at [\u003ca href=\"mailto:msn2106@gmail.com\"\u003emsn2106@gmail.com\u003c/a\u003e].\u003c/p\u003e\n\u003c/article\u003e","renderedFileInfo":null,"shortPath":null,"symbolsEnabled":true,"tabSize":8,"topBannersInfo":{"overridingGlobalFundingFile":false,"globalPreferredFundingPath":null,"showInvalidCitationWarning":false,"citationHelpUrl":"https://docs.github.com/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-citation-files","actionsOnboardingTip":null},"truncated":false,"viewable":true,"workflowRedirectUrl":null,"symbols":{"timed_out":false,"not_analyzed":false,"symbols":[{"name":"LeetCode Notion Automation","kind":"section_1","ident_start":2,"ident_end":28,"extent_start":0,"extent_end":5336,"fully_qualified_name":"LeetCode Notion Automation","ident_utf16":{"start":{"line_number":0,"utf16_col":2},"end":{"line_number":0,"utf16_col":28}},"extent_utf16":{"start":{"line_number":0,"utf16_col":0},"end":{"line_number":123,"utf16_col":0}}},{"name":"Overview","kind":"section_2","ident_start":33,"ident_end":41,"extent_start":30,"extent_end":342,"fully_qualified_name":"Overview","ident_utf16":{"start":{"line_number":2,"utf16_col":3},"end":{"line_number":2,"utf16_col":11}},"extent_utf16":{"start":{"line_number":2,"utf16_col":0},"end":{"line_number":5,"utf16_col":0}}},{"name":"Features","kind":"section_2","ident_start":345,"ident_end":353,"extent_start":342,"extent_end":559,"fully_qualified_name":"Features","ident_utf16":{"start":{"line_number":5,"utf16_col":3},"end":{"line_number":5,"utf16_col":11}},"extent_utf16":{"start":{"line_number":5,"utf16_col":0},"end":{"line_number":11,"utf16_col":0}}},{"name":"Prerequisites","kind":"section_2","ident_start":562,"ident_end":575,"extent_start":559,"extent_end":880,"fully_qualified_name":"Prerequisites","ident_utf16":{"start":{"line_number":11,"utf16_col":3},"end":{"line_number":11,"utf16_col":16}},"extent_utf16":{"start":{"line_number":11,"utf16_col":0},"end":{"line_number":17,"utf16_col":0}}},{"name":"Getting Started","kind":"section_2","ident_start":883,"ident_end":898,"extent_start":880,"extent_end":5336,"fully_qualified_name":"Getting Started","ident_utf16":{"start":{"line_number":17,"utf16_col":3},"end":{"line_number":17,"utf16_col":18}},"extent_utf16":{"start":{"line_number":17,"utf16_col":0},"end":{"line_number":123,"utf16_col":0}}},{"name":"1. Clone the Repository","kind":"section_3","ident_start":904,"ident_end":927,"extent_start":900,"extent_end":1039,"fully_qualified_name":"1. Clone the Repository","ident_utf16":{"start":{"line_number":19,"utf16_col":4},"end":{"line_number":19,"utf16_col":27}},"extent_utf16":{"start":{"line_number":19,"utf16_col":0},"end":{"line_number":25,"utf16_col":0}}},{"name":"2. Install Dependencies","kind":"section_3","ident_start":1043,"ident_end":1066,"extent_start":1039,"extent_end":1156,"fully_qualified_name":"2. Install Dependencies","ident_utf16":{"start":{"line_number":25,"utf16_col":4},"end":{"line_number":25,"utf16_col":27}},"extent_utf16":{"start":{"line_number":25,"utf16_col":0},"end":{"line_number":31,"utf16_col":0}}},{"name":"3. Configure Your Credentials","kind":"section_3","ident_start":1160,"ident_end":1189,"extent_start":1156,"extent_end":1837,"fully_qualified_name":"3. Configure Your Credentials","ident_utf16":{"start":{"line_number":31,"utf16_col":4},"end":{"line_number":31,"utf16_col":33}},"extent_utf16":{"start":{"line_number":31,"utf16_col":0},"end":{"line_number":46,"utf16_col":0}}},{"name":"4. Set Up Notion Integration","kind":"section_3","ident_start":1841,"ident_end":1869,"extent_start":1837,"extent_end":2139,"fully_qualified_name":"4. Set Up Notion Integration","ident_utf16":{"start":{"line_number":46,"utf16_col":4},"end":{"line_number":46,"utf16_col":32}},"extent_utf16":{"start":{"line_number":46,"utf16_col":0},"end":{"line_number":52,"utf16_col":0}}},{"name":"5. Testing the Script Locally","kind":"section_3","ident_start":2143,"ident_end":2172,"extent_start":2139,"extent_end":2361,"fully_qualified_name":"5. Testing the Script Locally","ident_utf16":{"start":{"line_number":52,"utf16_col":4},"end":{"line_number":52,"utf16_col":33}},"extent_utf16":{"start":{"line_number":52,"utf16_col":0},"end":{"line_number":60,"utf16_col":0}}},{"name":"6. Set Up GitHub Actions for Daily Automation","kind":"section_3","ident_start":2365,"ident_end":2410,"extent_start":2361,"extent_end":2887,"fully_qualified_name":"6. Set Up GitHub Actions for Daily Automation","ident_utf16":{"start":{"line_number":60,"utf16_col":4},"end":{"line_number":60,"utf16_col":49}},"extent_utf16":{"start":{"line_number":60,"utf16_col":0},"end":{"line_number":71,"utf16_col":0}}},{"name":"7. Configure the GitHub Actions Workflow","kind":"section_3","ident_start":2891,"ident_end":2931,"extent_start":2887,"extent_end":3122,"fully_qualified_name":"7. Configure the GitHub Actions Workflow","ident_utf16":{"start":{"line_number":71,"utf16_col":4},"end":{"line_number":71,"utf16_col":44}},"extent_utf16":{"start":{"line_number":71,"utf16_col":0},"end":{"line_number":74,"utf16_col":0}}},{"name":"8. Commit and Push Your Changes","kind":"section_3","ident_start":3126,"ident_end":3157,"extent_start":3122,"extent_end":3341,"fully_qualified_name":"8. Commit and Push Your Changes","ident_utf16":{"start":{"line_number":74,"utf16_col":4},"end":{"line_number":74,"utf16_col":35}},"extent_utf16":{"start":{"line_number":74,"utf16_col":0},"end":{"line_number":82,"utf16_col":0}}},{"name":"9. Usage","kind":"section_3","ident_start":3345,"ident_end":3353,"extent_start":3341,"extent_end":4039,"fully_qualified_name":"9. Usage","ident_utf16":{"start":{"line_number":82,"utf16_col":4},"end":{"line_number":82,"utf16_col":12}},"extent_utf16":{"start":{"line_number":82,"utf16_col":0},"end":{"line_number":96,"utf16_col":0}}},{"name":"10. Contributing","kind":"section_3","ident_start":4043,"ident_end":4059,"extent_start":4039,"extent_end":4909,"fully_qualified_name":"10. Contributing","ident_utf16":{"start":{"line_number":96,"utf16_col":4},"end":{"line_number":96,"utf16_col":20}},"extent_utf16":{"start":{"line_number":96,"utf16_col":0},"end":{"line_number":114,"utf16_col":0}}},{"name":"Contributing Contributions are welcome! If you would like to contribute to this project, please follow these steps:","kind":"section_4","ident_start":4066,"ident_end":4181,"extent_start":4061,"extent_end":4909,"fully_qualified_name":"Contributing Contributions are welcome! If you would like to contribute to this project, please follow these steps:","ident_utf16":{"start":{"line_number":97,"utf16_col":5},"end":{"line_number":97,"utf16_col":120}},"extent_utf16":{"start":{"line_number":97,"utf16_col":0},"end":{"line_number":114,"utf16_col":0}}},{"name":"11. License","kind":"section_3","ident_start":4913,"ident_end":4924,"extent_start":4909,"extent_end":5008,"fully_qualified_name":"11. License","ident_utf16":{"start":{"line_number":114,"utf16_col":4},"end":{"line_number":114,"utf16_col":15}},"extent_utf16":{"start":{"line_number":114,"utf16_col":0},"end":{"line_number":117,"utf16_col":0}}},{"name":"12. Acknowledgments","kind":"section_3","ident_start":5012,"ident_end":5031,"extent_start":5008,"extent_end":5202,"fully_qualified_name":"12. Acknowledgments","ident_utf16":{"start":{"line_number":117,"utf16_col":4},"end":{"line_number":117,"utf16_col":23}},"extent_utf16":{"start":{"line_number":117,"utf16_col":0},"end":{"line_number":121,"utf16_col":0}}},{"name":"13. Contact","kind":"section_3","ident_start":5206,"ident_end":5217,"extent_start":5202,"extent_end":5336,"fully_qualified_name":"13. Contact","ident_utf16":{"start":{"line_number":121,"utf16_col":4},"end":{"line_number":121,"utf16_col":15}},"extent_utf16":{"start":{"line_number":121,"utf16_col":0},"end":{"line_number":123,"utf16_col":0}}}]}},"copilotInfo":null,"copilotAccessAllowed":false,"modelsAccessAllowed":false,"modelsRepoIntegrationEnabled":false,"csrf_tokens":{"/msn2106/leetcode-notion-automation/branches":{"post":"VHy3tU7mls7kY3CxTGPj4HgzoVu8t4W_qtyOMybsMnBhGaR1m0V1vZ2yJVbubc4ZZlf1Ix8TTLcHl_MxwNUKvg"},"/repos/preferences":{"post":"94Cqfn4JsqCw6_f_yQ0oEijNbw441lbiNhJwjlOjeGLZt28qtO444Dg4AquVHg25r2mxtyu_-iPR0KlXsKvfrg"}}},"title":"leetcode-notion-automation/README.md at main · msn2106/leetcode-notion-automation","appPayload":{"helpUrl":"https://docs.github.com","findFileWorkerPath":"/assets-cdn/worker/find-file-worker-263cab1760dd.js","findInFileWorkerPath":"/assets-cdn/worker/find-in-file-worker-1b17b3e7786a.js","githubDevUrl":null,"enabled_features":{"code_nav_ui_events":false,"react_blob_overlay":false,"accessible_code_button":true}}}
0