npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

nodebb-plugin-import-punbb

v0.0.1

Published

a PUNBB forum exporter to import-ready files

Downloads

1

Readme

nodebb-plugin-import-punbb

a PUNBB forum exporter to import-ready files.

based on nodebb-plugin-import-ubb into this plugin to work along with nodebb-plugin-import.

works, but still young

What is this?

It's just an exporter of PUNBB, into files that nodebb-plugin-import can understand and import to NodeBB's database. So, it's not really a conventional nodebb-plugin, and you have to run it from the command line.

Why is it even a NodeBB plugin?

it doesn't really need to be, nor that you can use it within NodeBB it self, but, having this as a plugin have few benefits:

  • a nodebb- namespace, since you can't really use it for anything else
  • it can easily require NodeBB useful tools, currently, it uses its util.js for example.
  • potentially, in the future, this plugin, nodebb-plugin-import-punbb can interact with nodebb-plugin-import for a better UX

Usage

cd NodeBB
npm install nodebb-plugin-import-punbb
cd node_modules/nodebb-plugin-import-punbb/bin
node export.js --storage="$HOME/Desktop/storage" --config="../export.config.json" --log="debug,info,warn" --flush

What does it export?

read carefully:

  • ####Users:

    • _username YES.
    • _alternativeUsername YES. using 'realname', which nodebb-plugin-import will try to use if the username validation fails
    • _password NO. PUNBB uses MD5, NodeBB uses base64 I think, so can't do, but if you use nodebb-plugin-import it will generate random passwords and hand them to you so can email them.
    • _level (administrator and moderator) NO, but doable check the structure of PUNBB
    • _joindate YES, using 'registered'
    • _website YES. using 'url' if URL looks valid, it is exported, but it's not checked if 404s
    • _picture NO.
    • _reputation NO.
    • _profileviews NO.
    • _location YES. migrated as is, clear text
    • _signature YES. migrated as is (HTML -- read the Markdown note below)
    • _banned NO.
  • ####Categories:

    • _name YES
    • _description YES
  • ####Topics:

    • _cid (or its PUNBB category aka Forum id) YES (but if its parent Category is skipped, this topic gets skipped)
    • _uid (or its PUNBB user id) YES (but if its user is skipped, this topic gets skipped)
    • _title YES
    • _content (or the 'parent-post` content of this topic) YES (HTML - read the Markdown Note below)
    • _timestamp YES
    • _pinned NO
    • _viewcount YES
  • ####Posts:

    • _pid (or its PUNBB post id)
    • _tid (or its PUNBB parent topic id) YES (but if its parent topic is skipped, this post gets skipped)
    • _uid (or its PUNBB user id) YES (but if its user is skipped, this post is skipped)
    • _content YES (HTML - read the Markdown Note below)
    • _timestamp YES

I exported, now what?

now use this nodebb-plugin-import to import your files into NodeBB's database

Versions tested on:

  • PUNBB > 1.3.2

You configs are required

But you can override the log, storageDir and clearStorage ones with flags when using bin/export.js

{
	"log": "debug",
	"storageDir": "../storage",

	"clearStorage": false,

	"db": {
		"host": "localhost",
		"user": "punbb_user",
		"password": "password",
		"database": "punbb_test"
	},
	"tablePrefix": "punbb_"

}

Markdown note

read nodebb-plugin-import#markdown-note

It's an exporter, why does it have 'import' in its title

To keep the namespacing accurate, this exporter is designed to export data for nodebb-plugin-import only, also for a 1 time use, so why do you care.