Meteor package system doubts

Guys, I’m new to meteor and after I started using packages I got confused.
Tried to search the forum and the documentation but found nothing.

There are some packages that bundle up some files you can change.
Like this one: https://atmospherejs.com/semantic/ui
It says that you can change the files inside “/site” for example.
Now is when the fuzzy part comes in.

This files are in the AppData folder right?
Something like this:

C:\Users\MyUser\AppData\Local.meteor\packages\semantic_ui\2.1.7\plugin.generateSemanticUi.os\assets\packages\semantic_ui-data\lib\semantic-ui\src\site\collections

Is this right? I mean, the package is available to all my apps isnt it(the ones that uses the same package at least)? So if i change a file there it will reflect on my other apps?

I thought that these files that could be changed should be available at a project level, not globally.

Am I doing this wrong? Did I got the wrong idea about the package system works?

I just can’t believe I need to change some files that are out of my app project directory.

Thank you for your time!

Yes, you got the wrong idea about the whole thing. Do as the docs tell you to do:

  1. Create an empty custom.semantic.json file within your client library folder. Suggested location of /client/lib/semantic-ui/custom.semantic.json depending on your applications structure
  2. start meteor
  3. if you are happy with the default options for Semantic-UI, remove the newly generated .custom.semantic.json at this point
  4. otherwise edit custom.semantic.json (which has now been populated) to select only the definitions and themes you want
  5. save the file and it will generate Semantic UI

Now you’ll see the Site folder you were looking for, next to your .custom.semantic.json file.

In my case it’s /var/www/myproject/client/lib/semantic-ui/site

1 Like

Holly sh**. I forgot to delete the .custom.semantic.json. Thank you for pointing that out again! =x
Felling stupid right now.
Didn’t realise it until you said.
Changing stuff at global level wasn’t making sense. Was getting worried.

My recommendation is not to remove it, but do a very slight, unimportant change. This will still let you do changes to your local Semantic UI configuration later.

Man, really thanks for pointing that out again to me.
I was getting the wrong idea, and that was making me feel not happy with meteor.
Now I’m relieved! =]

I look forward to use semantic ui, it seems to give a lot of control and security when developing the front end. It seems that the styles don’t leak, its all so well documented and organized. =]

And yep, I’ll not delete it when really using in my project, just playing with it for now.

Some Semantic UI related guidelines.

  1. Create templates and block templates for all reusable snippets of html with Semantic UI classes. They will serve as components that you can include into your templates with just one tag, passing the data you want. Also when you’ll want to do a visual change to your project (f.e. adding padded class to segments or tiny class to buttons), you’ll have to update only this one template instead of every place where you use a similar part of code.
  2. Initialize the JS code of Semantic UI components in onRendered.
  3. If you want to make a modal, put modal code into subtemplate.

If you’re using the default setting remove everything and just add semantic:ui-css

Also see https://www.meteorcasts.net/ep/7

1 Like

Thank you for the video. Watching right now.