Semantic-UI-Meteor icon indicating copy to clipboard operation
Semantic-UI-Meteor copied to clipboard

Call For Contributors

Open jlukic opened this issue 9 years ago • 28 comments
trafficstars

It looks like we might be in a bit of a bind with issues piling up and only one active contributor @flemay (who is quite busy).

Would anyone be interested in helping wrestle some of the open issues in this integration? Feel free to e-mail me or reply in this thread.

jlukic avatar May 20 '16 05:05 jlukic

Before I saw this just now I was considering offering to be one and still am. I have several suggestions I need to compile together regarding improvements but I definitely want to get some issues out of the way that are preventing me from developing my clients' websites. It will take me some time to learn the package but I'm totally down.

fvpDev avatar Aug 29 '16 01:08 fvpDev

@fvpDev I could help you get on board with the package :)

flemay avatar Aug 29 '16 01:08 flemay

Kewlio...yeah not sure with which version #80 started happening but I've only noticed that issue since upgrading to Meteor 1.4+

fvpDev avatar Aug 29 '16 01:08 fvpDev

I didn't test the package with Meteor 1.4+ so maybe there is work to do around the new APIs if any. I can show you one day how to deploy a new version of the package.

flemay avatar Aug 29 '16 01:08 flemay

Kk, feel free to email me whenever

fvpDev avatar Aug 29 '16 01:08 fvpDev

Also, for #80 it randomly worked once or twice for me, without me changing anything really..

fvpDev avatar Aug 29 '16 22:08 fvpDev

Actually, @flemay, the sooner you email me the better. I really need to help get this working ASAP, and each day I spend waiting is time wasted and money not earned for me. Thnx for understanding

fvpDev avatar Aug 29 '16 22:08 fvpDev

I do understand but I am quite busy during the week. You can have a look at https://github.com/flemay/Semantic-UI-Meteorize. This is what I use to create the packages.

flemay avatar Aug 30 '16 00:08 flemay

https://github.com/flemay/Semantic-UI-Meteorize/issues/2

fvpDev avatar Sep 02 '16 22:09 fvpDev

@jlukic Hi Jack, would you mind to add @fvpDev to Atmosphere and semantic-ui-meteor and semantic-ui-data-meteor repos please? :)

flemay avatar Sep 02 '16 22:09 flemay

Just wanted to say again, @flemay, thanks for having that video conference with me; it was quite helpful!

fvpDev avatar Sep 02 '16 23:09 fvpDev

@fvpDev no worries! Thanks to you for helping out with Semantic :) I have a problem pushing the version 2.2.4...it fails badly :(

flemay avatar Sep 03 '16 00:09 flemay

@flemay Are you still actively contributing to this project? I might be interested in helping out getting it to the latest version but I might require some assistance to get started.

byte-bandit avatar Aug 28 '17 14:08 byte-bandit

Thank you @klausklapper for following up here. @flemay @jlukic any guidance you could provide to the community would be greatly appreciated. We'd looooove to see a new version up on Atmosphere soon so we can take advantage of the new features and important defect fixes made to the core framework!

myktra avatar Aug 31 '17 16:08 myktra

@klausklapper @myktra I am not actively contributing to this project but I am happy to give you some guidance so other people can contribute to it. :) The 2 packages are generated by https://github.com/flemay/Semantic-UI-Meteorize. My concern here is that maybe Meteor has changed a lot and would require some changes to the generator.

flemay avatar Sep 12 '17 14:09 flemay

Hey guys. Looking to get some discussion going again on updating this package, or potentially also looking at other approaches to adding semantic-ui to Meteor. cc @levithomason.

dburles avatar Oct 03 '17 05:10 dburles

The 2 packages are generated by https://github.com/flemay/Semantic-UI-Meteorize. My concern here is that maybe Meteor has changed a lot and would require some changes to the generator.

Yep, I also think the design is overkill here. In order to get Semantic UI ported to Meteor, it requires Docker, a custom build tool, and publishing two separate packages. Props to @flemay for getting this running initially, but I think it is too heavy to maintain.

We're using Semantic-UI-Meteor at work right now and we need to update. I've taken a look around this repo, but again, I feel we're too constrained to really maintain it with ease.

I've got a branch open that currently removes the Meteor package and just installs semantic-ui-less. There is a single bash script that converts it to a Meteor friendly format. Are there any other real benefits to justify the tooling and maintenance involved with the current atmosphere package? Or, should we simplify this a bit?

levithomason avatar Oct 03 '17 05:10 levithomason

Also worthy to note; this package was developed before Meteor had proper support for npm packages. That was introduced in 1.3.

dburles avatar Oct 03 '17 05:10 dburles

I agree, the current approach for the support is somewhat overkill. We have settled for a customized solution that sounds somewhat similar to what @levithomason has written up. Maybe it might be worth to consider replacing this design with something new.

byte-bandit avatar Oct 03 '17 08:10 byte-bandit

If the approach could allow us to use LESS to override some of the core CSS values (like colors and typography) I think that's mostly good enough.

Perhaps secondarily since my application would be serving the customized UI bits directly (though could push to a CDN of course), I'd love to not have to deploy code and styles for widgets I'm not using, which I believe was functionality supported by this package.

