Coder Social home page Coder Social logo

nodebb-plugin-customize's Introduction

NodeBB

Workflow Coverage Status Code Climate

NodeBB Forum Software is powered by Node.js and supports either Redis, MongoDB, or a PostgreSQL database. It utilizes web sockets for instant interactions and real-time notifications. NodeBB takes the best of the modern web: real-time streaming discussions, mobile responsiveness, and rich RESTful read/write APIs, while staying true to the original bulletin board/forum format → categorical hierarchies, local user accounts, and asynchronous messaging.

NodeBB by itself contains a "common core" of basic functionality, while additional functionality and integrations are enabled through the use of third-party plugins.

Screenshots

NodeBB's theming engine is highly flexible and does not restrict your design choices. Check out some themed installs in these screenshots below:

Our minimalist "Harmony" theme gets you going right away, no coding experience required.

Rendering of a NodeBB install on desktop and mobile devices

How can I follow along/contribute?

  • If you are a developer, feel free to check out the source and submit pull requests. We also have a wide array of plugins which would be a great starting point for learning the codebase.
  • If you are a designer, NodeBB needs themes! NodeBB's theming system allows extension of the base templates as well as styling via SCSS or CSS. NodeBB's base theme utilizes Bootstrap 5 as a frontend toolkit.
  • If you know languages other than English you can help us translate NodeBB. We use Transifex for internationalization.
  • Please don't forget to like, follow, and star our repo! Join our growing community to keep up to date with the latest NodeBB development.

Requirements

NodeBB requires the following software to be installed:

  • A version of Node.js at least 16 or greater (installation/upgrade instructions)
  • MongoDB, version 3.6 or greater or Redis, version 2.8.9 or greater
  • If you are using clustering you need Redis installed and configured.
  • nginx, version 1.3.13 or greater (only if intending to use nginx to proxy requests to a NodeBB)

Installation

Please refer to platform-specific installation documentation. If installing via the cloud (or using Docker), please see cloud-based installation documentation.

Securing NodeBB

It is important to ensure that your NodeBB and database servers are secured. Bear these points in mind:

  1. While some distributions set up Redis with a more restrictive configuration, Redis by default listens to all interfaces, which is especially dangerous when a server is open to the public. Some suggestions:
    • Set bind_address to 127.0.0.1 so as to restrict access to the local machine only
    • Use requirepass to secure Redis behind a password (preferably a long one)
    • Familiarise yourself with Redis Security
  2. Use iptables to secure your server from unintended open ports. In Ubuntu, ufw provides a friendlier interface to working with iptables.
    • e.g. If your NodeBB is proxied, no ports should be open except 80 (and possibly 22, for SSH access)

Upgrading NodeBB

Detailed upgrade instructions are listed in Upgrading NodeBB

License

NodeBB is licensed under the GNU General Public License v3 (GPL-3) (http://www.gnu.org/copyleft/gpl.html).

Interested in a sublicense agreement for use of NodeBB in a non-free/restrictive environment? Contact us at [email protected].

More Information/Links

nodebb-plugin-customize's People

Contributors

barisusakli avatar dependabot[bot] avatar julianlam avatar nhlpl avatar pitaj avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

nodebb-plugin-customize's Issues

Change translations

How to change translations in NodeBB?
I have installed the plug-in, but I don’t know how to change it.
Thanks.

Best regards,
Michael Wu

Diff becomes outdated if original template is changed/updated

This may be functioning as intended, but I wanted to raise it nonetheless.

When a customized template is added, two values are saved into the database, old and diff, referring to the original template, and the changes made.

If the underlying template gets changed, old and diff no longer reflect the proper changeset, and could cause issues if the original template contains breaking changes. This is because diff is applied onto old, and then saved to the templates folder, so it will never inherit the updated template.

e.g.

  • Persona templates/partials/chats-menu.tpl contained changes, it now contains tabs and shows profile options, notifications, as well as chats.
  • If that partial was changed in any way, chats-menu.tpl will always contain the old modified template, and will not inherit any new changes to that partial.

invalid csrf token

When I try to modify a Translation Customizations check box seems not to activate and when I click to compile icon I get Error message (see screenshot).
In the log I get:

2021-08-30T13:25:17.438Z [4567/18371] - [31merror[
39m: /talk/api/admin/plugins/customize/build
invalid csrf token

nodebb01
nodebb02

plugin does not work with 1.13.2

We have NodeBB 1.13.2, plugin does not work and there is nothing on the logs...

the current version of the plugin is installed with:
npm 6.14.4
node v12.16.3 (upgraded to 13.14.0 but still does not work)
graceful-fs 4.2.4

But it does not work or give any error even in development mode...
we deleted all plugins except these in the picture but still, it does not work:

Screen Shot 2020-05-07 at 3 32 31 PM

I changed the order of plugins but still does not work... What else can we try?

Template customization does not work/apply.

When using this plugin, after editing one of the HTML Templates, the Green checkmark button does nothing when clicking, and neither does the blue wrench button. When clicking the grey edit button, the edits aren't there anymore, even without reloading. I've tried rebuilding after editing. This shows up in Dev Tools console tab when clicking the blue button:
image

changes do not apply without refresh

Hi when I change something then rebuild and restart nodebb, the changes didn't apply but when I refresh the page changes apply.
and if I go to this page again, it will show the unmodified version again.

Problem with 3.7.4

I've recently upgraded my NodeBB installation from 1.9.7 to 3.4.7.
Plugin shows me all old definition but UI seems wrong and I can't modify nor insert anything.

Schermata del 2024-05-01 16-27-42

Plugin is not working

Hi,

I installed, activated the plugin and restart nodebb, but can't access the plugin main page when browsing to plugins/customize. no error message, just a spinning wheel.

Nodebb version v1.13.0

Thanks

The diff view pushes aside the edit/save buttons

CleanShot 2023-07-16 at 01 29 54
When an edited template already exists, the diff view pushes the buttons aside, and you have to scroll to the side to click them.
The expected behavior is that the diff display will be limited to a certain width, with overflow scroll.

`compile` fails when using `yarn`

$ yarn
yarn install v1.22.19
warning package-lock.json found. Your project contains lock files generated by tools other than Yarn. It is advised not to mix package managers in order to avoid resolution inconsistencies caused by unsynchr
onized lock files. To clear this warning, remove package-lock.json.
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
$ rm -rf build; npm run compile

> [email protected] compile
> node copy-sources && tsc -p . && tsc -p public

node_modules/@types/fs-extra/index.d.ts:15:23 - error TS4090: Conflicting definitions for 'node' found at '/path/to/nodebb/Projects/nodebb/plugins/nodebb-plugin-customize/node_modules/@types/node/index.d.ts' an
d '/path/to/nodebb/Projects/nodebb/plugins/nodebb-plugin-customize/node_modules/@types/fs-extra/node_modules/@types/node/index.d.ts'. Consider installing a specific version of this library to resolve the confli
ct.
  The file is in the program because:
    Type library referenced via 'node' from file '/path/to/nodebb/Projects/nodebb/plugins/nodebb-plugin-customize/node_modules/@types/fs-extra/index.d.ts' with packageId '@types/node/[email protected]'
    Entry point of type library 'node' specified in compilerOptions with packageId '@types/node/[email protected]'

15 /// <reference types="node" />
                         ~~~~

  tsconfig.json:16:7
    16       "node"
             ~~~~~~
    File is entry point of type library specified here.


Found 1 error in node_modules/@types/fs-extra/index.d.ts:15

error Command failed with exit code 2.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.