{"id":23438437,"url":"https://github.com/thinkaliker/note-publish","last_synced_at":"2025-10-30T15:30:55.436Z","repository":{"id":71062708,"uuid":"442664983","full_name":"thinkaliker/note-publish","owner":"thinkaliker","description":"notable.app interceptor","archived":false,"fork":false,"pushed_at":"2021-12-31T07:24:55.000Z","size":36,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-12-23T14:49:37.205Z","etag":null,"topics":["notable","vercel"],"latest_commit_sha":null,"homepage":"note-publish-thinkaliker.vercel.app","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thinkaliker.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-12-29T05:01:50.000Z","updated_at":"2024-10-28T18:15:56.000Z","dependencies_parsed_at":"2023-03-11T09:50:16.080Z","dependency_job_id":null,"html_url":"https://github.com/thinkaliker/note-publish","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thinkaliker%2Fnote-publish","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thinkaliker%2Fnote-publish/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thinkaliker%2Fnote-publish/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thinkaliker%2Fnote-publish/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thinkaliker","download_url":"https://codeload.github.com/thinkaliker/note-publish/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238987575,"owners_count":19563759,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["notable","vercel"],"created_at":"2024-12-23T14:49:35.229Z","updated_at":"2025-10-30T15:30:55.137Z","avatar_url":"https://github.com/thinkaliker.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# note-publish\nThis is a small [Notable.app](https://notable.app) interceptor to take in a POST request from the \"Share via Link...\" function and publish a file directly to a Github repository, designed for easy blog posting.\n\nI'm currently using it with [Hugo](https://gohugo.io) but I don't see why it also wouldn't work with Jekyll/any other Markdown based CMS with the appropriate fields in the front matter (see Requirements below).\n\nThis can be run locally or anywhere that can run node.js + some dependencies (I picked Vercel in this instance).\n\nSkip to \"Configuring notable.app\" if you just want to use the instance I've set up.\n\n# Requirements\n- Get a github personal access token and add the repo permission\n- Configure `SAMPLE.env` and fill/replace with your desired setup - you will need these values later\n  - `GITHUB_USER`: the username of the Github account\n  - `GITHUB_REPO`: the name of the Github repository\n  - `GITHUB_AUTH`: the Github Personal Access Token for the account\n  - `GITHUB_PATH`: the path within the repo where the file should end up (content/blog is provided as an example)\n  - `BLOG_URL`: the resulting published URL - this is only to provide Notable with the URL to copy to your clipboard. If you have a different blog setup, feel free to leave it as is, however you will have to retrieve the published URL by hand.\n- Notable files must contain a front matter with the following fields at a minimum\n  - date (in 2021-11-30T20:00:00-07:00 format)\n  - slug (for blog url)\n\n# Setup / Run\n- Install nodejs and yarn\n- `yarn install` to install dependencies\n- `node index.js` to run locally\n- `vercel dev` if Vercel CLI is installed\n\n# Deploying to Vercel (optional)\n- Install Vercel CLI\n- Configure a new vercel project\n- `vercel` to deploy\n\n# Configuring notable.app\n- Go to [https://note-publish.thinkaliker.com/](https://note-publish.thinkaliker.com/)\n- Fill in all the fields with values from SAMPLE.env\n  - No data is sent from the webpage. For the paranoid, inspect the source, or disconnect from the internet.\n  - Note that the password is NOT ENCRYPTED, guard the password as well as your own Personal Access Token\n- Press Generate Configuration\n  - The configuration should be copied to your clipboard automatically\n- Open Notable settings (File \u003e Preferences \u003e Settings...)\n- Append the following to your global settings by pasting your clipboard\n\n```json\n  ...\n  ...},\n  \"sharing\":{\n    \"endpoint\": \"https://note-publish.thinkaliker.com/post/https%3A%2F%2Fexample.com%2Fblog/octocat/my-website/content/blog\",\n    \"password\": \"\u003cyour generated password here\u003e\",\n    \"ttl\": 86400\n  }\n  ...\n```\n\n# Publishing from notable.app\n- To publish, click **File \u003e Share via Link...** or right click on the note and click **Share via Link...**\n- If successful, your new blog post URL should be on your clipboard","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthinkaliker%2Fnote-publish","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthinkaliker%2Fnote-publish","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthinkaliker%2Fnote-publish/lists"}