Semantic-Org/Semantic-UI-Meteor is an open-source project on GitHub with 222 stars, written primarily in JavaScript. Official Semantic UI Integration for Meteor
Snapshot summary built from the project's own GitHub metadata — there's no written TopGit review yet. The page will update automatically when a full review is published.
WHY NO REVIEW YET
TopGit writes full reviews for the most-starred, most-requested repositories. This page is a snapshot until then — see the READ ME tab for the original README in full.
Create an empty custom.semantic.json inside a /client/ folder somewhere in your project.
Example: /client/lib/semantic-ui/custom.semantic.json.
Start meteor
Edit the file custom.semantic.json to select only the definitions and themes you want
Example: set themesbasic to true, leave default as true
Save the file and it will generate Semantic UI
Check the generated-structure table below for editable files and folders.
IMPORTANT: If you are happy with the default values you will NEED to remove .custom.semantic.json to generate Semantic UI. (see Generating Trigger)
NOTE: Another way to use ONLY the default values is to use this package: https://atmospherejs.com/semantic/ui-css
meteor add semantic:ui-css
Getting Started & Initializing Modules
Semantic UI requries some components to be initialized or they will not work (Dropdowns, Menus, Accordions, etc)
Refer to the Usage sections in a module on how to initialize each element eg: Semantic UI Accordion Usage
Example of initializing a dropdown using a template helper
Template.myDropdown.rendered = function() {
// be sure to use this.$ so it is scoped to the template instead of to the window
this.$('.ui.dropdown').dropdown({on: 'hover'});
// other SUI modules initialization
};
Abstracted version which you use on any template helper
function initAccordions(template) {
template.$('.ui.accordion').accordion();
}
function initDropdowns(template) {
template.$('.ui.dropdown').dropdown({on: 'hover'});
}
Template.myDropdowns.onRendered({
initDropdowns(this);
})
custom.semantic.json
custom.semantic.json is the most important file. If it is empty, semantic:ui will generate the content with all the definitions and themes. By default, it sets to true all definitions and the core-theme "default"(which should always be true).
Changing any value will trigger the package to regenerate the files/folders accordingly.
Be aware when you strip away definitions. The site definition is always needed and so is the default theme. Here an example of the most minimal custom.semantic.json file.
{
"definitions": {
"site": true // <- needs to be true
},
"themes": {
"basic": true, // <- a theme
"default": true // <- core "theme" needs to be true
}
}
Generated Structure
This package generates the following structure based on custom.semantic.json
The following table explains the generated files/folders and if they are editable without losing any changes when generating.
File/Folder
Description
Generated
Editable
definitions/
contains the less and javascript definitions for each component
always
no
site/
contains your current site's theme
only if it does not exist
yes
themes/
contains pre-packaged themes including Semantic's default theme
always
no
.custom.semantic.json
copy of custom.semantic.json (see Generating Trigger)
always
no
custom.semantic.json
contains definitions and themes to be included or not
only if the file is empty
yes
semantic.less
imports the definitions
always
no
theme.config.import.less
defines which theme to use per components
only if the file does not exist
yes
theme.import.less
imports the right themes
always
no
site/
This folder contains your current site's theme. It is generated only when it does not exist. Therefore if you change custom.semantic.json to turn definitions/themes on/off, then it will not affect site/. You will either need to add/remove files in site/ or remove the site/ folder so it can be regenerated again.
Generating Trigger
Every time Meteor starts (or refreshes) it calls the package semantic:ui to generate Semantic UI.
The package has a simple mechanism based on the difference of custom.semantic.json and .custom.semantic.json to avoid generating all the Semantic UI files and folders each time Meteor starts (or refreshes).
Therefore if the file .custom.semantic.json does not exist or it is different from custom.semantic.json then it will generate Semantic UI.
Dependencies
(Meteor <1.3) flemay:less-autoprefixer: Semantic UI needs autoprefixer to be compiled.
Note 1: You can choose any less-autoprefixer package.
Note 2: Since the flemay:less-autoprefixer package compiles LESS files you don't need the less package.
Does Semantic-Org/Semantic-UI-Meteor have a project website?
No homepage URL was recorded for Semantic-Org/Semantic-UI-Meteor in TopGit's last sync. The README tab above frequently contains screenshots and demo links, or check the repository description on GitHub.
How many stars does Semantic-Org/Semantic-UI-Meteor have?
Semantic-Org/Semantic-UI-Meteor has 222 GitHub stars — refresh the page for the live number, or check github.com/Semantic-Org/Semantic-UI-Meteor. TopGit mirrors GitHub's count but does not claim minute-by-minute accuracy.
Is Semantic-Org/Semantic-UI-Meteor open source?
Yes — Semantic-Org/Semantic-UI-Meteor ships under the MIT license, which makes its source code freely readable (and, depending on license terms, forkable and reusable). Source: github.com/Semantic-Org/Semantic-UI-Meteor.
What is Semantic-Org/Semantic-UI-Meteor?
Semantic-Org/Semantic-UI-Meteor (Semantic-Org/Semantic-UI-Meteor) is a JavaScript project on GitHub. From the project's own README: Official Semantic UI Integration for Meteor
Where do I read more about Semantic-Org/Semantic-UI-Meteor?
This TopGit page is a snapshot — the READ ME tab shows the project's own README content (links stripped, images preserved). The GitHub repository at github.com/Semantic-Org/Semantic-UI-Meteor is the definitive source.
Read full README in the tab above.
Still deciding about Semantic-UI-Meteor?
One click hands the question to an AI along with this page — see what it says about Semantic-UI-Meteor.