myktra avatar Oct 03 '17 11:10 myktra

Hey @levithomason are you able to share your bash script?

dburles avatar Oct 04 '17 02:10 dburles

@levithomason I totally agree that it is heavy to maintain and really hope Meteor has changed enough to simplify everything. I know that years ago, a package would not be able to access a local files therefore that is why there are 2 packages so 1 package can read the semantic files from another package. There is the whole process or renaming semantic files and updating them to please meteor.

The last but not least, the use of docker is not required. I simply love docker and was easing the process of generating the packages without having to install meteor/nodejs on my laptop. Also, it should work fine on a CI server that has only docker.

Thank you all for trying to find a better (and also up to date) approach. :)

flemay avatar Oct 11 '17 10:10 flemay

I was talking to @jlukic and he has also opted for an ugly bash script in his more recent use of SUI in Meteor.

I haven't checked on this script in a while, so no promises that it won't blow up your machine 😅

It needs parameterized a bit, BASE_SOURCE_DIR and BASE_TARGET_DIR are hard coded. Also needs some testing in the right context. However, I believe this is a good start.

#!/usr/bin/env sh
set -e

##############################################################################
# Update Semantic UI
#
# Using semantic-ui-less in node_modules, this script will:
#   - copy assets to our project
#   - copy definitions/themes to our project
#   - make meteor happy:
#     - rename all files *.less (SUI uses *.variables, *.overrides, *.config)
#     - replace all references to those ^ files

BASE_SOURCE_DIR="node_modules/semantic-ui-less"
BASE_TARGET_DIR="client/imports/styles/semantic-ui-less"

# Updates references to SUI *.variables, *.overrides, *.config files
# to Meteor friendly *.less extensions
parse_less_file() {
  local file="$1"

  cat "$file" | \
  sed -e "s/\.variables/\.variables\.less/g" | \
  sed -e "s/\.overrides/\.overrides\.less/g" | \
  sed -e "s/\.config/\.config\.less/g"
}

# Copies all *.variables, *.overrides, *.config files from the node_module
# to our project directory, renaming and parsing as it goes
update_less_files_in_dir() {
  local dir="$1"
  echo "... updating $dir less files"
  target_dir="$BASE_TARGET_DIR/$dir"
  source_dir="$BASE_SOURCE_DIR/$dir"

  # clear our copy of this dir
  rm -rf "$target_dir"

  # copy all style files over, updating names and references for meteor
  for file in $(find "$source_dir" -name "*.less" -o -name "*.overrides" -o -name "*.variables"); do
    # move the file from the source to the destination
    target_filename=$(echo "$file" | sed -e "s=$source_dir=$target_dir=")
    # append *.less if not present
    target_filename=${target_filename%.less}.less
    target_dirname=$(dirname "$target_filename")

    # ensure target dirs exists
    mkdir -p "$target_dirname"

    # output to new filename with .less appended
    parse_less_file "$file" > "$target_filename"
  done
}

# update directories
update_less_files_in_dir "definitions"
update_less_files_in_dir "themes/default"

# update assets
echo "... updating public assets"
fonts_dir="public/fonts/semantic-ui"
images_dir="public/images/semantic-ui"

rm -rf "$fonts_dir"
mkdir -p "$fonts_dir"
cp -R "$BASE_SOURCE_DIR"/themes/default/assets/fonts/* "$fonts_dir"

rm -rf "$images_dir"
mkdir -p "$images_dir"
cp -R "$BASE_SOURCE_DIR"/themes/default/assets/images/* "$images_dir"

# update root files
echo "... updating root files"
parse_less_file "$BASE_SOURCE_DIR/theme.less" > "$BASE_TARGET_DIR/theme.less"

echo "... Done!"

levithomason avatar Oct 11 '17 23:10 levithomason

Thanks @levithomason! It really illustrates how specific of a configuration Meteor requires.

dburles avatar Oct 12 '17 00:10 dburles

Is there still an easy way for newbies to use the current version of Semantic-UI with meteor? Meanwhile, I tried all types of integration except the script above (for which I just lack the necessary skill) and all of them either fail completely or stuck at v2.2.6...

Maybe I can somehow assist to implement a new integration method for the upcoming meteor 1.6?

itshallrun avatar Oct 16 '17 23:10 itshallrun

@aikonplus unfortunately, no. I should also note that this script is only concerned with the LESS and assets. JS is not included, but wouldn't be much to add.

Currently, the easiest path IMHO would be to build your theme outside of Meteor and then import the compiled CSS. 😕

We're beginning work over at https://github.com/openmastery/semantic-ui-theme that will make building and integrating Semantic UI themes into any framework much easier. However, this is a long run and not likely to be done soon.

levithomason avatar Oct 18 '17 22:10 levithomason

@levithomason Any updates on this? I am struggling to get Semantic UI React + meteor going.

snowzurfer avatar Mar 05 '18 21:03 snowzurfer

Seems as though this project is at a standstill. Support for updating the package to the latest version of Semantic UI for Meteor seems non-existent.

devlinpadayachee avatar Mar 11 '18 12:03 devlinpadayachee