tbluBookmark is an open-source project that aims to convert browser bookmarks into a navigation website. With just a few simple steps, you can transform your bookmarks into a beautiful and user-friendly navigation page.
- Export browser bookmarks
- Convert bookmark files to JSON format
- Generate a static navigation website
- Added built-in search modal with tag-based filtering and UI interactions tailored for this repository.
- Added theme mode selector (
system / light / dark) and language switching. - Added optional rule-based tag mapping file:
json/tag-rules.json. - Added support for optional manual
tagsfield on each bookmark/folder item.
This project is compatible with standard Pintree bookmark JSON, and also supports an optional tags array.
Example:
{
"type": "link",
"title": "Example",
"url": "https://example.com",
"icon": "https://logo.clearbit.com/example.com",
"tags": ["Docs", "Learning"]
}Tag behavior priority:
- If
tagsexists on an item, these tags are used directly. - If
tagsis missing, fallback rule matching fromjson/tag-rules.jsonis used.
Additional notes:
- Folder tags are inherited by child bookmarks/folders.
json/tag-rules.jsonsupports i18n tags via object format:{ "tag": { "zh": "文件传输", "en": "File Transfer" } }
- Install the Pintree Bookmarks Exporter extension.
- Use the extension to export browser bookmarks and save the JSON file locally.
- Visit the tbluBookmark GitHub repository.
- Click the
Forkbutton in the upper right corner of the page to fork thegh-pagesbranch of the project to your GitHub account.
- Open the
tblu-bookmarkrepository in your GitHub account (the one you just forked). - Click on the
jsonfolder in the repository. - Click the
Upload filesbutton, select the JSON file you downloaded earlier, and upload it. - Make sure the uploaded file is named
pintree.json, and selectCommit changes.
- In your
tblu-bookmarkrepository page, click onSettings. - Find the
Pagesoption. - In the
Sourcedropdown menu, select thegh-pagesbranch and clickSave. - After a few minutes, your static website will be available at
https://yourusername.github.io/tblu-bookmark. Remember to replaceyourusername.
You can also deploy the tbluBookmark project for free using Vercel. Click the button below and follow the instructions to easily deploy the project to the Vercel platform.
On Vercel, you can also specify:
BOOKMARK_DATA_URL: bookmark JSON URL
The footer version is dynamically read from the project's own package.json version field.
If a newer release exists on GitHub, a subtle red-dot marker appears next to the current version.
Now you can enjoy your own navigation website! 🎉
- HTML/CSS/JavaScript
- JSON format processing
- Static website hosting
The UI language strings are defined in js/i18n.js via window.I18N_MESSAGES.
Find:
window.I18N_MESSAGES = {
zh: { ... },
en: { ... }
}Add your locale (example: Japanese):
ja: {
clear: 'クリア',
clearTags: 'タグをクリア',
tagFilter: 'タグフィルター',
searchPlaceholder: 'ブックマーク / タグ / URL を検索...',
noBookmarksTitle: 'このパスにはブックマークがありません',
noBookmarksDesc: '上位フォルダに戻るか、データ同期を確認してください。',
searchNoResults: '一致する検索結果がありません。キーワードやタグを見直してください。',
searchResults: '検索結果',
bookmark: 'ブックマーク',
home: 'ホーム',
records: '件',
languageLabel: 'JA',
close: '閉じる',
folderTags: 'フォルダタグ',
themeSystem: 'システム',
themeLight: 'ライト',
themeDark: 'ダーク',
toggleSidebar: 'サイドバーを切り替え',
searchButton: 'ブックマークを検索',
switchLanguage: '言語を切り替え',
switchTheme: 'テーマを切り替え',
filterTagsButton: 'タグで絞り込み',
backToTop: 'トップへ戻る',
closeSidebar: 'サイドバーを閉じる',
gridView: 'グリッド表示',
listView: 'リスト表示'
}In index.html, add a button in #languageMenu:
<button class="menu-item" data-locale="ja">日本語</button>Every locale should contain the same keys. If a key is missing, UI will fallback to Chinese (zh) or show the key name.
This project also localizes many button title and aria-label values (e.g. search, sidebar toggle, back-to-top, theme/language switch).
After adding a locale, switch language in UI and confirm these tooltips/labels are translated correctly.
Contributions are welcome! Please follow these steps to participate in the project:
- Fork this repository: https://github.com/TonyBlur/tblu-bookmark/tree/main
- Create a new branch (
git checkout -b feature/your-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin feature/your-feature) - Submit a Pull Request
Please note that the main branch is the source code branch of the project, while the gh-pages branch is the branch for the packaged static website code. Develop and submit changes on the main branch, and we will be responsible for packaging and publishing the code to the gh-pages branch.
Thank you for using and supporting!



