{"id":22555868,"url":"https://github.com/inkdropapp/inkdrop-mobile-plugins","last_synced_at":"2025-04-10T05:20:37.768Z","repository":{"id":39263555,"uuid":"232510200","full_name":"inkdropapp/inkdrop-mobile-plugins","owner":"inkdropapp","description":"Plugins for Inkdrop mobile","archived":false,"fork":false,"pushed_at":"2023-01-07T04:29:01.000Z","size":4174,"stargazers_count":3,"open_issues_count":14,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-24T06:45:17.840Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://docs.inkdrop.app/manual/plugin-for-mobile","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/inkdropapp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-01-08T07:59:41.000Z","updated_at":"2022-12-04T04:26:38.000Z","dependencies_parsed_at":"2023-02-06T11:46:43.784Z","dependency_job_id":null,"html_url":"https://github.com/inkdropapp/inkdrop-mobile-plugins","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inkdropapp%2Finkdrop-mobile-plugins","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inkdropapp%2Finkdrop-mobile-plugins/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inkdropapp%2Finkdrop-mobile-plugins/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inkdropapp%2Finkdrop-mobile-plugins/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/inkdropapp","download_url":"https://codeload.github.com/inkdropapp/inkdrop-mobile-plugins/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247976128,"owners_count":21027014,"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":[],"created_at":"2024-12-07T19:09:13.643Z","updated_at":"2025-04-10T05:20:37.748Z","avatar_url":"https://github.com/inkdropapp.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Plugins for Inkdrop mobile\n\n## How to add your plugin\n\n### Update your plugin for mobile\n\n#### Add `README-mobile.md`\n\nIt is a documentation for mobile.\nBasically you can reuse your README.md but you have to remove sections for desktop like \"How to install\".\n\n#### Remove \"plugin\" words from your plugin description\n\nYou can not use \"plugin\" or any words like \"extension\" in your package description or readme.\nBecause your plugin will be displayed as one of renderer options like so:\n\n![Screenshot](https://github.com/inkdropapp/inkdrop-mobile-plugins/blob/master/docs/plugin-settings-ss.png?raw=true)\n\nThis is a workaround to avoid violating Apple's guideline.\nRead [the blogpost](https://blog.inkdrop.info/a-promising-idea-towards-supporting-plugins-for-ios-app-5f7803715be7) for more detail on this workaround.\n\n### Add submodule\n\nRun the following command:\n\n```sh\ngit submodule add \u003cYOUR_REPO_URL\u003e packages/\u003cPLUGIN_NAME\u003e\n```\n\n### Edit `package.json`\n\nAdd your plugin to `devDependencies` like so:\n\n```json\n  \"devDependencies\": {\n    \"math\": \"file:packages/math\",\n  }\n```\n\nThen, run `npm install`.\n\n### Build\n\nRun the following command:\n\n```sh\nnpm run build\n```\n\n### Test\n\nAdd a test for your plugin to `test/index.js` to make sure it gets loaded properly.\n\nFor example:\n\n```js\ntest.serial.cb(\"mermaid\", t =\u003e {\n  global.window.inkdrop.packages.setPackageMainModule = (name, p) =\u003e {\n    t.is(name, \"mermaid\");\n    t.is(p instanceof Object, true);\n    t.is(typeof p.activate, \"function\");\n    t.is(typeof p.deactivate, \"function\");\n    t.end();\n  };\n\n  require(\"../lib/mermaid\");\n});\n```\n\n## How to debug your plugin\n\nBuild plugin metadata:\n\n```sh\nnpm run build:index\n```\n\nLaunch webpack server:\n\n```sh\nnpm run dev:server\n```\n\nThen, open up a debugger tool:\n\n[https://inkdrop-mobile-plugin-debugger.netlify.com/](https://inkdrop-mobile-plugin-debugger.netlify.com/)\n\nOpen Developer Tools and you should see like this:\n\n![Screenshot](https://github.com/inkdropapp/inkdrop-mobile-plugins/blob/master/docs/debugger-tool-ss.png?raw=true)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finkdropapp%2Finkdrop-mobile-plugins","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finkdropapp%2Finkdrop-mobile-plugins","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finkdropapp%2Finkdrop-mobile-plugins/lists"}