{"id":20454912,"url":"https://github.com/robb-j/nova-doofer","last_synced_at":"2026-01-04T22:04:41.093Z","repository":{"id":88550464,"uuid":"373898088","full_name":"robb-j/nova-doofer","owner":"robb-j","description":"Extra text utilities for Nova","archived":false,"fork":false,"pushed_at":"2023-06-01T10:11:52.000Z","size":3177,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-01-25T21:26:58.217Z","etag":null,"topics":["nova-editor","nova-extension"],"latest_commit_sha":null,"homepage":"","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/robb-j.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-06-04T16:17:41.000Z","updated_at":"2024-04-22T12:51:48.000Z","dependencies_parsed_at":null,"dependency_job_id":"8873552c-7430-43b5-9e78-b1be02a90a95","html_url":"https://github.com/robb-j/nova-doofer","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/robb-j%2Fnova-doofer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robb-j%2Fnova-doofer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robb-j%2Fnova-doofer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robb-j%2Fnova-doofer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/robb-j","download_url":"https://codeload.github.com/robb-j/nova-doofer/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244717337,"owners_count":20498283,"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":["nova-editor","nova-extension"],"created_at":"2024-11-15T11:17:21.988Z","updated_at":"2026-01-04T22:04:36.062Z","avatar_url":"https://github.com/robb-j.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Doofer\n\nExtra text utilities for [Nova](https://nova.app). This is not currently a published Nova Extension.\n\n\u003e A Doofer can be anything. When you can't think of the name of an object or item just replace the unknown name with doofer and hey presto.\n\u003e\n\u003e – _Mc Numpty March 20, 2004_ [[link](https://www.urbandictionary.com/define.php?term=Doofer)]\n\nYou may want:\n\n- [Extension README.md](/Doofer.novaextension/README.md)\n- [Examples](/examples)\n\n## Development\n\nThis is a Nova extension written in [TypeScript](https://www.typescriptlang.org)\nwhich is bundled with [esbuild](https://esbuild.github.io)\nand formatted with [Prettier](https://prettier.io).\n\nThese are the production dependencies:\n\n- [casex](https://github.com/pedsmoreira/casex) for converting text between cases\n- [yaml](https://github.com/eemeli/yaml) for converting between json and yaml\n\nThe extension is made up of several \"editor\" commands which work with\nthe text you have selected in a Nova text editor.\nThe commands are found in the [src/Scripts/commands](/src/Scripts/commands) folder\nand the entrypoint for the extension is [src/Scripts/main.ts](/src/Scripts/main.ts)\n\n### Setup\n\nTo work on the extension, you will need to have [Node.js](https://nodejs.org/en/) (version 16+)\nand [Nova](https://nova.app) installed on your development machine. Then run:\n\n```sh\n# cd to/this/folder\n\n# Install NPM dependencies\nnpm install\n```\n\nNext, open this repository (the folder with `Doofer.novaextension` in it) in Nova\nand make sure Nova is in development mode,\n**Nova** → **Preferences** and check **Extension Development**.\n\n### Regular use\n\nFor development, use the `Development` task to build and run the extension locally.\n**Build** will compile the TypeScript into JavaScript into the extension folder.\nUse Extensions → Activate Project as Extension to run the extension.\nNova will run the extension locally and restart when any file inside the `.novaextension` changes,\ne.g. by re-running the **Build** task.\n\n\u003e Make sure to disable the extension if a published version is already installed.\n\nWhen in development mode, the extension outputs extra information to the Debug Pane,\nwhich can be shown with **View** → **Show Debug Pane**.\n\nUse the text in the [examples](/examples) markdown files to test different commands.\n\n### Code formatting\n\nThis repository uses [Prettier](https://prettier.io/),\n[yorkie](https://www.npmjs.com/package/yorkie)\nand [lint-staged](https://www.npmjs.com/package/lint-staged) to\nautomatically format code when staging code for a git commit.\nSo code that is pushed to the repository is always consistently formatted.\n\nYou can manually run the formatter with `npm run format` if you want.\n\nPrettier ignores files using [.prettierignore](/.prettierignore)\nor adding `// prettier-ignore` before a line.\n\n## Future work / Ideas\n\nPlease see [GitHub issues](https://github.com/robb-j/nova-doofer/issues)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobb-j%2Fnova-doofer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frobb-j%2Fnova-doofer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobb-j%2Fnova-doofer/lists"}