Created a new theme, now what?

Moved Technical Support
  • So i followed the directions and created a copy of the vanilla theme and edited the json files as well as made some less css changes. Now I am new to all of this (especially git) so how am I able to push this theme to Heroku and activate this theme and make changes (git commit, etc) afterwards? Sorry for the noobish questions, but I feel a quick step by step and Ill be good to go!

  • I wish I could point you in the right direction but I don't have any experience with heroku. I know @julian does, he wrote a guide at some point.

    I think it should be possible for you to install the theme if you've published it on NPM, or you could commit the theme along with the core code? (edit the .gitignore?)

  • Would editing the ignore file be the best option, what is the main reason those are in place? I can try to publish my edits to github and then npm, but after they are on npm as a package do I need to then install it, not sure that makes sense. If i cd into the theme folder and 'git init' I then have to setup the remote repositories again (right?) because they only exist in the nodebb folder, but if I connect to my Heroku again in their do I just push heroku master and the theme will be uploaded to my account. I am trying to do as much research on my own, but I am just not sure how to edit any other files besides the root files in nodebb and have them pushed.

  • @julianlam any ideas? I am going to try to update the .gitignore file later to try that, unless that is advised against.

  • Ah, sorry about the delay @src1988.

    If you have a theme created and want to share it publically with others, you'll want to publish your theme onto npm as a separate package. Ensure that the name field is unique (e.g. not nodebb-theme-vanilla), and follow the steps outlined in that guide I linked to, above.

    Keep in mind this will allow your theme to be installed by anybody, so that may not be what you want.

    If you don't want to go the npm route, you'll have to copy that folder into node_modules/ as a separate folder (e.g. node_modules/nodebb-theme-vanilla is the vanilla theme, so your theme would live at node_modules/nodebb-theme-src1988, or whatever you named it).

    Then manually git add that folder, and commit it:

    git add node_modules/{your-theme-folder}
    git commit -m "added my theme"
    git push heroku master
    @psychobunny said:
    > (edit the .gitignore?)
    No need to edit it, as manually added files *do* override the `.gitignore` :+1: Good idea though!
  • Thanks for the reply @julian. I made sure the names were unique in all of the json files from my copied version of vanilla. I did the add (it forced me to use -f since the files were listed in .gitignore), but they were added, committed, then pushed. I then restarted the dyno to restart node and the theme isnt listed in the Installed Themes section, would it appear there?

  • @src1988 Never having tried forcibly adding a module in a Heroku build, I don't know what Heroku might do. If you start a one-off dyno, do you see your theme in node_modules/?

  • The one-off dyno didnt seem to do much, but what I did was actually publish the new theme (copy) to my npm account and then just list the dependency in the root package.json and then did another commit/push and now it lists it in the admin screen. I'm curious, how is everyone else making all of these changes without having to do all of this stuff?

  • @src1988 said:

    I'm curious, how is everyone else making all of these changes without having to do all of this stuff?

    Not many of us use Heroku. The majority of us use Ubuntu. Mostly because the penguin tells us to. :hypnotised:


  • Digital Ocean seems to be the way to go, is it worth switching? Heroku costs nothing at the moment with a single dyno, but I dont want to go too much farther with this if all of the support is in Linux.

  • @src1988 I'd recommend them. The droplets are well priced and reliable, there's support for most platforms, but it's a case of supply and demand, the number of ubuntu users is higher than heroku, therefore support is easier to come by , added to this, 85% of questions asked have already been answered somewhere on the forum, or in the documentation.

    If this forum were hosted in Heroku, I'd imagine that more users would use heroku, they want the nodebb experience (if the NodeBB forum looks good and works, so will theirs).

    If you want to try Digital Ocean, I believe voucher code ALLSSD10 will give you $10 of free credit (2 months of time on the $5 droplet). Get involved in their referral program too, for every $25 someone spends using your referral, you get $25. I've had my droplet for 2-3 months, and still got another 7 or 8 months left of referrals and free credit to use before I have to dip into my pocket. (If more people clicked my link, that would extend this... 😆 (Other referral codes are available))

    Maybe NodeBB needs a demo forum that gets purged every 24 hours so people can play with the admin area and see how it all works) Or if anyone can do a voice like Morgan Freeman, we can record a Screencast of the backend explaining everything. 🙂

  • The coupon code @a_5mith gave should be good. You can also use our referral code, or @a_5mith's, which is in his signature, to give us a bit of a boost 😄

    A demo forum is a good idea... we should really get one set up...

  • Thanks guys, I might give this a go. It's stepping backwards, but should allow me to go forward quicker afterwards. Appreciate all of the support!

  • @a_5mith @julian hmmm a screencast sounds like something that I could do 😉

  • @a_5mith said:


    Now any time I see this picture, I think of @planner *facepalm*

  • @julian said:

    Now any time I see this picture, I think of @planner *facepalm*

    Does he look like a penguin? 😆

  • Hahah, hover over his username to check out his usercard 😄

  • @julian 😛 If you view his avatar in a new tab, he has a cool tattoo. 😄

Suggested Topics