mirror of
https://github.com/hyungyunlim/obsidian-naver-blog-importer.git
synced 2026-07-22 06:45:11 +00:00
Boosts the Obsidian community scorecard's Hygiene rating, which currently flags 'Missing contributing guide'.
2.9 KiB
2.9 KiB
Contributing to Naver Blog Importer
Thanks for your interest in improving this plugin. Bug reports, feature ideas, and pull requests are all welcome.
Reporting issues
- Use the GitHub issue tracker.
- Search existing issues first to avoid duplicates.
- For bugs, please include:
- Obsidian version, OS, and plugin version
- A minimal reproduction (the URL you tried, the exact step, expected vs. actual behaviour)
- Console errors from
Ctrl/Cmd+Shift+Iif any
Suggesting features
- Open a discussion or an issue describing the use case and what the import output should look like.
- Be specific about the source (Naver Blog / Cafe / News / Brunch) and the markdown shape you expect.
Development setup
# 1. Clone and install dependencies
git clone https://github.com/hyungyunlim/obsidian-naver-blog-importer
cd obsidian-naver-blog-importer
npm install
# 2. Start the dev build (watches and rebuilds on save)
npm run dev
# 3. Symlink or copy the build output into a vault's plugins folder
# .obsidian/plugins/naver-blog-importer/{main.js,manifest.json,styles.css}
# `npm run build` will automatically deploy to ~/vaults/test if that path exists.
# 4. Reload Obsidian (Cmd/Ctrl+R) after each build to pick up changes.
Code style
- TypeScript with strict typing — avoid
any; preferunknown+ narrowing. - Tabs for indentation (matches the existing codebase).
- Match the module layout under
src/(services/,fetchers/,ui/modals/,utils/,constants/,types/). - New features that touch UI must work in popout windows — use
window.setTimeout,createDiv,createFragmentfrom Obsidian's globals rather than raw DOM APIs. - Localised strings go in
lang/en.jsonandlang/ko.json, with the matching key added tosrc/types/translations.tsandsrc/utils/i18n.ts.
Linting
This repo uses the same lint config as the Obsidian community-plugin review bot:
npm install --save-dev eslint-plugin-obsidianmd --legacy-peer-deps
npx eslint 'main.ts' 'src/**/*.ts' 'brunch-fetcher.ts' 'naver-blog-fetcher.ts'
PRs should land with zero errors and zero warnings.
Pull-request checklist
npm run buildsucceeds (TypeScript + esbuild)npx eslintreports no errors- Manual smoke test of the affected import path inside a real vault
- Translations updated if user-visible strings changed
manifest.jsonandversions.jsonbumped only when the release is being cut (maintainers handle this)
Releases
Maintainers cut releases by:
- Updating
manifest.jsonversionandversions.jsonmapping - Running
npm run build - Creating a GitHub release with
main.js,manifest.json, andstyles.cssattached as assets, tagged with the version number (novprefix, matching Obsidian's convention).
License
By submitting code you agree that your contribution will be released under the MIT License.