Skip to main content

Tab managements

Why is abookmark also a tab manager?

Bookmarks and tabs are closely related. In abookmark, bookmarks and tabs are one thing in different forms. A bookmark is a stored tab. A tab is a bookmark alive. This is vividly reflected in tab nodes.

Abookmark may also save tabs as bookmarks and close them at the same time. This is called 'store'. And this is similar to the key feature of onetab:

  • Store selected tabs.
  • Store tabs on the right.
  • Store tabs on the left.
  • Store all tabs.
  • Store other tabs.

They can be called by node context menu, extension icon context menu, browser level shortcuts.

In app page, you can reopen these tabs/bookmarks by click the titles just as bookmarks. But if you click the urls on the right side, the nodes will be removed at the same time.

Abookmark is built with performance in mind. You can save thousands of tabs easily. Your data is stored by the native bookmark system.

What's the benefits if I switch from other tab managers?

  • Sync across browsers. You can even view the saved 'tabs' ( as bookmarks) on your mobile phone.
  • Transform smoothly from 'saved tabs' to bookmarks at any time.
  • As bookmarks, you can see (from the 'star' in the address bar) whether that page has been saved before. You can remove saved pages directly by clicking that bookmark icon (or our app icon, with trash support).
  • Backup without losing data structures.
  • Faster.

May I transfer my data from onetab?

Yes.

You can import onetab's export data into bookmarks directly. But that data has no folder or date information. We write a little exporter to parse and download the full data as bookmarks:

https://github.com/pfcao/abookmark/blob/main/onetab-to-bookmarks.js

// download onetab data as bookmarks
// 1. open the onetab display page in your browser.
// 2. open the 'developer tools' panel of your browser. (Ctrl+Shif+i)
// 3. click 'console' tab of the 'developer tools'.
// 4. copy this code and paste it into 'console'.
// 5. press 'enter' in keyboard to start download.

chrome.storage.local.get('state', storage => {
function downloadBlob(filename, blobUrl) {
const element = document.createElement('a')
element.setAttribute('href', blobUrl)
element.setAttribute('download', filename)
element.style.display = 'none'
document.body.appendChild(element)
element.click()
document.body.removeChild(element)
}
const dateNow = new Date().toJSON().substring(0, 10)
const jsonStateBlobURL = URL.createObjectURL(new Blob([storage.state], { type: 'text/plain' }))
downloadBlob(dateNow + '_onetab_data.txt', jsonStateBlobURL)
const state = JSON.parse(storage.state)
const html = state.tabGroups
.reverse()
.map(group => {
const date = Math.floor(group.createDate / 1000)
const tabs = group.tabsMeta
.reverse()
.reduce(
(pre, mt) =>
pre + `<DT><A HREF="${mt.url}" ADD_DATE="${date}">${mt.title?.replace(/</g, '&lt;').replace(/>/g, '&gt;')}</A>\n`,
'',
)
return `<DT><H3 ADD_DATE="${date}">${group.starred || group.locked ? '* ' : ''}[${
new Date(group.createDate).toJSON().split('T')[0]
}] ${group.label ?? ''}</H3>\n<DL>\n${tabs}\n</DL>`
})
.join('\n')
const bm = URL.createObjectURL(new Blob(['<DL>\n', html, '\n</DL>'], { type: 'text/plain' }))
downloadBlob(dateNow + '_onetab2bookmarks.html', bm)
})

May I transfer my data from Session Buddy?

Yes. Just export your data from Session Buddy in json format, then load the json file from abookmark main menu. You can browse the loaded file nodes then select what you need and drag them into a real bookmark folder.