├── log
└── .keep
├── app
├── mailers
│ └── .keep
├── models
│ ├── .keep
│ ├── concerns
│ │ └── .keep
│ └── food.rb
├── assets
│ ├── images
│ │ └── .keep
│ ├── javascripts
│ │ └── application.js
│ └── stylesheets
│ │ └── application.css
├── controllers
│ ├── concerns
│ │ └── .keep
│ ├── application_controller.rb
│ └── foods_controller.rb
├── helpers
│ └── application_helper.rb
└── views
│ └── layouts
│ └── application.html.erb
├── lib
├── assets
│ └── .keep
└── tasks
│ ├── .keep
│ └── start.rake
├── public
├── favicon.ico
├── robots.txt
├── 500.html
├── 422.html
└── 404.html
├── test
├── helpers
│ └── .keep
├── mailers
│ └── .keep
├── models
│ └── .keep
├── controllers
│ └── .keep
├── fixtures
│ └── .keep
├── integration
│ └── .keep
└── test_helper.rb
├── vendor
└── assets
│ ├── javascripts
│ └── .keep
│ └── stylesheets
│ └── .keep
├── client
├── semantic
│ ├── src
│ │ ├── site
│ │ │ ├── modules
│ │ │ │ ├── embed.variables
│ │ │ │ ├── nag.overrides
│ │ │ │ ├── tab.overrides
│ │ │ │ ├── accordion.overrides
│ │ │ │ ├── chatroom.overrides
│ │ │ │ ├── checkbox.overrides
│ │ │ │ ├── dimmer.overrides
│ │ │ │ ├── dropdown.overrides
│ │ │ │ ├── embed.overrides
│ │ │ │ ├── modal.overrides
│ │ │ │ ├── modal.variables
│ │ │ │ ├── nag.variables
│ │ │ │ ├── popup.overrides
│ │ │ │ ├── progress.overrides
│ │ │ │ ├── rating.overrides
│ │ │ │ ├── rating.variables
│ │ │ │ ├── search.overrides
│ │ │ │ ├── search.variables
│ │ │ │ ├── shape.overrides
│ │ │ │ ├── sidebar.overrides
│ │ │ │ ├── sidebar.variables
│ │ │ │ ├── sticky.overrides
│ │ │ │ ├── sticky.variables
│ │ │ │ ├── tab.variables
│ │ │ │ ├── accordion.variables
│ │ │ │ ├── chatroom.variables
│ │ │ │ ├── checkbox.variables
│ │ │ │ ├── dimmer.variables
│ │ │ │ ├── dropdown.variables
│ │ │ │ ├── popup.variables
│ │ │ │ ├── progress.variables
│ │ │ │ ├── shape.variables
│ │ │ │ ├── transition.overrides
│ │ │ │ └── transition.variables
│ │ │ ├── elements
│ │ │ │ ├── flag.variables
│ │ │ │ ├── button.overrides
│ │ │ │ ├── divider.overrides
│ │ │ │ ├── flag.overrides
│ │ │ │ ├── header.overrides
│ │ │ │ ├── icon.overrides
│ │ │ │ ├── image.overrides
│ │ │ │ ├── input.overrides
│ │ │ │ ├── label.overrides
│ │ │ │ ├── loader.overrides
│ │ │ │ ├── rail.overrides
│ │ │ │ ├── reveal.overrides
│ │ │ │ ├── segment.overrides
│ │ │ │ ├── step.overrides
│ │ │ │ ├── button.variables
│ │ │ │ ├── container.overrides
│ │ │ │ ├── divider.variables
│ │ │ │ ├── header.variables
│ │ │ │ ├── icon.variables
│ │ │ │ ├── image.variables
│ │ │ │ ├── input.variables
│ │ │ │ ├── label.variables
│ │ │ │ ├── list.overrides
│ │ │ │ ├── list.variables
│ │ │ │ ├── loader.variables
│ │ │ │ ├── rail.variables
│ │ │ │ ├── reveal.variables
│ │ │ │ ├── segment.variables
│ │ │ │ ├── step.variables
│ │ │ │ └── container.variables
│ │ │ ├── globals
│ │ │ │ ├── site.variables
│ │ │ │ ├── reset.overrides
│ │ │ │ ├── reset.variables
│ │ │ │ └── site.overrides
│ │ │ ├── collections
│ │ │ │ ├── form.overrides
│ │ │ │ ├── grid.overrides
│ │ │ │ ├── menu.overrides
│ │ │ │ ├── form.variables
│ │ │ │ ├── grid.variables
│ │ │ │ ├── menu.variables
│ │ │ │ ├── message.overrides
│ │ │ │ ├── table.overrides
│ │ │ │ ├── table.variables
│ │ │ │ ├── breadcrumb.overrides
│ │ │ │ ├── breadcrumb.variables
│ │ │ │ └── message.variables
│ │ │ └── views
│ │ │ │ ├── ad.overrides
│ │ │ │ ├── ad.variables
│ │ │ │ ├── card.overrides
│ │ │ │ ├── card.variables
│ │ │ │ ├── feed.overrides
│ │ │ │ ├── feed.variables
│ │ │ │ ├── item.overrides
│ │ │ │ ├── item.variables
│ │ │ │ ├── comment.overrides
│ │ │ │ ├── comment.variables
│ │ │ │ ├── statistic.overrides
│ │ │ │ └── statistic.variables
│ │ ├── themes
│ │ │ ├── material
│ │ │ │ ├── globals
│ │ │ │ │ └── site.overrides
│ │ │ │ ├── collections
│ │ │ │ │ ├── menu.overrides
│ │ │ │ │ └── menu.variables
│ │ │ │ ├── assets
│ │ │ │ │ └── fonts
│ │ │ │ │ │ ├── icons.eot
│ │ │ │ │ │ ├── icons.ttf
│ │ │ │ │ │ └── icons.woff
│ │ │ │ ├── modules
│ │ │ │ │ ├── dropdown.overrides
│ │ │ │ │ ├── modal.overrides
│ │ │ │ │ ├── modal.variables
│ │ │ │ │ └── dropdown.variables
│ │ │ │ └── elements
│ │ │ │ │ ├── icon.variables
│ │ │ │ │ ├── header.overrides
│ │ │ │ │ ├── header.variables
│ │ │ │ │ └── button.overrides
│ │ │ ├── round
│ │ │ │ └── elements
│ │ │ │ │ └── button.overrides
│ │ │ ├── bootstrap3
│ │ │ │ └── elements
│ │ │ │ │ ├── button.overrides
│ │ │ │ │ └── button.variables
│ │ │ ├── chubby
│ │ │ │ ├── collections
│ │ │ │ │ ├── menu.overrides
│ │ │ │ │ ├── form.variables
│ │ │ │ │ ├── form.overrides
│ │ │ │ │ └── menu.variables
│ │ │ │ ├── elements
│ │ │ │ │ ├── header.overrides
│ │ │ │ │ ├── header.variables
│ │ │ │ │ ├── button.overrides
│ │ │ │ │ └── button.variables
│ │ │ │ ├── modules
│ │ │ │ │ ├── accordion.overrides
│ │ │ │ │ └── accordion.variables
│ │ │ │ └── views
│ │ │ │ │ ├── comment.overrides
│ │ │ │ │ └── comment.variables
│ │ │ ├── colored
│ │ │ │ └── modules
│ │ │ │ │ ├── checkbox.overrides
│ │ │ │ │ └── checkbox.variables
│ │ │ ├── default
│ │ │ │ ├── collections
│ │ │ │ │ ├── table.overrides
│ │ │ │ │ ├── form.overrides
│ │ │ │ │ ├── menu.overrides
│ │ │ │ │ ├── message.overrides
│ │ │ │ │ ├── breadcrumb.overrides
│ │ │ │ │ ├── grid.overrides
│ │ │ │ │ └── breadcrumb.variables
│ │ │ │ ├── globals
│ │ │ │ │ ├── reset.variables
│ │ │ │ │ └── site.overrides
│ │ │ │ ├── modules
│ │ │ │ │ ├── chatroom.variables
│ │ │ │ │ ├── tab.overrides
│ │ │ │ │ ├── dimmer.overrides
│ │ │ │ │ ├── embed.overrides
│ │ │ │ │ ├── modal.overrides
│ │ │ │ │ ├── nag.overrides
│ │ │ │ │ ├── popup.overrides
│ │ │ │ │ ├── progress.overrides
│ │ │ │ │ ├── search.overrides
│ │ │ │ │ ├── shape.overrides
│ │ │ │ │ ├── sidebar.overrides
│ │ │ │ │ ├── sticky.overrides
│ │ │ │ │ ├── chatroom.overrides
│ │ │ │ │ ├── sticky.variables
│ │ │ │ │ ├── tab.variables
│ │ │ │ │ ├── transition.variables
│ │ │ │ │ ├── shape.variables
│ │ │ │ │ ├── sidebar.variables
│ │ │ │ │ ├── embed.variables
│ │ │ │ │ ├── nag.variables
│ │ │ │ │ └── dimmer.variables
│ │ │ │ ├── views
│ │ │ │ │ ├── ad.overrides
│ │ │ │ │ ├── card.overrides
│ │ │ │ │ ├── feed.overrides
│ │ │ │ │ ├── item.overrides
│ │ │ │ │ ├── comment.overrides
│ │ │ │ │ ├── statistic.overrides
│ │ │ │ │ └── ad.variables
│ │ │ │ ├── elements
│ │ │ │ │ ├── button.overrides
│ │ │ │ │ ├── image.overrides
│ │ │ │ │ ├── input.overrides
│ │ │ │ │ ├── label.overrides
│ │ │ │ │ ├── list.overrides
│ │ │ │ │ ├── loader.overrides
│ │ │ │ │ ├── rail.overrides
│ │ │ │ │ ├── reveal.overrides
│ │ │ │ │ ├── container.overrides
│ │ │ │ │ ├── header.overrides
│ │ │ │ │ ├── segment.overrides
│ │ │ │ │ ├── flag.variables
│ │ │ │ │ ├── reveal.variables
│ │ │ │ │ ├── rail.variables
│ │ │ │ │ ├── image.variables
│ │ │ │ │ └── divider.variables
│ │ │ │ └── assets
│ │ │ │ │ ├── fonts
│ │ │ │ │ ├── icons.eot
│ │ │ │ │ ├── icons.ttf
│ │ │ │ │ ├── icons.woff
│ │ │ │ │ └── icons.woff2
│ │ │ │ │ └── images
│ │ │ │ │ └── flags.png
│ │ │ ├── gmail
│ │ │ │ └── collections
│ │ │ │ │ ├── message.overrides
│ │ │ │ │ └── message.variables
│ │ │ ├── github
│ │ │ │ ├── collections
│ │ │ │ │ ├── grid.variables
│ │ │ │ │ ├── menu.overrides
│ │ │ │ │ ├── table.variables
│ │ │ │ │ ├── breadcrumb.variables
│ │ │ │ │ ├── message.overrides
│ │ │ │ │ ├── form.overrides
│ │ │ │ │ ├── message.variables
│ │ │ │ │ ├── form.variables
│ │ │ │ │ └── menu.variables
│ │ │ │ ├── elements
│ │ │ │ │ ├── button.overrides
│ │ │ │ │ ├── segment.overrides
│ │ │ │ │ ├── label.variables
│ │ │ │ │ ├── image.variables
│ │ │ │ │ ├── header.variables
│ │ │ │ │ ├── icon.variables
│ │ │ │ │ ├── label.overrides
│ │ │ │ │ ├── input.variables
│ │ │ │ │ ├── step.overrides
│ │ │ │ │ ├── step.variables
│ │ │ │ │ ├── input.overrides
│ │ │ │ │ └── segment.variables
│ │ │ │ ├── assets
│ │ │ │ │ └── fonts
│ │ │ │ │ │ ├── octicons.ttf
│ │ │ │ │ │ ├── octicons.woff
│ │ │ │ │ │ └── octicons-local.ttf
│ │ │ │ ├── modules
│ │ │ │ │ ├── popup.variables
│ │ │ │ │ └── dropdown.variables
│ │ │ │ └── globals
│ │ │ │ │ └── site.variables
│ │ │ ├── basic
│ │ │ │ ├── globals
│ │ │ │ │ ├── reset.variables
│ │ │ │ │ └── reset.overrides
│ │ │ │ ├── modules
│ │ │ │ │ ├── progress.overrides
│ │ │ │ │ └── progress.variables
│ │ │ │ ├── views
│ │ │ │ │ ├── card.overrides
│ │ │ │ │ └── card.variables
│ │ │ │ ├── elements
│ │ │ │ │ ├── button.overrides
│ │ │ │ │ ├── step.overrides
│ │ │ │ │ ├── icon.variables
│ │ │ │ │ ├── step.variables
│ │ │ │ │ └── button.variables
│ │ │ │ ├── collections
│ │ │ │ │ ├── table.overrides
│ │ │ │ │ └── table.variables
│ │ │ │ └── assets
│ │ │ │ │ └── fonts
│ │ │ │ │ ├── icons.eot
│ │ │ │ │ ├── icons.ttf
│ │ │ │ │ └── icons.woff
│ │ │ ├── flat
│ │ │ │ ├── globals
│ │ │ │ │ └── site.overrides
│ │ │ │ └── collections
│ │ │ │ │ └── form.overrides
│ │ │ ├── resetcss
│ │ │ │ └── globals
│ │ │ │ │ ├── reset.variables
│ │ │ │ │ └── reset.overrides
│ │ │ ├── raised
│ │ │ │ └── elements
│ │ │ │ │ ├── button.overrides
│ │ │ │ │ └── button.variables
│ │ │ ├── classic
│ │ │ │ ├── collections
│ │ │ │ │ ├── table.overrides
│ │ │ │ │ └── table.variables
│ │ │ │ ├── elements
│ │ │ │ │ ├── button.overrides
│ │ │ │ │ ├── header.overrides
│ │ │ │ │ └── header.variables
│ │ │ │ ├── modules
│ │ │ │ │ ├── progress.overrides
│ │ │ │ │ └── progress.variables
│ │ │ │ └── views
│ │ │ │ │ └── card.variables
│ │ │ ├── duo
│ │ │ │ └── elements
│ │ │ │ │ ├── loader.overrides
│ │ │ │ │ └── loader.variables
│ │ │ ├── fixed-width
│ │ │ │ ├── modules
│ │ │ │ │ ├── modal.overrides
│ │ │ │ │ └── modal.variables
│ │ │ │ └── collections
│ │ │ │ │ ├── grid.overrides
│ │ │ │ │ └── grid.variables
│ │ │ ├── striped
│ │ │ │ └── modules
│ │ │ │ │ ├── progress.variables
│ │ │ │ │ └── progress.overrides
│ │ │ ├── pulsar
│ │ │ │ └── elements
│ │ │ │ │ ├── loader.variables
│ │ │ │ │ └── loader.overrides
│ │ │ ├── rtl
│ │ │ │ └── globals
│ │ │ │ │ ├── site.overrides
│ │ │ │ │ └── site.variables
│ │ │ ├── instagram
│ │ │ │ └── views
│ │ │ │ │ ├── card.overrides
│ │ │ │ │ └── card.variables
│ │ │ ├── twitter
│ │ │ │ └── elements
│ │ │ │ │ ├── button.overrides
│ │ │ │ │ └── button.variables
│ │ │ ├── bookish
│ │ │ │ └── elements
│ │ │ │ │ ├── header.overrides
│ │ │ │ │ └── header.variables
│ │ │ ├── timeline
│ │ │ │ └── views
│ │ │ │ │ ├── feed.overrides
│ │ │ │ │ └── feed.variables
│ │ │ └── amazon
│ │ │ │ ├── globals
│ │ │ │ └── site.variables
│ │ │ │ └── elements
│ │ │ │ ├── button.overrides
│ │ │ │ └── button.variables
│ │ ├── definitions
│ │ │ ├── globals
│ │ │ │ └── reset.less
│ │ │ ├── elements
│ │ │ │ └── flag.less
│ │ │ └── modules
│ │ │ │ ├── sticky.less
│ │ │ │ └── transition.less
│ │ └── theme.less
│ ├── dist
│ │ ├── themes
│ │ │ ├── basic
│ │ │ │ └── assets
│ │ │ │ │ └── fonts
│ │ │ │ │ ├── icons.eot
│ │ │ │ │ ├── icons.ttf
│ │ │ │ │ └── icons.woff
│ │ │ ├── default
│ │ │ │ └── assets
│ │ │ │ │ ├── fonts
│ │ │ │ │ ├── icons.eot
│ │ │ │ │ ├── icons.ttf
│ │ │ │ │ ├── icons.woff
│ │ │ │ │ └── icons.woff2
│ │ │ │ │ └── images
│ │ │ │ │ └── flags.png
│ │ │ ├── github
│ │ │ │ └── assets
│ │ │ │ │ └── fonts
│ │ │ │ │ ├── octicons.ttf
│ │ │ │ │ ├── octicons.woff
│ │ │ │ │ └── octicons-local.ttf
│ │ │ └── material
│ │ │ │ └── assets
│ │ │ │ └── fonts
│ │ │ │ ├── icons.eot
│ │ │ │ ├── icons.ttf
│ │ │ │ └── icons.woff
│ │ └── components
│ │ │ ├── sticky.min.css
│ │ │ ├── tab.min.css
│ │ │ ├── breadcrumb.min.css
│ │ │ ├── nag.min.css
│ │ │ ├── rail.min.css
│ │ │ ├── sticky.css
│ │ │ ├── site.min.css
│ │ │ └── embed.min.css
│ └── tasks
│ │ ├── config
│ │ ├── admin
│ │ │ ├── oauth.example.js
│ │ │ ├── templates
│ │ │ │ ├── component-package.js
│ │ │ │ ├── less-package.js
│ │ │ │ ├── composer.json
│ │ │ │ ├── package.json
│ │ │ │ ├── bower.json
│ │ │ │ ├── css-package.js
│ │ │ │ └── README.md
│ │ │ └── github.js
│ │ ├── docs.js
│ │ ├── user.js
│ │ └── project
│ │ │ └── release.js
│ │ ├── version.js
│ │ ├── clean.js
│ │ ├── collections
│ │ ├── README.md
│ │ ├── rtl.js
│ │ └── build.js
│ │ ├── README.md
│ │ ├── admin
│ │ ├── publish.js
│ │ ├── release.js
│ │ └── register.js
│ │ ├── check-install.js
│ │ ├── build
│ │ └── assets.js
│ │ └── build.js
├── public
│ ├── favicon.ico
│ └── index.html
├── src
│ ├── semantic-ui
│ │ ├── themes
│ │ │ ├── basic
│ │ │ │ └── assets
│ │ │ │ │ └── fonts
│ │ │ │ │ ├── icons.eot
│ │ │ │ │ ├── icons.ttf
│ │ │ │ │ └── icons.woff
│ │ │ ├── default
│ │ │ │ └── assets
│ │ │ │ │ ├── fonts
│ │ │ │ │ ├── icons.eot
│ │ │ │ │ ├── icons.otf
│ │ │ │ │ ├── icons.ttf
│ │ │ │ │ ├── icons.woff
│ │ │ │ │ └── icons.woff2
│ │ │ │ │ └── images
│ │ │ │ │ └── flags.png
│ │ │ └── github
│ │ │ │ └── assets
│ │ │ │ └── fonts
│ │ │ │ ├── octicons.ttf
│ │ │ │ ├── octicons.woff
│ │ │ │ └── octicons-local.ttf
│ │ └── components
│ │ │ ├── sticky.min.css
│ │ │ ├── tab.min.css
│ │ │ ├── rail.min.css
│ │ │ ├── breadcrumb.min.css
│ │ │ ├── video.min.css
│ │ │ ├── nag.min.css
│ │ │ └── site.min.css
│ ├── index.css
│ ├── index.js
│ ├── Client.js
│ └── App.js
├── .gitignore
├── semantic.json
└── package.json
├── Procfile
├── db
├── raw-ndb.csv
├── seeds.rb
└── migrate
│ └── 20160803174234_initial.rb
├── flow-diagram.png
├── config
├── routes.rb
├── boot.rb
├── initializers
│ ├── cookies_serializer.rb
│ ├── session_store.rb
│ ├── mime_types.rb
│ ├── filter_parameter_logging.rb
│ ├── backtrace_silencers.rb
│ ├── assets.rb
│ ├── wrap_parameters.rb
│ └── inflections.rb
├── environment.rb
├── database.yml
├── locales
│ └── en.yml
├── secrets.yml
├── application.rb
└── environments
│ └── development.rb
├── bin
├── bundle
├── rake
├── rails
├── spring
└── setup
├── config.ru
├── Rakefile
├── .gitignore
└── Gemfile
/log/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/app/mailers/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/app/models/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/lib/assets/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/lib/tasks/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/favicon.ico:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/helpers/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/mailers/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/models/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/app/assets/images/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/controllers/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/fixtures/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/integration/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/app/models/concerns/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/app/controllers/concerns/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/vendor/assets/javascripts/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/vendor/assets/stylesheets/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/embed.variables:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/material/globals/site.overrides:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/round/elements/button.overrides:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/bootstrap3/elements/button.overrides:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/chubby/collections/menu.overrides:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/colored/modules/checkbox.overrides:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/collections/table.overrides:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/gmail/collections/message.overrides:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/app/helpers/application_helper.rb:
--------------------------------------------------------------------------------
1 | module ApplicationHelper
2 | end
3 |
--------------------------------------------------------------------------------
/Procfile:
--------------------------------------------------------------------------------
1 | web: cd client && npm start
2 | api: bundle exec rails s -p 3001
3 |
--------------------------------------------------------------------------------
/lib/tasks/start.rake:
--------------------------------------------------------------------------------
1 | task :start do
2 | exec 'foreman start -p 3000'
3 | end
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/github/collections/grid.variables:
--------------------------------------------------------------------------------
1 |
2 | @gutterWidth: 1.538rem;
--------------------------------------------------------------------------------
/db/raw-ndb.csv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo-rails/HEAD/db/raw-ndb.csv
--------------------------------------------------------------------------------
/flow-diagram.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo-rails/HEAD/flow-diagram.png
--------------------------------------------------------------------------------
/client/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo-rails/HEAD/client/public/favicon.ico
--------------------------------------------------------------------------------
/client/semantic/src/site/elements/flag.variables:
--------------------------------------------------------------------------------
1 | /*-------------------
2 | Flag Variables
3 | --------------------*/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/material/collections/menu.overrides:
--------------------------------------------------------------------------------
1 | @import url(https://fonts.googleapis.com/css?family=Roboto);
2 |
--------------------------------------------------------------------------------
/config/routes.rb:
--------------------------------------------------------------------------------
1 | Rails.application.routes.draw do
2 | scope '/api' do
3 | get :food, to: 'foods#index'
4 | end
5 | end
6 |
--------------------------------------------------------------------------------
/client/semantic/src/site/globals/site.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Global Variables
3 | *******************************/
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/nag.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/tab.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/basic/globals/reset.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Reset
3 | *******************************/
--------------------------------------------------------------------------------
/bin/bundle:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 | ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
3 | load Gem.bin_path('bundler', 'bundle')
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/collections/form.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/collections/grid.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/collections/menu.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/elements/button.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/elements/divider.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/elements/flag.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/elements/header.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/elements/icon.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/elements/image.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/elements/input.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/elements/label.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/elements/loader.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/elements/rail.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/elements/reveal.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/elements/segment.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/elements/step.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/globals/reset.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/globals/reset.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Global Variables
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/globals/site.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/accordion.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/chatroom.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/checkbox.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/dimmer.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/dropdown.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/embed.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/modal.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/modal.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/nag.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/popup.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/progress.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/rating.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/rating.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/search.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/search.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/shape.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/sidebar.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/sidebar.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/sticky.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/sticky.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/tab.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/views/ad.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/views/ad.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/views/card.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/views/card.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/views/feed.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/views/feed.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/views/item.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/views/item.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/globals/reset.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Reset
3 | *******************************/
--------------------------------------------------------------------------------
/client/semantic/src/themes/flat/globals/site.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/resetcss/globals/reset.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Reset
3 | *******************************/
--------------------------------------------------------------------------------
/client/semantic/src/site/collections/form.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/collections/grid.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/collections/menu.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/collections/message.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/collections/table.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/collections/table.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/elements/button.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/elements/container.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/elements/divider.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/elements/header.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/elements/icon.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/elements/image.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/elements/input.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/elements/label.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/elements/list.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/elements/list.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/elements/loader.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/elements/rail.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/elements/reveal.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/elements/segment.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/elements/step.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/accordion.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/chatroom.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/checkbox.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/dimmer.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/dropdown.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/popup.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/progress.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/shape.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/transition.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/views/comment.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/views/comment.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/views/statistic.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/views/statistic.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/basic/modules/progress.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Progress
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/basic/views/card.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
5 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/modules/chatroom.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Chatroom
3 | *******************************/
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/modules/tab.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Tab Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/views/ad.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/views/card.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/views/feed.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/views/item.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/raised/elements/button.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/config/boot.rb:
--------------------------------------------------------------------------------
1 | ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
2 |
3 | require 'bundler/setup' # Set up gems listed in the Gemfile.
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/collections/breadcrumb.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/collections/breadcrumb.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/collections/message.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/elements/container.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/site/modules/transition.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/basic/elements/button.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
5 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/classic/collections/table.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/classic/elements/button.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/classic/elements/header.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/classic/modules/progress.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Progress
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/elements/button.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/elements/image.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/elements/input.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/elements/label.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/elements/list.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/elements/loader.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/elements/rail.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/elements/reveal.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/globals/site.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Global Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/modules/dimmer.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/modules/embed.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Video Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/modules/modal.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/modules/nag.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/modules/popup.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/modules/progress.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Progress
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/modules/search.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/modules/shape.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/modules/sidebar.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/modules/sticky.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/views/comment.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/views/statistic.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/duo/elements/loader.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/fixed-width/modules/modal.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/github/elements/button.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
5 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/github/elements/segment.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/striped/modules/progress.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Progress
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/basic/collections/table.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
5 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/collections/form.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/collections/menu.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/collections/message.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/elements/container.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/elements/header.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
5 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/elements/segment.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/modules/chatroom.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/fixed-width/collections/grid.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/collections/breadcrumb.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/collections/grid.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
5 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/github/elements/label.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
5 |
--------------------------------------------------------------------------------
/config.ru:
--------------------------------------------------------------------------------
1 | # This file is used by Rack-based servers to start the application.
2 |
3 | require ::File.expand_path('../config/environment', __FILE__)
4 | run Rails.application
5 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/basic/assets/fonts/icons.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo-rails/HEAD/client/semantic/src/themes/basic/assets/fonts/icons.eot
--------------------------------------------------------------------------------
/client/semantic/src/themes/basic/assets/fonts/icons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo-rails/HEAD/client/semantic/src/themes/basic/assets/fonts/icons.ttf
--------------------------------------------------------------------------------
/config/initializers/cookies_serializer.rb:
--------------------------------------------------------------------------------
1 | # Be sure to restart your server when you modify this file.
2 |
3 | Rails.application.config.action_dispatch.cookies_serializer = :json
4 |
--------------------------------------------------------------------------------
/client/semantic/dist/themes/basic/assets/fonts/icons.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo-rails/HEAD/client/semantic/dist/themes/basic/assets/fonts/icons.eot
--------------------------------------------------------------------------------
/client/semantic/dist/themes/basic/assets/fonts/icons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo-rails/HEAD/client/semantic/dist/themes/basic/assets/fonts/icons.ttf
--------------------------------------------------------------------------------
/client/semantic/dist/themes/basic/assets/fonts/icons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo-rails/HEAD/client/semantic/dist/themes/basic/assets/fonts/icons.woff
--------------------------------------------------------------------------------
/client/semantic/src/themes/basic/assets/fonts/icons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo-rails/HEAD/client/semantic/src/themes/basic/assets/fonts/icons.woff
--------------------------------------------------------------------------------
/client/semantic/src/themes/basic/globals/reset.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
5 | /* No Additional Resets */
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/assets/fonts/icons.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo-rails/HEAD/client/semantic/src/themes/default/assets/fonts/icons.eot
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/assets/fonts/icons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo-rails/HEAD/client/semantic/src/themes/default/assets/fonts/icons.ttf
--------------------------------------------------------------------------------
/client/semantic/src/themes/github/elements/image.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
5 | @miniWidth: 20px;
--------------------------------------------------------------------------------
/client/semantic/dist/themes/default/assets/fonts/icons.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo-rails/HEAD/client/semantic/dist/themes/default/assets/fonts/icons.eot
--------------------------------------------------------------------------------
/client/semantic/dist/themes/default/assets/fonts/icons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo-rails/HEAD/client/semantic/dist/themes/default/assets/fonts/icons.ttf
--------------------------------------------------------------------------------
/client/semantic/dist/themes/default/assets/fonts/icons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo-rails/HEAD/client/semantic/dist/themes/default/assets/fonts/icons.woff
--------------------------------------------------------------------------------
/client/semantic/dist/themes/default/assets/fonts/icons.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo-rails/HEAD/client/semantic/dist/themes/default/assets/fonts/icons.woff2
--------------------------------------------------------------------------------
/client/semantic/dist/themes/default/assets/images/flags.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo-rails/HEAD/client/semantic/dist/themes/default/assets/images/flags.png
--------------------------------------------------------------------------------
/client/semantic/dist/themes/github/assets/fonts/octicons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo-rails/HEAD/client/semantic/dist/themes/github/assets/fonts/octicons.ttf
--------------------------------------------------------------------------------
/client/semantic/dist/themes/material/assets/fonts/icons.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo-rails/HEAD/client/semantic/dist/themes/material/assets/fonts/icons.eot
--------------------------------------------------------------------------------
/client/semantic/dist/themes/material/assets/fonts/icons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo-rails/HEAD/client/semantic/dist/themes/material/assets/fonts/icons.ttf
--------------------------------------------------------------------------------
/client/semantic/dist/themes/material/assets/fonts/icons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo-rails/HEAD/client/semantic/dist/themes/material/assets/fonts/icons.woff
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/assets/fonts/icons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo-rails/HEAD/client/semantic/src/themes/default/assets/fonts/icons.woff
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/assets/fonts/icons.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo-rails/HEAD/client/semantic/src/themes/default/assets/fonts/icons.woff2
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/assets/images/flags.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo-rails/HEAD/client/semantic/src/themes/default/assets/images/flags.png
--------------------------------------------------------------------------------
/client/semantic/src/themes/github/assets/fonts/octicons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo-rails/HEAD/client/semantic/src/themes/github/assets/fonts/octicons.ttf
--------------------------------------------------------------------------------
/client/semantic/src/themes/github/assets/fonts/octicons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo-rails/HEAD/client/semantic/src/themes/github/assets/fonts/octicons.woff
--------------------------------------------------------------------------------
/client/semantic/src/themes/material/assets/fonts/icons.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo-rails/HEAD/client/semantic/src/themes/material/assets/fonts/icons.eot
--------------------------------------------------------------------------------
/client/semantic/src/themes/material/assets/fonts/icons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo-rails/HEAD/client/semantic/src/themes/material/assets/fonts/icons.ttf
--------------------------------------------------------------------------------
/client/semantic/src/themes/material/assets/fonts/icons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo-rails/HEAD/client/semantic/src/themes/material/assets/fonts/icons.woff
--------------------------------------------------------------------------------
/client/src/semantic-ui/themes/basic/assets/fonts/icons.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo-rails/HEAD/client/src/semantic-ui/themes/basic/assets/fonts/icons.eot
--------------------------------------------------------------------------------
/client/src/semantic-ui/themes/basic/assets/fonts/icons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo-rails/HEAD/client/src/semantic-ui/themes/basic/assets/fonts/icons.ttf
--------------------------------------------------------------------------------
/client/src/semantic-ui/themes/basic/assets/fonts/icons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo-rails/HEAD/client/src/semantic-ui/themes/basic/assets/fonts/icons.woff
--------------------------------------------------------------------------------
/client/src/semantic-ui/themes/default/assets/fonts/icons.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo-rails/HEAD/client/src/semantic-ui/themes/default/assets/fonts/icons.eot
--------------------------------------------------------------------------------
/client/src/semantic-ui/themes/default/assets/fonts/icons.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo-rails/HEAD/client/src/semantic-ui/themes/default/assets/fonts/icons.otf
--------------------------------------------------------------------------------
/client/src/semantic-ui/themes/default/assets/fonts/icons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo-rails/HEAD/client/src/semantic-ui/themes/default/assets/fonts/icons.ttf
--------------------------------------------------------------------------------
/config/environment.rb:
--------------------------------------------------------------------------------
1 | # Load the Rails application.
2 | require File.expand_path('../application', __FILE__)
3 |
4 | # Initialize the Rails application.
5 | Rails.application.initialize!
6 |
--------------------------------------------------------------------------------
/client/semantic/dist/themes/github/assets/fonts/octicons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo-rails/HEAD/client/semantic/dist/themes/github/assets/fonts/octicons.woff
--------------------------------------------------------------------------------
/client/semantic/src/themes/material/modules/dropdown.overrides:
--------------------------------------------------------------------------------
1 | @import url(https://fonts.googleapis.com/css?family=Roboto:400,700);
2 |
3 | .ui.dropdown {
4 | font-family: 'Roboto';
5 | }
6 |
--------------------------------------------------------------------------------
/client/src/semantic-ui/themes/default/assets/fonts/icons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo-rails/HEAD/client/src/semantic-ui/themes/default/assets/fonts/icons.woff
--------------------------------------------------------------------------------
/client/src/semantic-ui/themes/default/assets/fonts/icons.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo-rails/HEAD/client/src/semantic-ui/themes/default/assets/fonts/icons.woff2
--------------------------------------------------------------------------------
/client/src/semantic-ui/themes/default/assets/images/flags.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo-rails/HEAD/client/src/semantic-ui/themes/default/assets/images/flags.png
--------------------------------------------------------------------------------
/client/src/semantic-ui/themes/github/assets/fonts/octicons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo-rails/HEAD/client/src/semantic-ui/themes/github/assets/fonts/octicons.ttf
--------------------------------------------------------------------------------
/client/semantic/src/themes/github/assets/fonts/octicons-local.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo-rails/HEAD/client/semantic/src/themes/github/assets/fonts/octicons-local.ttf
--------------------------------------------------------------------------------
/client/src/semantic-ui/themes/github/assets/fonts/octicons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo-rails/HEAD/client/src/semantic-ui/themes/github/assets/fonts/octicons.woff
--------------------------------------------------------------------------------
/config/initializers/session_store.rb:
--------------------------------------------------------------------------------
1 | # Be sure to restart your server when you modify this file.
2 |
3 | Rails.application.config.session_store :cookie_store, key: '_food-lookup-demo-rails_session'
4 |
--------------------------------------------------------------------------------
/client/semantic/dist/themes/github/assets/fonts/octicons-local.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo-rails/HEAD/client/semantic/dist/themes/github/assets/fonts/octicons-local.ttf
--------------------------------------------------------------------------------
/config/initializers/mime_types.rb:
--------------------------------------------------------------------------------
1 | # Be sure to restart your server when you modify this file.
2 |
3 | # Add new mime types for use in respond_to blocks:
4 | # Mime::Type.register "text/richtext", :rtf
5 |
--------------------------------------------------------------------------------
/client/src/semantic-ui/themes/github/assets/fonts/octicons-local.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fullstackreact/food-lookup-demo-rails/HEAD/client/src/semantic-ui/themes/github/assets/fonts/octicons-local.ttf
--------------------------------------------------------------------------------
/client/src/index.css:
--------------------------------------------------------------------------------
1 | body {
2 | margin: 0;
3 | padding: 0;
4 | font-family: sans-serif;
5 | }
6 |
7 | .App {
8 | margin-top: 7em;
9 | }
10 |
11 | #food-search {
12 | margin-top: 5em;
13 | }
14 |
--------------------------------------------------------------------------------
/client/.gitignore:
--------------------------------------------------------------------------------
1 | # See http://help.github.com/ignore-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | node_modules
5 |
6 | # testing
7 | coverage
8 |
9 | # misc
10 | .DS_Store
11 | .env
12 | npm-debug.log
13 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/chubby/elements/header.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
5 | @import url(http://fonts.googleapis.com/css?family=Source+Sans+Pro);
6 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/modules/sticky.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Sticky
3 | *******************************/
4 |
5 | @transitionDuration: @defaultDuration;
6 | @transition: none;
7 | @zIndex: 800;
--------------------------------------------------------------------------------
/public/robots.txt:
--------------------------------------------------------------------------------
1 | # See http://www.robotstxt.org/robotstxt.html for documentation on how to use the robots.txt file
2 | #
3 | # To ban all spiders from the entire site uncomment the next two lines:
4 | # User-agent: *
5 | # Disallow: /
6 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/material/modules/modal.overrides:
--------------------------------------------------------------------------------
1 | @import url(https://fonts.googleapis.com/css?family=Roboto);
2 |
3 | .ui.modal .header {
4 | font-family: "Roboto", Arial, Sans-serif !important;
5 | font-weight: 400 !important;
6 | }
7 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/github/collections/menu.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
5 | .ui.menu .item > .label {
6 | box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1) inset;
7 | }
--------------------------------------------------------------------------------
/config/initializers/filter_parameter_logging.rb:
--------------------------------------------------------------------------------
1 | # Be sure to restart your server when you modify this file.
2 |
3 | # Configure sensitive parameters which will be filtered from the log file.
4 | Rails.application.config.filter_parameters += [:password]
5 |
--------------------------------------------------------------------------------
/app/controllers/application_controller.rb:
--------------------------------------------------------------------------------
1 | class ApplicationController < ActionController::Base
2 | # Prevent CSRF attacks by raising an exception.
3 | # For APIs, you may want to use :null_session instead.
4 | protect_from_forgery with: :exception
5 | end
6 |
--------------------------------------------------------------------------------
/bin/rake:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 | begin
3 | load File.expand_path('../spring', __FILE__)
4 | rescue LoadError => e
5 | raise unless e.message.include?('spring')
6 | end
7 | require_relative '../config/boot'
8 | require 'rake'
9 | Rake.application.run
10 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/chubby/modules/accordion.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
5 | .ui.styled.accordion .accordion .active.title {
6 | border-bottom: 1px solid rgba(0, 0, 0, 0.1);
7 | }
--------------------------------------------------------------------------------
/client/semantic/src/themes/github/elements/header.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Header
3 | *******************************/
4 |
5 | /*-------------------
6 | Element
7 | --------------------*/
8 |
9 | @iconMargin: @4px;
10 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/pulsar/elements/loader.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Loader
3 | *******************************/
4 |
5 | @loaderSpeed: 2s;
6 | @loaderLineColor: @primaryColor;
7 | @invertedLoaderLineColor: @lightPrimaryColor;
8 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/rtl/globals/site.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Global Overrides
3 | *******************************/
4 |
5 | /* Import Droid Arabic Kufi */
6 | @import 'http://fonts.googleapis.com/earlyaccess/droidarabickufi.css';
7 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/chubby/collections/form.variables:
--------------------------------------------------------------------------------
1 | /*-------------------
2 | Form Variables
3 | --------------------*/
4 |
5 | @labelTextTransform: uppercase;
6 | @labelFontSize: 0.8em;
7 |
8 | @inputPadding: 1em 1.2em;
9 | @inputBorder: 2px solid @borderColor;
--------------------------------------------------------------------------------
/Rakefile:
--------------------------------------------------------------------------------
1 | # Add your own tasks in files placed in lib/tasks ending in .rake,
2 | # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
3 |
4 | require File.expand_path('../config/application', __FILE__)
5 |
6 | Rails.application.load_tasks
7 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/github/collections/table.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
5 | @background: #F8F8F8;
6 |
7 | @cellVerticalPadding: @relative6px;
8 | @cellHorizontalPadding: @relative8px;
--------------------------------------------------------------------------------
/client/semantic/src/themes/material/elements/icon.variables:
--------------------------------------------------------------------------------
1 | @fontPath : '../../themes/material/assets/fonts';
2 |
3 | @width: 1em;
4 | @height: 1em;
5 |
6 | @small: 13px;
7 | @medium: 16px;
8 | @large: 18px;
9 | @big : 20px;
10 | @huge: 28px;
11 | @massive: 32px;
12 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/basic/elements/step.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
5 | .ui.steps .step:after {
6 | display: none !important;
7 | }
8 | .ui.steps .step {
9 | border-radius: 500px !important;
10 | }
--------------------------------------------------------------------------------
/client/semantic/src/themes/basic/collections/table.variables:
--------------------------------------------------------------------------------
1 | /*-------------------
2 | Table Variables
3 | --------------------*/
4 |
5 | @headerBackground: @white;
6 | @footerBackground: @white;
7 |
8 | @cellVerticalPadding: 1em;
9 | @cellHorizontalPadding: 1em;
10 |
11 | @stateMarkerWidth: 1px;
--------------------------------------------------------------------------------
/client/semantic/tasks/config/admin/oauth.example.js:
--------------------------------------------------------------------------------
1 | /*
2 | Used to import GitHub Auth Token
3 | To Automate GitHub Updates
4 | */
5 |
6 | module.exports = {
7 | token : 'AN-OAUTH2-TOKEN',
8 | username : 'github-username',
9 | name : 'Your Name',
10 | email : 'user@email.com'
11 | };
--------------------------------------------------------------------------------
/client/semantic/src/themes/github/collections/breadcrumb.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
5 | @dividerOpacity: 1;
6 | @dividerSpacing: 0;
7 | @dividerSize: @big;
8 | @dividerColor: inherit;
9 |
10 | @huge: 1.5384em;
11 |
12 |
--------------------------------------------------------------------------------
/bin/rails:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 | begin
3 | load File.expand_path('../spring', __FILE__)
4 | rescue LoadError => e
5 | raise unless e.message.include?('spring')
6 | end
7 | APP_PATH = File.expand_path('../../config/application', __FILE__)
8 | require_relative '../config/boot'
9 | require 'rails/commands'
10 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/github/elements/icon.variables:
--------------------------------------------------------------------------------
1 | @fontPath: '../../themes/github/assets/fonts';
2 | @fontName: 'octicons';
3 | @fallbackSRC: '';
4 |
5 | @width: 1em;
6 | @height: 1em;
7 |
8 | @small: 13px;
9 | @medium: 16px;
10 | @large: 18px;
11 | @big : 20px;
12 | @huge: 28px;
13 | @massive: 32px;
--------------------------------------------------------------------------------
/client/semantic/tasks/version.js:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Version Task
3 | *******************************/
4 |
5 | var
6 | release = require('./config/project/release')
7 | ;
8 |
9 | module.exports = function(callback) {
10 | console.log(release.title + ' ' + release.version);
11 | };
--------------------------------------------------------------------------------
/client/src/index.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ReactDOM from 'react-dom';
3 | import App from './App';
4 | import './index.css';
5 | import '../semantic/dist/semantic.min.css';
6 |
7 | ReactDOM.render(
8 | ,
9 | document.getElementById('root'), // eslint-disable-line no-undef
10 | );
11 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/github/modules/popup.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Popup
3 | *******************************/
4 |
5 |
6 | @small: @relative10px;
7 | @medium: @relative11px;
8 | @large: @relative13px;
9 |
10 | @verticalPadding: @relative7px;
11 | @horizontalPadding: @relative11px;
12 |
13 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/modules/tab.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Tab
3 | *******************************/
4 |
5 | /* Loading */
6 | @loadingMinHeight: 250px;
7 | @loadingContentPosition: relative;
8 | @loadingContentOffset: -10000px;
9 |
10 | @loaderDistanceFromTop: 100px;
11 | @loaderSize: 2.5em;
--------------------------------------------------------------------------------
/client/semantic/src/themes/duo/elements/loader.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Loader
3 | *******************************/
4 |
5 | @shapeBorderColor: @primaryColor @primaryColor @secondaryColor @secondaryColor;
6 | @invertedShapeBorderColor: @lightPrimaryColor @lightPrimaryColor @lightSecondaryColor @lightSecondaryColor;
--------------------------------------------------------------------------------
/client/semantic/src/themes/github/elements/label.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Overrides
3 | *******************************/
4 |
5 | /* Notification Label on GitHub */
6 | .ui.floating.blue.label {
7 | border: 2px solid #f3f3f3 !important;
8 | background-image: linear-gradient(#7aa1d3, #4078c0) !important;
9 | }
--------------------------------------------------------------------------------
/client/semantic/src/themes/github/collections/message.overrides:
--------------------------------------------------------------------------------
1 | .ui.info.message {
2 | background: linear-gradient(#D8EBF8, #D0E3EF);
3 | }
4 | .ui.error.message {
5 | background: linear-gradient(#F8D8D8, #EFD0D0);
6 | }
7 | .ui.warning.message {
8 | background: linear-gradient(#FFE3C8, #F5DAC0);
9 | }
10 | .ui.success.message {
11 | }
12 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/classic/modules/progress.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Progress
3 | *******************************/
4 |
5 | @background: rgba(0, 0, 0, 0.05);
6 | @boxShadow: 0px 0px 4px rgba(0, 0, 0, 0.1) inset;
7 | @barBackground: @subtleGradient #888888;
8 | @border: 1px solid @borderColor;
9 | @padding: @relative3px;
--------------------------------------------------------------------------------
/client/semantic/src/themes/instagram/views/card.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
5 |
6 | @import url(http://fonts.googleapis.com/css?family=Montserrat:700,400);
7 |
8 | .ui.cards > .card,
9 | .ui.card {
10 | font-family: 'Montserrat';
11 | font-size-adjust: 0.5;
12 | }
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/modules/transition.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Transition
3 | *******************************/
4 |
5 | @transitionDefaultEasing: @defaultEasing;
6 | @transitionDefaultFill: both;
7 | @transitionDefaultDuration: 300ms;
8 |
9 | @use3DAcceleration: translateZ(0);
10 | @backfaceVisibility: hidden;
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/elements/flag.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Flag
3 | *******************************/
4 |
5 | /*-------------------
6 | Element
7 | --------------------*/
8 |
9 | @spritePath: "@{imagePath}/flags.png";
10 | @width: 16px;
11 | @height: 11px;
12 | @verticalAlign: baseline;
13 | @margin: 0.5em;
--------------------------------------------------------------------------------
/client/semantic/src/themes/material/collections/menu.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Menu
3 | *******************************/
4 |
5 | @fontFamily: 'Roboto', Arial, sans-serif;
6 | @boxShadow: 0px 1px 6px rgba(0, 0, 0, 0.2);
7 | @dividerSize: 0px;
8 |
9 | @itemVerticalPadding: @relativeLarge;
10 | @itemHorizontalPadding: @relativeLarge;
--------------------------------------------------------------------------------
/client/semantic/src/themes/twitter/elements/button.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
5 | .ui.primary.button {
6 | box-shadow:
7 | 0px 0px 0px 1px #3B88C3 inset,
8 | 0 2px 0 rgba(255, 255, 255, 0.15) inset
9 | ;
10 | }
11 | .ui.primary.button > .icon {
12 | color: #FFFFFF;
13 | }
14 |
--------------------------------------------------------------------------------
/test/test_helper.rb:
--------------------------------------------------------------------------------
1 | ENV['RAILS_ENV'] ||= 'test'
2 | require File.expand_path('../../config/environment', __FILE__)
3 | require 'rails/test_help'
4 |
5 | class ActiveSupport::TestCase
6 | # Setup all fixtures in test/fixtures/*.yml for all tests in alphabetical order.
7 | fixtures :all
8 |
9 | # Add more helper methods to be used by all tests here...
10 | end
11 |
--------------------------------------------------------------------------------
/app/models/food.rb:
--------------------------------------------------------------------------------
1 | class Food < ActiveRecord::Base
2 | def fat_g
3 | (
4 | fa_sat_g.to_f + fa_mono_g.to_f + fa_poly_g.to_f
5 | ).round(2)
6 | end
7 |
8 | JSON_KEYS = %w{description kcal fat_g carbohydrate_g protein_g}
9 | def as_json(opts = {})
10 | super.tap do |e|
11 | e['fat_g'] = fat_g
12 | end.slice(*JSON_KEYS)
13 | end
14 | end
15 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/classic/elements/header.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Button
3 | *******************************/
4 |
5 | /*-------------------
6 | Element
7 | --------------------*/
8 |
9 | @headerFont: 'Open Sans', Arial, sans-serif;
10 |
11 | @blockBackground: @offWhite @subtleGradient;
12 | @blockBoxShadow: @subtleShadow;
--------------------------------------------------------------------------------
/client/semantic/src/themes/bookish/elements/header.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
5 | @import url(http://fonts.googleapis.com/css?family=Karma);
6 |
7 | h1.ui.header,
8 | .ui.huge.header {
9 | font-weight: bold;
10 | }
11 |
12 | h2.ui.header,
13 | .ui.large.header {
14 | font-weight: bold;
15 | }
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/views/ad.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Advertisement
3 | *******************************/
4 |
5 | @margin: 1em 0em;
6 | @overflow: hidden;
7 |
8 | @testBackground: @lightBlack;
9 | @testColor: @white;
10 | @testFontWeight: bold;
11 | @testText: 'Ad';
12 | @testFontSize: @relativeMedium;
13 | @testMobileFontSize: @relativeTiny;
--------------------------------------------------------------------------------
/client/semantic/src/themes/material/elements/header.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
5 | @import url(https://fonts.googleapis.com/css?family=Roboto);
6 |
7 | h1.ui.header,
8 | .ui.huge.header {
9 | font-weight: normal;
10 | }
11 |
12 | h2.ui.header,
13 | .ui.large.header {
14 | font-weight: normal;
15 | }
16 |
--------------------------------------------------------------------------------
/app/controllers/foods_controller.rb:
--------------------------------------------------------------------------------
1 | class FoodsController < ApplicationController
2 | def index
3 | q = params[:q]
4 |
5 | if q.blank?
6 | render status: 400, json: { error: 'Expected parameter `q` '}
7 | else
8 | render(
9 | status: 200,
10 | json: Food.where(["description LIKE ?", "%#{q}%"]).limit(100)
11 | )
12 | end
13 | end
14 | end
15 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/chubby/views/comment.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
5 | .ui.comments .comment {
6 | border-radius: 0.5em;
7 | box-shadow: 0px 1px 1px 1px rgba(0, 0, 0, 0.1);
8 | }
9 | .ui.comments .comment .comments .comment {
10 | border: 1px solid rgba(0, 0, 0, 0.1);
11 | box-shadow: none;
12 | }
--------------------------------------------------------------------------------
/app/views/layouts/application.html.erb:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | FoodLookupDemoRails
5 | <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
6 | <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
7 | <%= csrf_meta_tags %>
8 |
9 |
10 |
11 | <%= yield %>
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/basic/modules/progress.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Progress
3 | *******************************/
4 |
5 | @background: transparent;
6 | @border: none;
7 | @padding: 0em;
8 |
9 | @progressLeft: 0em;
10 | @progressWidth: 100%;
11 | @progressTextAlign: center;
12 |
13 | @labelFontWeight: normal;
14 | @labelTextAlign: left;
15 | @labelHeight: 1.5em;
--------------------------------------------------------------------------------
/client/semantic/tasks/clean.js:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Clean Task
3 | *******************************/
4 |
5 | var
6 | del = require('del'),
7 | config = require('./config/user'),
8 | tasks = require('./config/tasks')
9 | ;
10 |
11 | // cleans distribution files
12 | module.exports = function(callback) {
13 | return del([config.paths.clean], tasks.settings.del, callback);
14 | };
--------------------------------------------------------------------------------
/client/semantic/src/themes/gmail/collections/message.variables:
--------------------------------------------------------------------------------
1 | @background: #F3F3F3;
2 |
3 | @boxShadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1) inset;
4 | @borderRadius: 4px;
5 | @verticalPadding: 7px;
6 | @horizontalPadding: 15px;
7 |
8 | @headerFontSize: 1em;
9 |
10 | @floatingBoxShadow: 0px 2px 4px rgba(0, 0, 0, 0.2);
11 |
12 | @iconSize: 1.5em;
13 | @iconDistance: 1em;
14 |
15 | @warningBackgroundColor: #F9EDBE;
16 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/chubby/collections/form.overrides:
--------------------------------------------------------------------------------
1 | /*-------------------
2 | Form Variables
3 | --------------------*/
4 |
5 | .ui.form .selection.dropdown {
6 | padding: 1.1em 1.2em;
7 | border-width: 2px;
8 | }
9 | .ui.form .selection.dropdown .menu {
10 | min-width: calc(100% + 4px);
11 | margin: 0 -2px;
12 | border-width: 2px;
13 | }
14 | .ui.form .selection.dropdown input {
15 | padding: inherit;
16 | }
--------------------------------------------------------------------------------
/client/semantic/tasks/collections/README.md:
--------------------------------------------------------------------------------
1 | ## How to use
2 |
3 | These are collections of tasks that are imported together.
4 |
5 | To import them into gulp:
6 | ```javascript
7 | var
8 | gulp = require('gulp'),
9 | // modified to point to semantic folder
10 | install = require('tasks/collections/install')
11 | ;
12 | gulp = install(gulp);
13 |
14 | // tasks are now injected and ready to be used
15 | gulp.start('install');
16 | ```
--------------------------------------------------------------------------------
/client/semantic/tasks/config/admin/templates/component-package.js:
--------------------------------------------------------------------------------
1 |
2 | Package.describe({
3 | name : 'semantic:ui-{component}',
4 | summary : 'Semantic UI - {Component}: Single component release',
5 | version : '{version}',
6 | git : 'git://github.com/Semantic-Org/UI-{Component}.git',
7 | });
8 |
9 | Package.onUse(function(api) {
10 | api.versionsFrom('1.0');
11 | api.addFiles([
12 | {files}
13 | ], 'client');
14 | });
15 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/basic/elements/icon.variables:
--------------------------------------------------------------------------------
1 | /*-------------------
2 | Icon Variables
3 | --------------------*/
4 |
5 | @fontPath : "../../themes/basic/assets/fonts";
6 |
7 | @src:
8 | url("@{fontPath}/@{fontName}.eot?#iefix") format('embedded-opentype'),
9 | url("@{fontPath}/@{fontName}.woff") format('woff'),
10 | url("@{fontPath}/@{fontName}.ttf") format('truetype'),
11 | url("@{fontPath}/@{fontName}.svg#icons") format('svg')
12 | ;
--------------------------------------------------------------------------------
/client/semantic/src/themes/material/elements/header.variables:
--------------------------------------------------------------------------------
1 | /*-------------------
2 | Header
3 | --------------------*/
4 |
5 | @headerFont : 'Roboto', Arial, sans-serif;
6 | @fontWeight: normal;
7 |
8 | @iconSize: 2em;
9 | @iconOffset: 0.2em;
10 | @iconAlignment: top;
11 |
12 | @subHeaderFontSize: 1rem;
13 |
14 |
15 | /* HTML Headings */
16 | @h1 : 2.25rem;
17 | @h2 : 2rem;
18 | @h3 : 1.75rem;
19 | @h4 : 1.5rem;
20 | @h5 : 1.25rem;
21 |
22 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/classic/collections/table.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Table
3 | *******************************/
4 |
5 | /*-------------------
6 | Element
7 | --------------------*/
8 |
9 | @boxShadow: @subtleGradient;
10 |
11 | @headerBackground: @subtleGradient;
12 | @headerBoxShadow: @subtleShadow;
13 | @footerBoxShadow: 0px -1px 1px 0px rgba(0, 0, 0, 0.05);
14 | @footerBackground: rgba(0, 0, 0, 0.05);
15 |
--------------------------------------------------------------------------------
/config/initializers/backtrace_silencers.rb:
--------------------------------------------------------------------------------
1 | # Be sure to restart your server when you modify this file.
2 |
3 | # You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces.
4 | # Rails.backtrace_cleaner.add_silencer { |line| line =~ /my_noisy_library/ }
5 |
6 | # You can also remove all the silencers if you're trying to debug a problem that might stem from framework code.
7 | # Rails.backtrace_cleaner.remove_silencers!
8 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/basic/elements/step.variables:
--------------------------------------------------------------------------------
1 | /*-------------------
2 | Step Variables
3 | --------------------*/
4 |
5 | /* Stepss */
6 | @stepsBorder: none;
7 | @stepsBorderRadius: @circularRadius;
8 |
9 | /* Step */
10 | @border: none;
11 | @divider: none;
12 | @background: transparent;
13 | @borderRadius: @circularRadius;
14 | @iconDistance: 0.8em;
15 | @arrowDisplay: none;
16 |
17 | @activeBackground: @midWhite;
18 | @activeArrowDisplay: none;
19 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/github/elements/input.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Input
3 | *******************************/
4 |
5 | @boxShadow: 0 1px 2px rgba(0, 0, 0, 0.075) inset;
6 |
7 | @verticalPadding: @relative7px;
8 | @horizontalPadding: @relative8px;
9 |
10 | @borderColor: #CCCCCC;
11 |
12 | @focusBorderColor: #51A7E8;
13 | @focusBoxShadow:
14 | 0 1px 2px rgba(0, 0, 0, 0.075) inset,
15 | 0 0 5px rgba(81, 167, 232, 0.5)
16 | ;
--------------------------------------------------------------------------------
/client/semantic/tasks/collections/rtl.js:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Define Sub-Tasks
3 | *******************************/
4 |
5 | module.exports = function(gulp) {
6 |
7 | var
8 | // rtl
9 | buildRTL = require('./../rtl/build'),
10 | watchRTL = require('./../rtl/watch')
11 | ;
12 |
13 | gulp.task('watch-rtl', 'Build all files as RTL', watchRTL);
14 | gulp.task('build-rtl', 'Watch files as RTL ', buildRTL);
15 |
16 | };
17 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/github/collections/form.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
5 | .ui.selection.dropdown {
6 | background-color: #FAFAFA;
7 | box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075) inset;
8 | border-color: #CCCCCC;
9 | }
10 |
11 | .ui.selection.dropdown:focus {
12 | box-shadow:
13 | 0px 1px 2px rgba(0, 0, 0, 0.075) inset,
14 | 0px 0px 5px rgba(81, 167, 232, 0.5)
15 | ;
16 | }
--------------------------------------------------------------------------------
/client/semantic/src/themes/material/elements/button.overrides:
--------------------------------------------------------------------------------
1 | @import url(https://fonts.googleapis.com/css?family=Roboto);
2 |
3 | .ui.primary.button:hover {
4 | box-shadow:
5 | 0px 0px 0px 1px rgba(0, 0, 0, 0.3) inset,
6 | 0px 2px 3px 0px rgba(0, 0, 0, 0.35) !important
7 | ;
8 | }
9 |
10 | .ui.secondary.button:hover {
11 | box-shadow:
12 | 0px 0px 0px 1px rgba(0, 0, 0, 0.2) inset,
13 | 0px 2px 3px 0px rgba(0, 0, 0, 0.3) !important
14 | ;
15 | }
16 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/material/modules/modal.variables:
--------------------------------------------------------------------------------
1 | @boxShadow: 0px 10px 18px rgba(0, 0, 0, 0.22);
2 | @borderRadius: 0em;
3 |
4 |
5 | @headerBackground: @white;
6 | @headerVerticalPadding: 1.7142rem;
7 | @headerHorizontalPadding: 1.7142rem;
8 | @headerFontWeight: 400;
9 | @headerFontFamily: 'Roboto', "Helvetica Neue", Arial, sans-serif;
10 | @headerBorder: none;
11 |
12 | @contentPadding: 1rem 2rem 2rem;
13 |
14 | @actionBorder: none;
15 | @actionBackground: @white;
--------------------------------------------------------------------------------
/client/semantic/tasks/README.md:
--------------------------------------------------------------------------------
1 | ## Tasks
2 |
3 | * Watch - Compile only changed files from source
4 | * Build - Build all files from source
5 | * Version - Output version number
6 | * Install - Run Installer to Set-up Paths
7 |
8 | ## How to use
9 |
10 | These tasks can be imported into your own gulpfile allowing you to avoid using Semantic's build tools
11 |
12 | ```javascript
13 | var
14 | watch = require('path/to/semantic/tasks/watch')
15 | ;
16 | gulp.task('watch ui', watch);
17 | ```
18 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/chubby/modules/accordion.variables:
--------------------------------------------------------------------------------
1 | /*-------------------
2 | Accordion Variables
3 | --------------------*/
4 |
5 | @iconMargin: 0em 0.5em 0em 0em;
6 |
7 | @styledActiveTitleBackground: @subtleGradient;
8 | @styledActiveTitleColor: @primaryColor;
9 |
10 | @styledActiveChildTitleBackground: transparent;
11 |
12 | @styledTitlePadding: 1.25em;
13 | @styledTitleFontWeight: bold;
14 | @styledContentPadding: 1.5em 3.25em;
15 | @styledChildContentPadding: @styledContentPadding;
--------------------------------------------------------------------------------
/client/semantic/src/themes/chubby/elements/header.variables:
--------------------------------------------------------------------------------
1 | /*-------------------
2 | Header
3 | --------------------*/
4 |
5 | @headerFont : 'Source Sans Pro', Helvetica Neue, Helvetica, Arial, sans-serif;
6 | @fontWeight: bold;
7 | @textTransform: none;
8 |
9 | /* HTML Headings */
10 | @h1: 1.33rem;
11 | @h2: 1.2rem;
12 | @h3: 1rem;
13 | @h4: 0.9rem;
14 | @h5: 0.8rem;
15 |
16 | /* Sizing */
17 | @hugeFontSize: 1.33em;
18 | @largeFontSize: 1.2em;
19 | @mediumFontSize: 1em;
20 | @smallFontSize: 0.9em;
21 | @tinyFontSize: 0.8em;
--------------------------------------------------------------------------------
/client/semantic/src/themes/rtl/globals/site.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Site Settings
3 | *******************************/
4 |
5 | /*-------------------
6 | Fonts
7 | --------------------*/
8 |
9 | @googleFontName : 'Droid Sans';
10 |
11 | /* Kufi imported in site.overrides */
12 | @headerFont : 'Droid Arabic Kufi', 'Droid Sans', 'Helvetica Neue', Arial, Helvetica, sans-serif;
13 | @pageFont : 'Droid Arabic Kufi', 'Droid Sans', 'Helvetica Neue', Arial, Helvetica, sans-serif;
14 |
15 |
--------------------------------------------------------------------------------
/client/semantic/tasks/config/admin/templates/less-package.js:
--------------------------------------------------------------------------------
1 | var
2 | where = 'client' // Adds files only to the client
3 | ;
4 |
5 | Package.describe({
6 | name : 'semantic:ui',
7 | summary : 'Semantic UI - LESS Release of Semantic UI',
8 | version : '{version}',
9 | git : 'git://github.com/Semantic-Org/Semantic-UI-LESS.git',
10 | });
11 |
12 | Package.onUse(function(api) {
13 |
14 | api.versionsFrom('1.0');
15 | api.use('less', 'client');
16 |
17 | api.addFiles([
18 | {files}
19 | ], 'client');
20 |
21 | });
22 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/fixed-width/collections/grid.variables:
--------------------------------------------------------------------------------
1 | /* Fixed Page Grid */
2 |
3 | @mobileWidth: auto;
4 | @mobileMargin: 0em;
5 | @mobileGutter: 0em;
6 |
7 | @tabletWidth: auto;
8 | @tabletMargin: 0em;
9 | @tabletGutter: 8%;
10 |
11 | @computerWidth: 960px;
12 | @computerMargin: auto;
13 | @computerGutter: 0;
14 |
15 | @largeMonitorWidth: 1180px;
16 | @largeMonitorMargin: auto;
17 | @largeMonitorGutter: 0;
18 |
19 | @widescreenMonitorWidth: 1300px;
20 | @widescreenMargin: auto;
21 | @widescreenMonitorGutter: 0;
22 |
23 | @tableWidth: '';
--------------------------------------------------------------------------------
/config/initializers/assets.rb:
--------------------------------------------------------------------------------
1 | # Be sure to restart your server when you modify this file.
2 |
3 | # Version of your assets, change this if you want to expire all your assets.
4 | Rails.application.config.assets.version = '1.0'
5 |
6 | # Add additional assets to the asset load path
7 | # Rails.application.config.assets.paths << Emoji.images_path
8 |
9 | # Precompile additional assets.
10 | # application.js, application.css, and all non-JS/CSS in app/assets folder are already added.
11 | # Rails.application.config.assets.precompile += %w( search.js )
12 |
--------------------------------------------------------------------------------
/bin/spring:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 |
3 | # This file loads spring without using Bundler, in order to be fast.
4 | # It gets overwritten when you run the `spring binstub` command.
5 |
6 | unless defined?(Spring)
7 | require 'rubygems'
8 | require 'bundler'
9 |
10 | if (match = Bundler.default_lockfile.read.match(/^GEM$.*?^ (?: )*spring \((.*?)\)$.*?^$/m))
11 | Gem.paths = { 'GEM_PATH' => [Bundler.bundle_path.to_s, *Gem.path].uniq.join(Gem.path_separator) }
12 | gem 'spring', match[1]
13 | require 'spring/binstub'
14 | end
15 | end
16 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files for more about ignoring files.
2 | #
3 | # If you find yourself ignoring temporary files generated by your text editor
4 | # or operating system, you probably want to add a global ignore instead:
5 | # git config --global core.excludesfile '~/.gitignore_global'
6 |
7 | # Ignore bundler config.
8 | /.bundle
9 |
10 | # Ignore the default SQLite database.
11 | /db/*.sqlite3
12 | /db/*.sqlite3-journal
13 |
14 | # Ignore all logfiles and tempfiles.
15 | /log/*
16 | !/log/.keep
17 | /tmp
18 | node_modules
19 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/instagram/views/card.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Card
3 | *******************************/
4 |
5 | /*-------------------
6 | View
7 | --------------------*/
8 |
9 | @borderBoxShadow: none;
10 | @shadowBoxShadow: none;
11 | @boxShadow: none;
12 |
13 |
14 | @internalBorderColor: #EDEDEE;
15 | @border: 1px solid #EDEDEE;
16 |
17 | @contentPadding: 14px 20px;
18 |
19 | @metaColor: #A5A7AA;
20 |
21 | @linkHoverRaiseDistance: 0px;
22 | @linkHoverBoxShadow: none;
23 | @linkHoverBorder: 1px solid #D0D0D8;
--------------------------------------------------------------------------------
/client/semantic.json:
--------------------------------------------------------------------------------
1 | {
2 | "base": "semantic/",
3 | "paths": {
4 | "source": {
5 | "config": "src/theme.config",
6 | "definitions": "src/definitions/",
7 | "site": "src/site/",
8 | "themes": "src/themes/"
9 | },
10 | "output": {
11 | "packaged": "dist/",
12 | "uncompressed": "dist/components/",
13 | "compressed": "dist/components/",
14 | "themes": "dist/themes/"
15 | },
16 | "clean": "dist/"
17 | },
18 | "permission": false,
19 | "autoInstall": false,
20 | "rtl": false,
21 | "version": "2.2.10"
22 | }
--------------------------------------------------------------------------------
/client/semantic/tasks/config/admin/templates/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name" : "semantic/ui",
3 | "description" : "Semantic empowers designers and developers by creating a shared vocabulary for UI.",
4 | "homepage" : "http://www.semantic-ui.com",
5 | "authors": [
6 | {
7 | "name" : "Jack Lukic",
8 | "email": "jacklukic@gmail.com",
9 | "web" : "http://www.jacklukic.com",
10 | "role" : "Creator"
11 | }
12 | ],
13 | "keywords": [
14 | "semantic",
15 | "ui",
16 | "css",
17 | "framework"
18 | ],
19 | "license" : "MIT"
20 | }
--------------------------------------------------------------------------------
/client/semantic/src/themes/material/modules/dropdown.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Menu
3 | *******************************/
4 |
5 | @menuBorderRadius: @borderRadius;
6 | @menuBorderColor: #DADADA;
7 | @menuBoxShadow: 0px 2px 4px rgba(0, 0, 0, 0.2);
8 |
9 | @menuPadding: @relative8px 0em;
10 | @itemVerticalPadding: 1em;
11 | @itemHorizontalPadding: 1.5em;
12 |
13 | @menuHeaderFontSize: @small;
14 | @menuHeaderFontWeight: bold;
15 | @menuHeaderTextTransform: none;
16 |
17 | @selectionBorderEmWidth: 0em;
18 | @selectionItemDivider: none;
19 |
20 | @labelBoxShadow: none;
--------------------------------------------------------------------------------
/config/initializers/wrap_parameters.rb:
--------------------------------------------------------------------------------
1 | # Be sure to restart your server when you modify this file.
2 |
3 | # This file contains settings for ActionController::ParamsWrapper which
4 | # is enabled by default.
5 |
6 | # Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array.
7 | ActiveSupport.on_load(:action_controller) do
8 | wrap_parameters format: [:json] if respond_to?(:wrap_parameters)
9 | end
10 |
11 | # To enable root element in JSON for ActiveRecord objects.
12 | # ActiveSupport.on_load(:active_record) do
13 | # self.include_root_in_json = true
14 | # end
15 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/classic/views/card.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Card
3 | *******************************/
4 |
5 | /*-------------------
6 | View
7 | --------------------*/
8 |
9 | /* Shadow */
10 | @shadowDistance: 0em;
11 | @padding: 0em;
12 |
13 | /*-------------------
14 | Content
15 | --------------------*/
16 |
17 | /* Additional Content */
18 | @extraDivider: 1px solid rgba(0, 0, 0, 0.05);
19 | @extraBackground: #FAFAFA @subtleGradient;
20 | @extraPadding: 0.75em 1em;
21 | @extraBoxShadow: 0 1px 1px rgba(0, 0, 0, 0.15);
22 | @extraColor: @lightTextColor;
23 |
--------------------------------------------------------------------------------
/client/semantic/tasks/config/admin/templates/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "semantic",
3 | "version": "1.0.0",
4 | "title": "Semantic UI",
5 | "description": "Semantic empowers designers and developers by creating a shared vocabulary for UI.",
6 | "homepage": "http://www.semantic-ui.com",
7 | "author": "Jack Lukic ",
8 | "license": "MIT",
9 | "repository": {
10 | "type": "git",
11 | "url": "git://github.com/Semantic-Org/Semantic-UI.git"
12 | },
13 | "bugs": {
14 | "url": "https://github.com/Semantic-Org/Semantic-UI/issues"
15 | },
16 | "devDependencies": {}
17 | }
18 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/elements/reveal.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Reveal
3 | *******************************/
4 |
5 | @transitionDelay: 0.1s;
6 | @transitionDuration: 0.5s;
7 | @transitionEasing: cubic-bezier(0.175, 0.885, 0.320, 1);
8 | @transition: all @transitionDuration @defaultEasing @transitionDelay;
9 |
10 | @bottomZIndex: 2;
11 | @topZIndex: 3;
12 | @activeZIndex: 4;
13 |
14 | /* Types */
15 | @rotateDegrees: 110deg;
16 | @moveTransition: transform @transitionDuration @transitionEasing @transitionDelay;
17 | @slideTransition: transform @transitionDuration @defaultEasing @transitionDelay;
--------------------------------------------------------------------------------
/client/semantic/tasks/admin/publish.js:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Release All
3 | *******************************/
4 |
5 | /*
6 | This task update all SUI individual component repos with new versions of components
7 |
8 | * Commits changes from create components to GitHub and Tags
9 |
10 | */
11 |
12 | var
13 | runSequence = require('run-sequence')
14 | ;
15 |
16 | /* Release All */
17 | module.exports = function(callback) {
18 |
19 | runSequence(
20 | 'update distributions', // commit less/css versions to github
21 | 'update components', // commit components to github
22 | callback
23 | );
24 |
25 | };
--------------------------------------------------------------------------------
/client/semantic/dist/components/sticky.min.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * # Semantic UI 2.2.7 - Sticky
3 | * http://github.com/semantic-org/semantic-ui/
4 | *
5 | *
6 | * Released under the MIT license
7 | * http://opensource.org/licenses/MIT
8 | *
9 | */.ui.sticky{position:static;-webkit-transition:none;transition:none;z-index:800}.ui.sticky.bound{position:absolute;left:auto;right:auto}.ui.sticky.fixed{position:fixed;left:auto;right:auto}.ui.sticky.bound.top,.ui.sticky.fixed.top{top:0;bottom:auto}.ui.sticky.bound.bottom,.ui.sticky.fixed.bottom{top:auto;bottom:0}.ui.native.sticky{position:-webkit-sticky;position:-moz-sticky;position:-ms-sticky;position:-o-sticky;position:sticky}
--------------------------------------------------------------------------------
/client/semantic/tasks/config/admin/templates/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name" : "Component",
3 | "description" : "Component distribution",
4 | "homepage" : "http://www.semantic-ui.com",
5 | "author": {
6 | "name" : "Jack Lukic",
7 | "web" : "http://www.jacklukic.com"
8 | },
9 | "ignore": [
10 | "./index.js"
11 | ],
12 | "keywords": [
13 | "semantic",
14 | "ui",
15 | "css3",
16 | "framework"
17 | ],
18 | "license" : [
19 | "http://semantic-ui.mit-license.org/"
20 | ],
21 | "ignore": [
22 | "docs",
23 | "node",
24 | "server",
25 | "spec",
26 | "src",
27 | "test"
28 | ]
29 | }
30 |
--------------------------------------------------------------------------------
/client/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "lookup-client",
3 | "version": "0.1.0",
4 | "private": true,
5 | "proxy": "http://localhost:3001/",
6 | "devDependencies": {
7 | "enzyme": "2.4.1",
8 | "react-addons-test-utils": "15.4.0",
9 | "react-scripts": "0.8.5"
10 | },
11 | "dependencies": {
12 | "babel-plugin-transform-class-properties": "6.22.0",
13 | "react": "15.4.0",
14 | "react-dom": "15.4.0",
15 | "semantic-ui": "2.2.10"
16 | },
17 | "scripts": {
18 | "start": "react-scripts start",
19 | "build": "react-scripts build",
20 | "test": "react-scripts test --env=jsdom",
21 | "eject": "react-scripts eject"
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/config/database.yml:
--------------------------------------------------------------------------------
1 | # SQLite version 3.x
2 | # gem install sqlite3
3 | #
4 | # Ensure the SQLite 3 gem is defined in your Gemfile
5 | # gem 'sqlite3'
6 | #
7 | default: &default
8 | adapter: sqlite3
9 | pool: 5
10 | timeout: 5000
11 |
12 | development:
13 | <<: *default
14 | database: db/development.sqlite3
15 |
16 | # Warning: The database defined as "test" will be erased and
17 | # re-generated from your development database when you run "rake".
18 | # Do not set this db to the same as development or production.
19 | test:
20 | <<: *default
21 | database: db/test.sqlite3
22 |
23 | production:
24 | <<: *default
25 | database: db/production.sqlite3
26 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/chubby/elements/button.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
5 | @import url(http://fonts.googleapis.com/css?family=Source+Sans+Pro);
6 |
7 | .ui.labeled.icon.buttons > .button > .icon,
8 | .ui.labeled.icon.button > .icon {
9 | box-shadow:
10 | -1px 0px 0px 0px rgba(255, 255, 255, 0.2) inset,
11 | -1px 0px 0px 0px rgba(0, 0, 0, 0.05) inset
12 | ;
13 | }
14 |
15 | .ui.right.labeled.icon.buttons .button .icon,
16 | .ui.right.labeled.icon.button .icon {
17 | box-shadow:
18 | 1px 0px 0px 0px rgba(255, 255, 255, 0.2) inset,
19 | 1px 0px 0px 0px rgba(0, 0, 0, 0.05) inset
20 | ;
21 | }
--------------------------------------------------------------------------------
/client/semantic/src/themes/timeline/views/feed.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
5 | .ui.feed > .event .label {
6 | border-left: 3px solid #DDDDDD;
7 | }
8 | .ui.feed > .event:last-child .label {
9 | border-left-color: transparent;
10 | }
11 |
12 | .ui.feed > .event > .label {
13 | margin-left: 1.6em;
14 | }
15 |
16 | .ui.feed > .event > .label > img,
17 | .ui.feed > .event > .label > .icon {
18 | background-color: #009FDA;
19 | border-radius: 500rem;
20 | color: #FFFFFF;
21 | width: 3rem;
22 | height: 3rem;
23 | line-height: 1.5;
24 | left: -1.6rem;
25 | opacity: 1;
26 | position: relative;
27 | }
28 |
--------------------------------------------------------------------------------
/client/src/semantic-ui/components/sticky.min.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * # Semantic UI 2.1.4 - Sticky
3 | * http://github.com/semantic-org/semantic-ui/
4 | *
5 | *
6 | * Copyright 2015 Contributors
7 | * Released under the MIT license
8 | * http://opensource.org/licenses/MIT
9 | *
10 | */.ui.sticky{position:static;-webkit-transition:none;transition:none;z-index:800}.ui.sticky.bound{position:absolute;left:auto;right:auto}.ui.sticky.fixed{position:fixed;left:auto;right:auto}.ui.sticky.bound.top,.ui.sticky.fixed.top{top:0;bottom:auto}.ui.sticky.bound.bottom,.ui.sticky.fixed.bottom{top:auto;bottom:0}.ui.native.sticky{position:-webkit-sticky;position:-moz-sticky;position:-ms-sticky;position:-o-sticky;position:sticky}
--------------------------------------------------------------------------------
/client/semantic/src/themes/github/elements/step.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
5 | .ui.steps .step:after {
6 | display: none;
7 | }
8 | .ui.steps .completed.step:before {
9 | opacity: 0.5;
10 | }
11 |
12 | .ui.steps .step.active:after {
13 | display: block;
14 | border: none;
15 | border-bottom: 1px solid rgba(0, 0, 0, 0.2);
16 | border-left: 1px solid rgba(0, 0, 0, 0.2);
17 | }
18 | .ui.vertical.steps .step.active:after {
19 | display: block;
20 | border: none;
21 | top: 50%;
22 | right: 0%;
23 | border-left: none;
24 | border-bottom: 1px solid rgba(0, 0, 0, 0.2);
25 | border-right: 1px solid rgba(0, 0, 0, 0.2);
26 | }
--------------------------------------------------------------------------------
/config/initializers/inflections.rb:
--------------------------------------------------------------------------------
1 | # Be sure to restart your server when you modify this file.
2 |
3 | # Add new inflection rules using the following format. Inflections
4 | # are locale specific, and you may define rules for as many different
5 | # locales as you wish. All of these examples are active by default:
6 | # ActiveSupport::Inflector.inflections(:en) do |inflect|
7 | # inflect.plural /^(ox)$/i, '\1en'
8 | # inflect.singular /^(ox)en/i, '\1'
9 | # inflect.irregular 'person', 'people'
10 | # inflect.uncountable %w( fish sheep )
11 | # end
12 |
13 | # These inflection rules are supported but not enabled by default:
14 | # ActiveSupport::Inflector.inflections(:en) do |inflect|
15 | # inflect.acronym 'RESTful'
16 | # end
17 |
--------------------------------------------------------------------------------
/client/semantic/tasks/collections/build.js:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Define Sub-Tasks
3 | *******************************/
4 |
5 | module.exports = function(gulp) {
6 |
7 | var
8 | // build sub-tasks
9 | buildJS = require('./../build/javascript'),
10 | buildCSS = require('./../build/css'),
11 | buildAssets = require('./../build/assets')
12 | ;
13 |
14 | // in case these tasks are undefined during import, less make sure these are available in scope
15 | gulp.task('build-javascript', 'Builds all javascript from source', buildJS);
16 | gulp.task('build-css', 'Builds all css from source', buildCSS);
17 | gulp.task('build-assets', 'Copies all assets from source', buildAssets);
18 |
19 | };
20 |
--------------------------------------------------------------------------------
/config/locales/en.yml:
--------------------------------------------------------------------------------
1 | # Files in the config/locales directory are used for internationalization
2 | # and are automatically loaded by Rails. If you want to use locales other
3 | # than English, add the necessary files in this directory.
4 | #
5 | # To use the locales, use `I18n.t`:
6 | #
7 | # I18n.t 'hello'
8 | #
9 | # In views, this is aliased to just `t`:
10 | #
11 | # <%= t('hello') %>
12 | #
13 | # To use a different locale, set it with `I18n.locale`:
14 | #
15 | # I18n.locale = :es
16 | #
17 | # This would use the information in config/locales/es.yml.
18 | #
19 | # To learn more, please read the Rails Internationalization guide
20 | # available at http://guides.rubyonrails.org/i18n.html.
21 |
22 | en:
23 | hello: "Hello world"
24 |
--------------------------------------------------------------------------------
/client/semantic/tasks/check-install.js:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Check Install
3 | *******************************/
4 |
5 | var
6 | // node dependencies
7 | gulp = require('gulp'),
8 | fs = require('fs'),
9 | console = require('better-console'),
10 | install = require('./config/project/install')
11 | ;
12 |
13 | // export task
14 | module.exports = function() {
15 |
16 | setTimeout(function() {
17 | if( !install.isSetup() ) {
18 | console.log('Starting install...');
19 | gulp.start('install');
20 | return;
21 | }
22 | else {
23 | gulp.start('watch');
24 | }
25 | }, 50); // Delay to allow console.clear to remove messages from check event
26 |
27 |
28 | };
--------------------------------------------------------------------------------
/client/src/Client.js:
--------------------------------------------------------------------------------
1 | /* eslint-disable no-undef */
2 | function search(query, cb) {
3 | return fetch(`api/food?q=${query}`, {
4 | accept: 'application/json',
5 | }).then(checkStatus)
6 | .then(parseJSON)
7 | .then(cb);
8 | }
9 |
10 | function checkStatus(response) {
11 | if (response.status >= 200 && response.status < 300) {
12 | return response;
13 | }
14 | const error = new Error(`HTTP Error ${response.statusText}`);
15 | error.status = response.statusText;
16 | error.response = response;
17 | console.log(error); // eslint-disable-line no-console
18 | throw error;
19 | }
20 |
21 | function parseJSON(response) {
22 | return response.json();
23 | }
24 |
25 | const Client = { search };
26 | export default Client;
27 |
--------------------------------------------------------------------------------
/app/assets/javascripts/application.js:
--------------------------------------------------------------------------------
1 | // This is a manifest file that'll be compiled into application.js, which will include all the files
2 | // listed below.
3 | //
4 | // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
5 | // or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path.
6 | //
7 | // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
8 | // compiled file.
9 | //
10 | // Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details
11 | // about supported directives.
12 | //
13 | //= require jquery
14 | //= require jquery_ujs
15 | //= require turbolinks
16 | //= require_tree .
17 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/github/elements/step.variables:
--------------------------------------------------------------------------------
1 | /*-------------------
2 | Step Variables
3 | --------------------*/
4 |
5 | /* Step */
6 | @background: transparent linear-gradient(transparent, rgba(0, 0, 0, 0.07));
7 | @verticalPadding: 1em;
8 |
9 | @arrowDisplay: none;
10 | @lastArrowDisplay: none;
11 | @activeArrowDisplay: block;
12 | @activeLastArrowDisplay: block;
13 |
14 | /* Group */
15 | @stepsBackground: #FFFFFF;
16 | @stepsBoxShadow: 0px 0px 1px 0px rgba(0, 0, 0, 0.15);
17 |
18 | /* States */
19 | @activeBackground: #FFFFFF;
20 | @activeIconColor: @darkTextColor;
21 |
22 | /* Arrow */
23 | @arrowTopOffset: 100%;
24 | @arrowRightOffset: 50%;
25 | @arrowBorderColor: rgba(0, 0, 0, 0.2);
26 | @arrowBorderWidth: 0px 0px @borderWidth @borderWidth;
27 |
--------------------------------------------------------------------------------
/app/assets/stylesheets/application.css:
--------------------------------------------------------------------------------
1 | /*
2 | * This is a manifest file that'll be compiled into application.css, which will include all the files
3 | * listed below.
4 | *
5 | * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
6 | * or any plugin's vendor/assets/stylesheets directory can be referenced here using a relative path.
7 | *
8 | * You're free to add application-wide styles to this file and they'll appear at the bottom of the
9 | * compiled file so the styles you add here take precedence over styles defined in any styles
10 | * defined in the other CSS/SCSS files in this directory. It is generally better to create a new
11 | * file per style scope.
12 | *
13 | *= require_tree .
14 | *= require_self
15 | */
16 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/striped/modules/progress.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Progress
3 | *******************************/
4 |
5 | .ui.progress .bar {
6 | background-size: 30px 30px;
7 | background-image:
8 | linear-gradient(
9 | 135deg, rgba(255, 255, 255, 0.08) 25%, transparent 25%,
10 | transparent 50%, rgba(255, 255, 255, 0.08) 50%, rgba(255, 255, 255, 0.08) 75%,
11 | transparent 75%, transparent
12 | )
13 | ;
14 | }
15 |
16 | .ui.progress.active .bar:after {
17 | animation: none;
18 | }
19 | .ui.progress.active .bar {
20 | animation: progress-striped 3s linear infinite;
21 | }
22 | @keyframes progress-striped {
23 | 0% {
24 | background-position: 0px 0;
25 | }
26 | 100% {
27 | background-position: 60px 0;
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/collections/breadcrumb.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Breadcrumb
3 | *******************************/
4 |
5 | /*-------------------
6 | Breadcrumb
7 | --------------------*/
8 |
9 | @verticalMargin: 0em;
10 | @display: inline-block;
11 | @verticalAlign: middle;
12 |
13 | @dividerSpacing: @3px;
14 | @dividerOpacity: 0.7;
15 | @dividerColor: @lightTextColor;
16 |
17 | @dividerSize: @relativeSmall;
18 | @dividerVerticalAlign: baseline;
19 |
20 | @iconDividerSize: @relativeTiny;
21 | @iconDividerVerticalAlign: baseline;
22 |
23 | @sectionMargin: 0em;
24 | @sectionPadding: 0em;
25 |
26 | /* Coupling */
27 | @segmentPadding: @relativeMini @relativeMedium;
28 |
29 | /*-------------------
30 | States
31 | --------------------*/
32 |
33 | @activeFontWeight: bold;
--------------------------------------------------------------------------------
/client/semantic/src/themes/flat/collections/form.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
5 | .ui.form input[type="text"],
6 | .ui.form input[type="email"],
7 | .ui.form input[type="date"],
8 | .ui.form input[type="password"],
9 | .ui.form input[type="number"],
10 | .ui.form input[type="url"],
11 | .ui.form input[type="tel"] {
12 | border-bottom: 1px solid #DDDDDD;
13 | }
14 |
15 | .ui.form .selection.dropdown {
16 | border: none;
17 | box-shadow: none !important;
18 | border-bottom: 1px solid #DDDDDD;
19 | border-radius: 0em !important;
20 | }
21 | .ui.form .selection.dropdown > .menu {
22 | border-top-width: 1px !important;
23 | border-radius: @defaultBorderRadius !important;
24 | }
25 |
26 | .ui.form .ui.icon.input > .icon {
27 | width: 1em;
28 | }
--------------------------------------------------------------------------------
/client/semantic/src/themes/github/collections/message.variables:
--------------------------------------------------------------------------------
1 | @background: linear-gradient(rgba(255, 255, 255, 0.1), rgba(0, 0, 0, 0.05)) #FEFEFE;
2 | @boxShadow:
3 | 0px 0px 0px 1px rgba(255, 255, 255, 0.3) inset,
4 | 0px 0px 0px 1px rgba(0, 0, 0, 0.2) inset
5 | ;
6 | @verticalPadding: 15px;
7 | @horizontalPadding: 15px;
8 |
9 | @headerFontSize: 1.15em;
10 |
11 | @infoTextColor: #264C72;
12 | @warningTextColor: #613A00;
13 | @errorTextColor: #991111;
14 |
15 | @floatingBoxShadow:
16 | 0px 0px 0px 1px rgba(0, 0, 0, 0.1) inset,
17 | 0px 2px 3px 0px rgba(0, 0, 0, 0.1),
18 | 0px 0px 0px 1px rgba(0, 0, 0, 0.05) inset
19 | ;
20 |
21 | @infoBorderColor: #97C1DA;
22 | @errorBorderColor: #DA9797;
23 | @warningBorderColor: #DCA874;
24 |
25 | @small: 12px;
26 | @medium: 13px;
27 | @large: 14px;
28 | @huge: 16px;
29 | @massive: 18px;
30 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/raised/elements/button.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Button
3 | *******************************/
4 |
5 | /*-------------------
6 | Element
7 | --------------------*/
8 |
9 | @backgroundColor: #F8F8F8;
10 | @backgroundImage: linear-gradient(transparent, rgba(0, 0, 0, 0.05));
11 | @verticalAlign: middle;
12 | @borderRadius: 0.4em;
13 | @borderBoxShadowColor: @borderColor;
14 |
15 | /* Shadow */
16 | @shadowDistance: 0.3em;
17 | @verticalPadding: 1em;
18 | @horizontalPadding: 2em;
19 |
20 | /* transition box shadow as well */
21 | @transition:
22 | opacity @defaultDuration @defaultEasing,
23 | background-color @defaultDuration @defaultEasing,
24 | box-shadow @defaultDuration @defaultEasing,
25 | color @defaultDuration @defaultEasing,
26 | background @defaultDuration @defaultEasing
27 | ;
--------------------------------------------------------------------------------
/client/semantic/tasks/admin/release.js:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Release
3 | *******************************/
4 |
5 | /*
6 | This task update all SUI individual component repos with new versions of components
7 |
8 | * Initializes repositories with current versions
9 | * Creates local files at ../distributions/ with each repo for release
10 |
11 | */
12 |
13 | var
14 | runSequence = require('run-sequence')
15 | ;
16 |
17 | /* Release All */
18 | module.exports = function(callback) {
19 |
20 | runSequence(
21 | //'build', // build Semantic
22 | 'init distributions', // sync with current github version
23 | 'create distributions', // update each repo with changes from master repo
24 | 'init components', // sync with current github version
25 | 'create components', // update each repo
26 | callback
27 | );
28 |
29 | };
--------------------------------------------------------------------------------
/client/semantic/tasks/config/admin/github.js:
--------------------------------------------------------------------------------
1 | /*******************************
2 | GitHub Login
3 | *******************************/
4 | /*
5 | Logs into GitHub using OAuth
6 | */
7 |
8 | var
9 | fs = require('fs'),
10 | path = require('path'),
11 | githubAPI = require('github'),
12 |
13 | // stores oauth info for GitHub API
14 | oAuthConfig = path.join(__dirname, 'oauth.js'),
15 | oAuth = fs.existsSync(oAuthConfig)
16 | ? require(oAuthConfig)
17 | : false,
18 | github
19 | ;
20 |
21 | if(!oAuth) {
22 | console.error('Must add oauth token for GitHub in tasks/config/admin/oauth.js');
23 | }
24 |
25 | github = new githubAPI({
26 | version : '3.0.0',
27 | debug : true,
28 | protocol : 'https',
29 | timeout : 5000
30 | });
31 |
32 | github.authenticate({
33 | type: 'oauth',
34 | token: oAuth.token
35 | });
36 |
37 | module.exports = github;
38 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/basic/views/card.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Card
3 | *******************************/
4 |
5 | /*-------------------
6 | View
7 | --------------------*/
8 |
9 | @width: 250px;
10 | @background: transparent;
11 | @border: none;
12 | @boxShadow: none;
13 |
14 | @contentPadding: 1em 0em;
15 |
16 | @rowSpacing: 1.5em;
17 | @groupCardMargin: 0em @horizontalSpacing @rowSpacing;
18 |
19 | @extraBackground: transparent;
20 | @extraDivider: none;
21 | @extraBoxShadow: none;
22 | @extraPadding: 0.5em 0em;
23 |
24 | @extraLinkColor: @textColor;
25 | @extraLinkHoverColor: @linkHoverColor;
26 |
27 | @headerFontSize: @relativeLarge;
28 | @headerLinkColor: @textColor;
29 | @headerLinkHoverColor: @linkHoverColor;
30 |
31 | @imageBorderRadius: @borderRadius;
32 | @imageBorder: 1px solid @borderColor;
33 |
34 | @linkHoverBackground: transparent;
35 | @linkHoverBoxShadow: none;
--------------------------------------------------------------------------------
/bin/setup:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 | require 'pathname'
3 |
4 | # path to your application root.
5 | APP_ROOT = Pathname.new File.expand_path('../../', __FILE__)
6 |
7 | Dir.chdir APP_ROOT do
8 | # This script is a starting point to setup your application.
9 | # Add necessary setup steps to this file:
10 |
11 | puts "== Installing dependencies =="
12 | system "gem install bundler --conservative"
13 | system "bundle check || bundle install"
14 |
15 | # puts "\n== Copying sample files =="
16 | # unless File.exist?("config/database.yml")
17 | # system "cp config/database.yml.sample config/database.yml"
18 | # end
19 |
20 | puts "\n== Preparing database =="
21 | system "bin/rake db:setup"
22 |
23 | puts "\n== Removing old logs and tempfiles =="
24 | system "rm -f log/*"
25 | system "rm -rf tmp/cache"
26 |
27 | puts "\n== Restarting application server =="
28 | system "touch tmp/restart.txt"
29 | end
30 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/modules/shape.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Shape
3 | *******************************/
4 |
5 | @display: inline-block;
6 |
7 | /* Animating */
8 | @perspective: 2000px;
9 |
10 | @duration: 0.6s;
11 | @easing: ease-in-out;
12 |
13 | @hiddenSideOpacity: 0.6;
14 | @animatingZIndex: 100;
15 |
16 | @transition:
17 | transform @duration @easing,
18 | left @duration @easing,
19 | width @duration @easing,
20 | height @duration @easing
21 | ;
22 | @sideTransition: opacity @duration @easing;
23 | @backfaceVisibility: hidden;
24 |
25 | /* Side */
26 | @sideMargin: 0em;
27 |
28 | /*--------------
29 | Types
30 | ---------------*/
31 |
32 | /* Cube */
33 | @cubeSize: 15em;
34 | @cubeBackground: #E6E6E6;
35 | @cubePadding: 2em;
36 | @cubeTextColor: @textColor;
37 | @cubeBoxShadow: 0px 0px 2px rgba(0, 0, 0, 0.3);
38 |
39 | @cubeTextAlign: center;
40 | @cubeFontSize: 2em;
41 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/elements/rail.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Rail
3 | *******************************/
4 |
5 | /*-------------------
6 | Element
7 | --------------------*/
8 |
9 | @width: 300px;
10 | @height: 100%;
11 |
12 | @distance: 4rem;
13 | @splitDistance: (@distance / 2);
14 |
15 | /*-------------------
16 | Variations
17 | --------------------*/
18 |
19 | /* Close */
20 | @closeDistance: 2em;
21 | @veryCloseDistance: 1em;
22 |
23 | @splitCloseDistance: (@closeDistance / 2);
24 | @splitVeryCloseDistance: (@veryCloseDistance / 2);
25 |
26 | @closeWidth: ~"calc("@width~" + "@splitCloseDistance~")";
27 | @veryCloseWidth: ~"calc("@width~" + "@splitVeryCloseDistance~")";
28 |
29 | /* Dividing */
30 | @dividingBorder: 1px solid @borderColor;
31 | @dividingDistance: 5rem;
32 | @splitDividingDistance: (@dividingDistance / 2);
33 | @dividingWidth: @width + @splitDividingDistance;
34 |
35 |
--------------------------------------------------------------------------------
/client/semantic/tasks/config/admin/templates/css-package.js:
--------------------------------------------------------------------------------
1 | var
2 | where = 'client' // Adds files only to the client
3 | ;
4 |
5 | Package.describe({
6 | name : 'semantic:ui-css',
7 | summary : 'Semantic UI - CSS Release of Semantic UI',
8 | version : '{version}',
9 | git : 'git://github.com/Semantic-Org/Semantic-UI-CSS.git',
10 | });
11 |
12 | Package.onUse(function(api) {
13 |
14 | api.versionsFrom('1.0');
15 |
16 | api.use('jquery', 'client');
17 |
18 | api.addFiles([
19 | // icons
20 | 'themes/default/assets/fonts/icons.eot',
21 | 'themes/default/assets/fonts/icons.svg',
22 | 'themes/default/assets/fonts/icons.ttf',
23 | 'themes/default/assets/fonts/icons.woff',
24 | 'themes/default/assets/fonts/icons.woff2',
25 |
26 | // flags
27 | 'themes/default/assets/images/flags.png',
28 |
29 | // release
30 | 'semantic.css',
31 | 'semantic.js'
32 | ], 'client');
33 |
34 | });
35 |
--------------------------------------------------------------------------------
/client/semantic/src/definitions/globals/reset.less:
--------------------------------------------------------------------------------
1 | /*!
2 | * # Semantic UI - Reset
3 | * http://github.com/semantic-org/semantic-ui/
4 | *
5 | *
6 | * Released under the MIT license
7 | * http://opensource.org/licenses/MIT
8 | *
9 | */
10 |
11 | /*******************************
12 | Theme
13 | *******************************/
14 |
15 | @type : 'global';
16 | @element : 'reset';
17 |
18 | @import (multiple) '../../theme.config';
19 |
20 | /*******************************
21 | Reset
22 | *******************************/
23 |
24 | /* Border-Box */
25 | *,
26 | *:before,
27 | *:after {
28 | box-sizing: inherit;
29 | }
30 | html {
31 | box-sizing: border-box;
32 | }
33 |
34 | /* iPad Input Shadows */
35 | input[type="text"], input[type="email"], input[type="search"], input[type="password"] {
36 | -webkit-appearance: none;
37 | -moz-appearance: none; /* mobile firefox too! */
38 | }
39 |
40 | .loadUIOverrides();
41 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/bookish/elements/header.variables:
--------------------------------------------------------------------------------
1 | /*-------------------
2 | Header
3 | --------------------*/
4 |
5 | @headerFont : 'Karma', 'Times New Roman', serif;
6 | @fontWeight: normal;
7 |
8 | @iconSize: 1.5em;
9 | @iconOffset: 0.2em;
10 | @iconAlignment: top;
11 |
12 | @subHeaderFontSize: 0.85rem;
13 |
14 | @dividedBorder: 1px dotted rgba(0, 0, 0, 0.2);
15 |
16 | /* Block Header */
17 | @blockVerticalPadding: 1.3em;
18 | @blockHorizontalPadding: 1em;
19 |
20 | /* Attached */
21 | @attachedBackground: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.03)) repeat scroll 0 0 #F8F8F8;
22 | @attachedVerticalPadding: 1.3;
23 | @attachedHorizontalPadding: 1em;
24 |
25 | /* HTML Headings */
26 | @h1: 1.75rem;
27 | @h2: 1.33rem;
28 | @h3: 1.33rem;
29 | @h4: 1rem;
30 | @h5: 0.9rem;
31 |
32 | /* Sizing */
33 | @hugeFontSize: 1.75em;
34 | @largeFontSize: 1.33em;
35 | @mediumFontSize: 1.33em;
36 | @smallFontSize: 1em;
37 | @tinyFontSize: 0.9em;
--------------------------------------------------------------------------------
/client/semantic/src/themes/github/elements/input.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Input
3 | *******************************/
4 |
5 | /* Labeled Input has padding */
6 | .ui.labeled.input {
7 | background-color: @white;
8 | border: @borderWidth solid @borderColor;
9 | border-radius: @borderRadius !important;
10 | }
11 | .ui.labeled.input input {
12 | box-shadow: none !important;
13 | border: none !important;
14 | }
15 | .ui.labeled.input .label {
16 | font-weight: normal;
17 | align-self: center;
18 | font-size: 12px;
19 | margin: @2px;
20 | border-radius: @borderRadius !important;
21 | padding: @relative5px @relative8px !important;
22 | }
23 |
24 | /* GitHub Uses Focus Group with class name added */
25 | .ui.labeled.input.focused {
26 | border-color: @focusBorderColor;
27 | box-shadow: @focusBoxShadow;
28 | }
29 | .ui.labeled.input.focused .label {
30 | background-color: #E1EAF5;
31 | color: #4078C0;
32 | }
--------------------------------------------------------------------------------
/client/semantic/src/themes/github/modules/dropdown.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Variable Overrides
3 | *******************************/
4 |
5 | @transition:
6 | width @defaultDuration @defaultEasing
7 | ;
8 |
9 | @menuPadding: 0px;
10 |
11 | @itemVerticalPadding: @relative8px;
12 | @itemHorizontalPadding: @relative14px;
13 |
14 | @dropdownIconMargin: 0em 0em 0em 2px;
15 |
16 | @raisedBoxShadow: 0px 3px 12px rgba(0, 0, 0, 0.15);
17 |
18 | @menuPadding: @relative5px 0px;
19 |
20 | @menuHeaderMargin: 0em;
21 | @menuHeaderPadding: @relative6px @itemHorizontalPadding;
22 | @menuHeaderFontSize: @relative12px;
23 | @menuHeaderTextTransform: none;
24 | @menuHeaderFontWeight: normal;
25 | @menuHeaderColor: #767676;
26 |
27 | @menuDividerMargin: @relative8px 0em;
28 |
29 | @disabledOpacity: 0.6;
30 |
31 | /* States */
32 | @hoveredItemBackground: #4078C0;
33 | @hoveredItemColor: @white;
34 |
35 | @pointingArrowSize: @relative9px;
36 |
--------------------------------------------------------------------------------
/client/semantic/tasks/build/assets.js:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Build Task
3 | *******************************/
4 |
5 | var
6 | gulp = require('gulp'),
7 |
8 | // gulp dependencies
9 | chmod = require('gulp-chmod'),
10 | gulpif = require('gulp-if'),
11 |
12 | // config
13 | config = require('../config/user'),
14 | tasks = require('../config/tasks'),
15 |
16 | // shorthand
17 | globs = config.globs,
18 | assets = config.paths.assets,
19 | output = config.paths.output,
20 | source = config.paths.source,
21 |
22 | log = tasks.log
23 | ;
24 |
25 | module.exports = function(callback) {
26 |
27 | console.info('Building assets');
28 |
29 | // copy assets
30 | return gulp.src(source.themes + '/**/assets/**/*.*')
31 | .pipe(gulpif(config.hasPermission, chmod(config.permission)))
32 | .pipe(gulp.dest(output.themes))
33 | ;
34 |
35 | };
--------------------------------------------------------------------------------
/client/semantic/src/themes/colored/modules/checkbox.variables:
--------------------------------------------------------------------------------
1 | /* Checkbox */
2 | @checkboxActiveBackground: @primaryColor;
3 | @checkboxActiveBorderColor: @primaryColor;
4 | @checkboxActiveCheckColor: @white;
5 |
6 | @checkboxActiveFocusBackground: @primaryColorFocus;
7 | @checkboxActiveFocusBorderColor: @primaryColorFocus;
8 | @checkboxActiveFocusCheckColor: @white;
9 |
10 | @checkboxTransition: none;
11 |
12 | /* Radio */
13 | @radioActiveBackground: @white;
14 | @radioActiveBorderColor: @primaryColor;
15 | @radioActiveBulletColor: @primaryColor;
16 |
17 | @radioActiveFocusBackground: @white;
18 | @radioActiveFocusBorderColor: @primaryColorFocus;
19 | @radioActiveFocusBulletColor: @primaryColorFocus;
20 |
21 | /* Slider */
22 | @sliderOnLineColor: @primaryColor;
23 | @sliderOnFocusLineColor: @primaryColorFocus;
24 |
25 | /* Handle */
26 | @handleBackground: @white @subtleGradient;
27 | @handleBoxShadow:
28 | 0px 0px 0px 1px @selectedBorderColor inset
29 | ;
30 |
--------------------------------------------------------------------------------
/client/semantic/tasks/config/docs.js:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Docs
3 | *******************************/
4 |
5 | /* Paths used for "serve-docs" and "build-docs" tasks */
6 | module.exports = {
7 | base: '',
8 | globs: {
9 | eco: '**/*.html.eco'
10 | },
11 | paths: {
12 | clean: '../docs/out/dist/',
13 | source: {
14 | config : 'src/theme.config',
15 | definitions : 'src/definitions/',
16 | site : 'src/site/',
17 | themes : 'src/themes/'
18 | },
19 | output: {
20 | examples : '../docs/out/examples/',
21 | less : '../docs/out/src/',
22 | metadata : '../docs/out/',
23 | packaged : '../docs/out/dist/',
24 | uncompressed : '../docs/out/dist/components/',
25 | compressed : '../docs/out/dist/components/',
26 | themes : '../docs/out/dist/themes/'
27 | },
28 | template: {
29 | eco: '../docs/server/documents/'
30 | },
31 | }
32 | };
33 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/timeline/views/feed.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Feed
3 | *******************************/
4 |
5 | /*-------------------
6 | Elements
7 | --------------------*/
8 |
9 | @eventMargin: 0em;
10 | @eventDivider: none;
11 | @eventPadding: 0em;
12 |
13 | /* Event Label */
14 | @labelWidth: 3em;
15 | @labelHeight: auto;
16 |
17 | @labeledContentMargin: 0.75em 0em 2em 0.75em;
18 |
19 | /* Icon */
20 | @iconLabelBackground: @primaryColor;
21 | @iconLabelBorderRadius: @circularRadius;
22 | @iconLabelColor: @white;
23 |
24 | /* Metadata Group */
25 | @metadataDisplay: inline-block;
26 | @metadataMargin: 1em 0em 0em;
27 | @metadataBackground: @white @subtleGradient;
28 | @metadataBorder: 1px solid @solidBorderColor;
29 | @metadataBorderRadius: 0.25em;
30 | @metadataBoxShadow: 0 1px 1px rgba(0, 0, 0, 0.05);
31 | @metadataPadding: 0.5em 1em;
32 | @metadataColor: rgba(0, 0, 0, 0.6);
33 |
34 | /*-------------------
35 | Variations
36 | --------------------*/
37 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/github/collections/form.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Form
3 | *******************************/
4 |
5 | /*-------------------
6 | Elements
7 | --------------------*/
8 |
9 | @inputBackground: #FAFAFA;
10 | @inputBorder: 1px solid #CCCCCC;
11 | @inputBoxShadow: 0 1px 2px rgba(0, 0, 0, 0.075) inset;
12 | @inputBorderRadius: 3px;
13 |
14 | @labelFontWeight: bold;
15 | @labelDistance: 6px;
16 |
17 | /*-------------------
18 | States
19 | --------------------*/
20 |
21 | @inputFocusBackground: #FFFFFF;
22 | @inputFocusBoxShadow:
23 | 0px 1px 2px rgba(0, 0, 0, 0.075) inset,
24 | 0px 0px 5px rgba(81, 167, 232, 0.5)
25 | ;
26 | @inputFocusBorderColor: #51A7E8;
27 | @inputFocusBorderRadius: @inputBorderRadius;
28 |
29 | /*-------------------
30 | Types
31 | --------------------*/
32 |
33 |
34 | /*-------------------
35 | Variations
36 | --------------------*/
37 |
38 | /*-------------------
39 | Groups
40 | --------------------*/
41 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/elements/image.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Image
3 | *******************************/
4 |
5 | /*-------------------
6 | Element
7 | --------------------*/
8 |
9 | @placeholderColor: transparent;
10 | @roundedBorderRadius: 0.3125em;
11 |
12 | @imageHorizontalMargin: 0.25rem;
13 | @imageVerticalMargin: 0.5rem;
14 | @imageBorder: 1px solid rgba(0, 0, 0, 0.1);
15 |
16 | /*-------------------
17 | Types
18 | --------------------*/
19 |
20 | /* Avatar */
21 | @avatarSize: 2em;
22 | @avatarMargin: 0.25em;
23 |
24 |
25 | /*-------------------
26 | Variations
27 | --------------------*/
28 |
29 | /* Spaced */
30 | @spacedDistance: 0.5em;
31 |
32 | /* Floated */
33 | @floatedHorizontalMargin: 1em;
34 | @floatedVerticalMargin: 1em;
35 |
36 | /* Size */
37 | @miniWidth: 35px;
38 | @tinyWidth: 80px;
39 | @smallWidth: 150px;
40 | @mediumWidth: 300px;
41 | @largeWidth: 450px;
42 | @bigWidth: 600px;
43 | @hugeWidth: 800px;
44 | @massiveWidth: 960px;
45 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/basic/elements/button.variables:
--------------------------------------------------------------------------------
1 | /*-------------------
2 | Button Variables
3 | --------------------*/
4 |
5 | /* Button Variables */
6 | @textTransform: none;
7 | @fontWeight: normal;
8 | @textColor: #333333;
9 |
10 | @primaryColor: #333333;
11 |
12 | @borderRadius: 0.25em;
13 |
14 | @backgroundColor: #EEEEEE;
15 | @backgroundImage: none;
16 | @boxShadow: none;
17 |
18 | @hoverBackgroundColor: #DDDDDD;
19 | @hoverBackgroundImage: none;
20 | @hoverBoxShadow: none;
21 |
22 | @downBackgroundColor: #D0D0D0;
23 | @downBackgroundImage: none;
24 | @downBoxShadow: none;
25 |
26 | @activeBackgroundColor: #CCCCCC;
27 | @activeBackgroundImage: none;
28 | @activeBoxShadow: none;
29 |
30 | @verticalBoxShadow: none;
31 |
32 | @loadingBackgroundColor: #F0F0F0;
33 |
34 | @labeledIconLeftShadow: none;
35 | @labeledIconRightShadow: none;
36 |
37 | @mini: 0.6rem;
38 | @tiny: 0.7rem;
39 | @small: 0.85rem;
40 | @medium: 0.92rem;
41 | @large: 1rem;
42 | @big: 1.125rem;
43 | @huge: 1.25rem;
44 | @massive: 1.3rem;
45 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/github/elements/segment.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Standard
3 | *******************************/
4 |
5 | /*-------------------
6 | Segment
7 | --------------------*/
8 |
9 | @segmentBorderWidth: 1px;
10 | @border: 1px solid #D8DEE2;
11 | @boxShadow: 0px 1px 3px rgba(0, 0, 0, 0.075);
12 |
13 | @verticalPadding: 20px;
14 | @horizontalPadding: 20px;
15 |
16 | @borderRadius: 4px;
17 |
18 | /*******************************
19 | Variations
20 | *******************************/
21 |
22 |
23 | /* Raised */
24 | @raisedBoxShadow: 0px 1px 3px rgba(0, 0, 0, 0.075);
25 |
26 | /* Colors */
27 | @coloredBorderSize: 0.5em;
28 |
29 | /* Ordinality */
30 | @secondaryBackground: #F9F9F9;
31 | @secondaryColor: @textColor;
32 |
33 | @tertiaryBackground: #F0F0F0;
34 | @tertiaryColor: @textColor;
35 |
36 | @secondaryInvertedBackground: #555555;
37 | @secondaryInvertedColor: @textColor;
38 |
39 | @tertiaryInvertedBackground: #333333;
40 | @tertiaryInvertedColor: @textColor;
41 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/modules/sidebar.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Sidebar
3 | *******************************/
4 |
5 | /*-------------------
6 | Content
7 | --------------------*/
8 |
9 | /* Animation */
10 | @perspective: 1500px;
11 | @duration: 500ms;
12 | @easing: @defaultEasing;
13 |
14 | /* Dimmer */
15 | @dimmerColor: rgba(0, 0, 0, 0.4);
16 | @dimmerTransition: opacity @duration;
17 |
18 | /* Color below page */
19 | @canvasBackground: @lightBlack;
20 |
21 | /* Shadow */
22 | @boxShadow: 0px 0px 20px @borderColor;
23 | @horizontalBoxShadow: @boxShadow;
24 | @verticalBoxShadow: @boxShadow;
25 |
26 | /* Layering */
27 | @bottomLayer: 1;
28 | @middleLayer: 2;
29 | @fixedLayer: 101;
30 | @topLayer: 102;
31 | @dimmerLayer: 1000;
32 |
33 | /*-------------------
34 | Variations
35 | --------------------*/
36 |
37 | /* Width */
38 | @veryThinWidth: 60px;
39 | @thinWidth: 150px;
40 | @width: 260px;
41 | @wideWidth: 350px;
42 | @veryWideWidth: 475px;
43 |
44 | /* Height */
45 | @height: 36px;
46 |
--------------------------------------------------------------------------------
/config/secrets.yml:
--------------------------------------------------------------------------------
1 | # Be sure to restart your server when you modify this file.
2 |
3 | # Your secret key is used for verifying the integrity of signed cookies.
4 | # If you change this key, all old signed cookies will become invalid!
5 |
6 | # Make sure the secret is at least 30 characters and all random,
7 | # no regular words or you'll be exposed to dictionary attacks.
8 | # You can use `rake secret` to generate a secure secret key.
9 |
10 | # Make sure the secrets in this file are kept private
11 | # if you're sharing your code publicly.
12 |
13 | development:
14 | secret_key_base: e679bd1b2282f86ba72f6b09be806e2816ac7c9c74521c965827e28eac436789fca0166132b3be722c0f77b859f56129d30291dc479a2126ddfff6a4421ee3ca
15 |
16 | test:
17 | secret_key_base: a610bd1435b77ea1aa5f49564a683f80b08b582d6323e5e459856155265e5eeff9fb7173d7ee3da7774207df81b12a74041a6cc0d2fd18548dc804f481e535f6
18 |
19 | # Do not keep production secrets in the repository,
20 | # instead read values from the environment.
21 | production:
22 | secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
23 |
--------------------------------------------------------------------------------
/client/semantic/dist/components/tab.min.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * # Semantic UI 2.2.7 - Tab
3 | * http://github.com/semantic-org/semantic-ui/
4 | *
5 | *
6 | * Released under the MIT license
7 | * http://opensource.org/licenses/MIT
8 | *
9 | */.ui.tab{display:none}.ui.tab.active,.ui.tab.open{display:block}.ui.tab.loading{position:relative;overflow:hidden;display:block;min-height:250px}.ui.tab.loading *{position:relative!important;left:-10000px!important}.ui.tab.loading.segment:before,.ui.tab.loading:before{position:absolute;content:'';top:100px;left:50%;margin:-1.25em 0 0 -1.25em;width:2.5em;height:2.5em;border-radius:500rem;border:.2em solid rgba(0,0,0,.1)}.ui.tab.loading.segment:after,.ui.tab.loading:after{position:absolute;content:'';top:100px;left:50%;margin:-1.25em 0 0 -1.25em;width:2.5em;height:2.5em;-webkit-animation:button-spin .6s linear;animation:button-spin .6s linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;border-radius:500rem;border-color:#767676 transparent transparent;border-style:solid;border-width:.2em;box-shadow:0 0 0 1px transparent}
--------------------------------------------------------------------------------
/client/semantic/src/themes/amazon/globals/site.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Global Variables
3 | *******************************/
4 |
5 | @pageMinWidth : 1049px;
6 | @pageOverflowX : visible;
7 |
8 | @emSize: 13px;
9 | @fontSize : 13px;
10 | @fontName : 'Arial';
11 | @importGoogleFonts : false;
12 |
13 | @h1: 2.25em;
14 |
15 | @defaultBorderRadius: 0.30769em; /* 4px @ 13em */
16 |
17 | @disabledOpacity: 0.3;
18 |
19 | @black: #444C55;
20 | @orange: #FDE07B;
21 |
22 | @linkColor: #0066C0;
23 | @linkHoverColor: #C45500;
24 | @linkHoverUnderline: underline;
25 |
26 | @borderColor: rgba(0, 0, 0, 0.13);
27 | @solidBorderColor: #DDDDDD;
28 | @internalBorderColor: rgba(0, 0, 0, 0.06);
29 | @selectedBorderColor: #51A7E8;
30 |
31 | /* Breakpoints */
32 | @largeMonitorBreakpoint: 1049px;
33 | @computerBreakpoint: @largeMonitorBreakpoint;
34 | @tabletBreakpoint: @largeMonitorBreakpoint;
35 |
36 | /* Colors */
37 | @blue: #80A6CD;
38 | @green: #60B044;
39 | @orange: #D26911;
40 |
41 |
42 | @infoBackgroundColor: #E6F1F6;
43 | @infoTextColor: #4E575B;
--------------------------------------------------------------------------------
/client/src/semantic-ui/components/tab.min.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * # Semantic UI 2.1.4 - Tab
3 | * http://github.com/semantic-org/semantic-ui/
4 | *
5 | *
6 | * Copyright 2015 Contributors
7 | * Released under the MIT license
8 | * http://opensource.org/licenses/MIT
9 | *
10 | */.ui.tab{display:none}.ui.tab.active,.ui.tab.open{display:block}.ui.tab.loading{position:relative;overflow:hidden;display:block;min-height:250px}.ui.tab.loading *{position:relative!important;left:-10000px!important}.ui.tab.loading.segment:before,.ui.tab.loading:before{position:absolute;content:'';top:100px;left:50%;margin:-1.25em 0 0 -1.25em;width:2.5em;height:2.5em;border-radius:500rem;border:.2em solid rgba(0,0,0,.1)}.ui.tab.loading.segment:after,.ui.tab.loading:after{position:absolute;content:'';top:100px;left:50%;margin:-1.25em 0 0 -1.25em;width:2.5em;height:2.5em;-webkit-animation:button-spin .6s linear;animation:button-spin .6s linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;border-radius:500rem;border-color:#767676 transparent transparent;border-style:solid;border-width:.2em;box-shadow:0 0 0 1px transparent}
--------------------------------------------------------------------------------
/client/src/App.js:
--------------------------------------------------------------------------------
1 | import React, { Component } from 'react';
2 | import SelectedFoods from './SelectedFoods';
3 | import FoodSearch from './FoodSearch';
4 |
5 | class App extends Component {
6 | state = {
7 | selectedFoods: [],
8 | }
9 |
10 | removeFoodItem = (itemIndex) => {
11 | const filteredFoods = this.state.selectedFoods.filter(
12 | (item, idx) => itemIndex !== idx,
13 | );
14 | this.setState({ selectedFoods: filteredFoods });
15 | }
16 |
17 | addFood = (food) => {
18 | const newFoods = this.state.selectedFoods.concat(food);
19 | this.setState({ selectedFoods: newFoods });
20 | }
21 |
22 | render() {
23 | const { selectedFoods } = this.state;
24 |
25 | return (
26 |
37 | );
38 | }
39 | }
40 |
41 | export default App;
42 |
--------------------------------------------------------------------------------
/client/semantic/src/definitions/elements/flag.less:
--------------------------------------------------------------------------------
1 | /*!
2 | * # Semantic UI - Flag
3 | * http://github.com/semantic-org/semantic-ui/
4 | *
5 | *
6 | * Released under the MIT license
7 | * http://opensource.org/licenses/MIT
8 | *
9 | */
10 |
11 |
12 | /*******************************
13 | Theme
14 | *******************************/
15 |
16 | @type : 'element';
17 | @element : 'flag';
18 |
19 | @import (multiple) '../../theme.config';
20 |
21 |
22 | /*******************************
23 | Flag
24 | *******************************/
25 |
26 | i.flag:not(.icon) {
27 | display: inline-block;
28 |
29 | width: @width;
30 | height: @height;
31 |
32 | line-height: @height;
33 | vertical-align: @verticalAlign;
34 | margin: 0em @margin 0em 0em;
35 |
36 | text-decoration: inherit;
37 |
38 | speak: none;
39 | font-smoothing: antialiased;
40 | backface-visibility: hidden;
41 | }
42 |
43 | /* Sprite */
44 | i.flag:not(.icon):before {
45 | display: inline-block;
46 | content: '';
47 | background: url(@spritePath) no-repeat -108px -1976px;
48 | width: @width;
49 | height: @height;
50 | }
51 |
52 | .loadUIOverrides();
53 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/github/globals/site.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | User Global Variables
3 | *******************************/
4 |
5 | @pageMinWidth : 1049px;
6 | @pageOverflowX : visible;
7 |
8 | @emSize: 13px;
9 | @fontSize : 13px;
10 | @fontName : 'Arial';
11 | @importGoogleFonts : false;
12 |
13 | @h1: 2.25em;
14 |
15 | @defaultBorderRadius: 0.2307em;
16 |
17 | @disabledOpacity: 0.3;
18 |
19 | /* Colors */
20 | @blue: #80A6CD;
21 | @green: #78CB5B;
22 | @orange: #D26911;
23 | @black: #333333;
24 | @primaryColor: @green;
25 | @secondaryColor: @black;
26 |
27 | /* Links */
28 | @linkColor: #4078C0;
29 | @linkHoverColor: @linkColor;
30 | @linkHoverUnderline: underline;
31 |
32 | /* Borders */
33 | @borderColor: rgba(0, 0, 0, 0.13);
34 | @solidBorderColor: #DDDDDD;
35 | @internalBorderColor: rgba(0, 0, 0, 0.06);
36 | @selectedBorderColor: #51A7E8;
37 |
38 | /* Breakpoints */
39 | @largeMonitorBreakpoint: 1049px;
40 | @computerBreakpoint: @largeMonitorBreakpoint;
41 | @tabletBreakpoint: @largeMonitorBreakpoint;
42 |
43 | @infoBackgroundColor: #E6F1F6;
44 |
45 | @infoTextColor: #4E575B;
46 | @warningTextColor: #613A00;
47 | @errorTextColor: #991111;
--------------------------------------------------------------------------------
/Gemfile:
--------------------------------------------------------------------------------
1 | source 'https://rubygems.org'
2 |
3 |
4 | # Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
5 | gem 'rails', '5.0.1'
6 | # Use sqlite3 as the database for Active Record
7 | gem 'sqlite3'
8 | # Use SCSS for stylesheets
9 | gem 'sass-rails', '~> 5.0'
10 | # Use Uglifier as compressor for JavaScript assets
11 | gem 'uglifier', '>= 1.3.0'
12 | # Use CoffeeScript for .coffee assets and views
13 | gem 'coffee-rails', '~> 4.1.0'
14 | # See https://github.com/rails/execjs#readme for more supported runtimes
15 | # gem 'therubyracer', platforms: :ruby
16 |
17 | # Use jquery as the JavaScript library
18 | gem 'jquery-rails'
19 | # Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
20 | gem 'turbolinks'
21 | # Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
22 | gem 'jbuilder', '~> 2.0'
23 | # bundle exec rake doc:rails generates the API under doc/api.
24 | gem 'sdoc', '~> 0.4.0', group: :doc
25 |
26 | gem 'foreman', '~> 0.82.0'
27 |
28 | group :development do
29 | gem 'web-console', '~> 2.0'
30 | end
31 |
32 | group :development, :test do
33 | gem 'byebug'
34 | gem 'spring'
35 | end
36 |
--------------------------------------------------------------------------------
/client/semantic/dist/components/breadcrumb.min.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * # Semantic UI 2.2.7 - Breadcrumb
3 | * http://github.com/semantic-org/semantic-ui/
4 | *
5 | *
6 | * Released under the MIT license
7 | * http://opensource.org/licenses/MIT
8 | *
9 | */.ui.breadcrumb{line-height:1;display:inline-block;margin:0 0;vertical-align:middle}.ui.breadcrumb:first-child{margin-top:0}.ui.breadcrumb:last-child{margin-bottom:0}.ui.breadcrumb .divider{display:inline-block;opacity:.7;margin:0 .21428571rem 0;font-size:.92857143em;color:rgba(0,0,0,.4);vertical-align:baseline}.ui.breadcrumb a{color:#4183c4}.ui.breadcrumb a:hover{color:#1e70bf}.ui.breadcrumb .icon.divider{font-size:.85714286em;vertical-align:baseline}.ui.breadcrumb a.section{cursor:pointer}.ui.breadcrumb .section{display:inline-block;margin:0;padding:0}.ui.breadcrumb.segment{display:inline-block;padding:.78571429em 1em}.ui.breadcrumb .active.section{font-weight:700}.ui.mini.breadcrumb{font-size:.78571429rem}.ui.tiny.breadcrumb{font-size:.85714286rem}.ui.small.breadcrumb{font-size:.92857143rem}.ui.breadcrumb{font-size:1rem}.ui.large.breadcrumb{font-size:1.14285714rem}.ui.big.breadcrumb{font-size:1.28571429rem}.ui.huge.breadcrumb{font-size:1.42857143rem}.ui.massive.breadcrumb{font-size:1.71428571rem}
--------------------------------------------------------------------------------
/client/semantic/src/themes/twitter/elements/button.variables:
--------------------------------------------------------------------------------
1 | /*-------------------
2 | Global Variables
3 | --------------------*/
4 |
5 | @pageFont: Helvetica Neue, Helvetica, Arial, sans-serif;
6 | @textColor: #66757F;
7 | @blue: #55ACEE;
8 |
9 | /*-------------------
10 | Button Variables
11 | --------------------*/
12 |
13 | @backgroundColor: #F5F8FA;
14 | @backgroundImage: linear-gradient(@white, @backgroundColor);
15 | @color: #66757F;
16 | @borderBoxShadowColor: #E1E8ED;
17 |
18 | @textTransform: none;
19 | @fontWeight: bold;
20 | @textColor: #333333;
21 |
22 | @horizontalPadding: 1.284em;
23 | @verticalPadding: 0.8571em;
24 |
25 | @activeBackgroundColor: rgba(0, 0, 0, 0.1);
26 |
27 | @primaryColor: @blue;
28 | @coloredBackgroundImage: @subtleGradient;
29 |
30 |
31 | /*-------------------
32 | States
33 | --------------------*/
34 |
35 | @hoverBackgroundColor: #E1E8ED;
36 | @hoverBackgroundImage: linear-gradient(@white, @hoverBackgroundColor);
37 | @hoverColor: #292F33;
38 |
39 | @downBackgroundColor: #E1E8ED;
40 | @downColor: #292F33;
41 | @downPressedShadow: 0px 1px 4px rgba(0, 0, 0, 0.2) inset;
42 |
43 | @labeledIconBackgroundColor: rgba(85, 172, 238, 0.05);
44 | @labeledIconBorder: rgba(0, 0, 0, 0.1);
45 |
--------------------------------------------------------------------------------
/client/src/semantic-ui/components/rail.min.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * # Semantic UI 2.1.4 - Rail
3 | * http://github.com/semantic-org/semantic-ui/
4 | *
5 | *
6 | * Copyright 2015 Contributors
7 | * Released under the MIT license
8 | * http://opensource.org/licenses/MIT
9 | *
10 | */.ui.rail{position:absolute;top:0;width:300px;height:100%;font-size:1rem}.ui.left.rail{left:auto;right:100%;padding:0 2rem 0 0;margin:0 2rem 0 0}.ui.right.rail{left:100%;right:auto;padding:0 0 0 2rem;margin:0 0 0 2rem}.ui.left.internal.rail{left:0;right:auto;padding:0 0 0 2rem;margin:0 0 0 2rem}.ui.right.internal.rail{left:auto;right:0;padding:0 2rem 0 0;margin:0 2rem 0 0}.ui.dividing.rail{width:302.5px}.ui.left.dividing.rail{padding:0 2.5rem 0 0;margin:0 2.5rem 0 0;border-right:1px solid rgba(34,36,38,.15)}.ui.right.dividing.rail{border-left:1px solid rgba(34,36,38,.15);padding:0 0 0 2.5rem;margin:0 0 0 2.5rem}.ui.close.rail{width:301px}.ui.close.left.rail{padding:0 1em 0 0;margin:0 1em 0 0}.ui.close.right.rail{padding:0 0 0 1em;margin:0 0 0 1em}.ui.very.close.rail{width:300.5px}.ui.very.close.left.rail{padding:0 .5em 0 0;margin:0 .5em 0 0}.ui.very.close.right.rail{padding:0 0 0 .5em;margin:0 0 0 .5em}.ui.attached.left.rail,.ui.attached.right.rail{padding:0;margin:0}
--------------------------------------------------------------------------------
/client/semantic/src/themes/amazon/elements/button.overrides:
--------------------------------------------------------------------------------
1 | .ui.button {
2 | background-image: linear-gradient(center top , #F7F8FA, #E7E9EC) repeat scroll 0 0 rgba(0, 0, 0, 0);
3 | }
4 |
5 | .ui.primary.button {
6 | color: #111111;
7 | border: 1px solid;
8 | border-color: #C59F43 #AA8326 #957321;
9 | }
10 | .ui.primary.button:hover {
11 | border-color: #C59F43 #AA8326 #957321;
12 | color: #111111;
13 | }
14 |
15 | .ui.secondary.button {
16 | border: 1px solid;
17 | border-color: #3D444C #2F353B #2C3137;
18 | }
19 | .ui.secondary.button:hover {
20 | border-color: #32373E #24282D #212429;
21 | }
22 |
23 |
24 | .ui.labeled.icon.buttons .button > .icon,
25 | .ui.labeled.icon.button > .icon {
26 | padding-bottom: 0.48em;
27 | padding-top: 0.48em;
28 | position: absolute;
29 | text-align: center;
30 | width: 2em;
31 | height: 2em;
32 | top: 0.35em;
33 | left: 0.4em;
34 | border-radius: 3px;
35 | }
36 | .ui.right.labeled.icon.buttons .button > .icon,
37 | .ui.right.labeled.icon.button > .icon {
38 | left: auto;
39 | right: 0.4em;
40 | border-radius: 3px;
41 | }
42 |
43 | .ui.basic.labeled.icon.buttons .button > .icon,
44 | .ui.basic.labeled.icon.button > .icon {
45 | padding-top: 0.4em !important;
46 | }
--------------------------------------------------------------------------------
/config/application.rb:
--------------------------------------------------------------------------------
1 | require File.expand_path('../boot', __FILE__)
2 |
3 | require 'rails/all'
4 |
5 | # Require the gems listed in Gemfile, including any gems
6 | # you've limited to :test, :development, or :production.
7 | Bundler.require(*Rails.groups)
8 |
9 | module FoodLookupDemoRails
10 | class Application < Rails::Application
11 | # Settings in config/environments/* take precedence over those specified here.
12 | # Application configuration should go into files in config/initializers
13 | # -- all .rb files in that directory are automatically loaded.
14 |
15 | # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
16 | # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC.
17 | # config.time_zone = 'Central Time (US & Canada)'
18 |
19 | # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
20 | # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
21 | # config.i18n.default_locale = :de
22 |
23 | # Do not swallow errors in after_commit/after_rollback callbacks.
24 | config.active_record.raise_in_transactional_callbacks = true
25 | end
26 | end
27 |
--------------------------------------------------------------------------------
/client/semantic/tasks/build.js:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Build Task
3 | *******************************/
4 |
5 | var
6 | // dependencies
7 | gulp = require('gulp-help')(require('gulp')),
8 | runSequence = require('run-sequence'),
9 |
10 | // config
11 | config = require('./config/user'),
12 | install = require('./config/project/install'),
13 |
14 | // task sequence
15 | tasks = []
16 | ;
17 |
18 |
19 | // sub-tasks
20 | if(config.rtl) {
21 | require('./collections/rtl')(gulp);
22 | }
23 | require('./collections/build')(gulp);
24 |
25 |
26 | module.exports = function(callback) {
27 |
28 | console.info('Building Semantic');
29 |
30 | if( !install.isSetup() ) {
31 | console.error('Cannot find semantic.json. Run "gulp install" to set-up Semantic');
32 | return 1;
33 | }
34 |
35 | // check for right-to-left (RTL) language
36 | if(config.rtl === true || config.rtl === 'Yes') {
37 | gulp.start('build-rtl');
38 | return;
39 | }
40 |
41 | if(config.rtl == 'both') {
42 | tasks.push('build-rtl');
43 | }
44 |
45 | tasks.push('build-javascript');
46 | tasks.push('build-css');
47 | tasks.push('build-assets');
48 |
49 | runSequence(tasks, callback);
50 | };
51 |
--------------------------------------------------------------------------------
/client/src/semantic-ui/components/breadcrumb.min.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * # Semantic UI 2.1.4 - Breadcrumb
3 | * http://github.com/semantic-org/semantic-ui/
4 | *
5 | *
6 | * Copyright 2015 Contributors
7 | * Released under the MIT license
8 | * http://opensource.org/licenses/MIT
9 | *
10 | */.ui.breadcrumb{line-height:1;display:inline-block;margin:0;vertical-align:middle}.ui.breadcrumb:first-child{margin-top:0}.ui.breadcrumb:last-child{margin-bottom:0}.ui.breadcrumb .divider{display:inline-block;opacity:.7;margin:0 .21428571rem;font-size:.92857143em;color:rgba(0,0,0,.4);vertical-align:baseline}.ui.breadcrumb a{color:#4183c4}.ui.breadcrumb a:hover{color:#1e70bf}.ui.breadcrumb .icon.divider{font-size:.85714286em;vertical-align:baseline}.ui.breadcrumb a.section{cursor:pointer}.ui.breadcrumb .section{display:inline-block;margin:0;padding:0}.ui.breadcrumb.segment{display:inline-block;padding:.71428571em 1em}.ui.breadcrumb .active.section{font-weight:700}.ui.mini.breadcrumb{font-size:.71428571rem}.ui.tiny.breadcrumb{font-size:.85714286rem}.ui.small.breadcrumb{font-size:.92857143rem}.ui.breadcrumb{font-size:1rem}.ui.large.breadcrumb{font-size:1.14285714rem}.ui.big.breadcrumb{font-size:1.28571429rem}.ui.huge.breadcrumb{font-size:1.42857143rem}.ui.massive.breadcrumb{font-size:1.71428571rem}
--------------------------------------------------------------------------------
/client/semantic/src/themes/chubby/collections/menu.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Menu
3 | *******************************/
4 |
5 | @background: @darkWhite;
6 | @boxShadow: none;
7 | @dividerSize: 0px;
8 |
9 | @verticalBoxShadow: 0px 0px 0px 2px @borderColor inset;
10 | @verticalActiveBoxShadow: none;
11 |
12 | @itemVerticalPadding: 1.25em;
13 | @itemHorizontalPadding: 2em;
14 | @itemFontWeight: bold;
15 |
16 | @activeItemBackground: @primaryColor;
17 | @activeItemTextColor: @white;
18 | @activeHoverItemBackground: @primaryColorHover;
19 | @activeHoverItemColor: @white;
20 |
21 | @secondaryItemPadding: @relativeSmall @relativeMedium;
22 |
23 | @secondaryActiveItemBackground: @primaryColor;
24 | @secondaryActiveItemColor: @white;
25 | @secondaryActiveHoverItemBackground: @primaryColorHover;
26 | @secondaryActiveHoverItemColor: @white;
27 |
28 | @secondaryPointingBorderWidth: 4px;
29 | @secondaryPointingActiveBorderColor: @primaryColor;
30 | @secondaryPointingActiveTextColor: @primaryColor;
31 |
32 | @arrowSize: 1em;
33 | @arrowActiveColor: @primaryColor;
34 | @arrowActiveHoverColor: @primaryColorHover;
35 | @arrowBorder: transparent;
36 |
37 | @paginationActiveBackground: @lightGrey;
38 |
39 | @borderColor: @darkWhite;
40 | @tabularBorderWidth: 2px;
--------------------------------------------------------------------------------
/client/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
16 | Food Lookup Demo
17 |
18 |
19 |
20 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/chubby/views/comment.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Comments
3 | *******************************/
4 |
5 | /*-------------------
6 | Elements
7 | --------------------*/
8 |
9 | /* Comment */
10 | @commentBackground: #FFFFFF;
11 | @commentMargin: 1em 0em 0em;
12 | @commentPadding: 1em 1.5em;
13 | @commentBorder: 1px solid rgba(0, 0, 0, 0.1);
14 | @commentDivider: 1px solid rgba(0, 0, 0, 0.1);
15 | @firstCommentMargin: 1em;
16 | @firstCommentPadding: 1em;
17 |
18 | /* Nested Comment */
19 | @nestedCommentsMargin: 0em 0em 0.5em 0.5em;
20 | @nestedCommentsPadding: 1em 0em 0em 1em;
21 | @nestedCommentBackground: #F0F0F0;
22 |
23 | /* Avatar */
24 | @avatarWidth: 3.5em;
25 | @avatarSpacing: 1.5em;
26 | @avatarBorderRadius: @circularRadius;
27 |
28 | /* Content */
29 | @contentMargin: @avatarWidth + @avatarSpacing;
30 |
31 | /* Author */
32 | @authorFontSize: 1em;
33 | @authorColor: @primaryColor;
34 | @authorHoverColor: @primaryColorHover;
35 | @authorFontWeight: bold;
36 |
37 | @metadataDisplay: block;
38 | @metadataSpacing: 0em;
39 | @metadataColor: @textColor;
40 |
41 | /*-------------------
42 | Variations
43 | --------------------*/
44 |
45 | /* Threaded */
46 | @threadedCommentMargin: -1.5em 0 -1em (@avatarWidth / 2);
47 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/elements/divider.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Divider
3 | *******************************/
4 |
5 | /*-------------------
6 | Element
7 | --------------------*/
8 |
9 | @margin: 1rem 0rem;
10 |
11 | @highlightWidth: 1px;
12 | @highlightColor: @whiteBorderColor;
13 |
14 | @shadowWidth: 1px;
15 | @shadowColor: @borderColor;
16 |
17 | /* Text */
18 | @letterSpacing: 0.05em;
19 | @fontWeight: bold;
20 | @color: @darkTextColor;
21 | @textTransform: uppercase;
22 |
23 | /*-------------------
24 | Coupling
25 | --------------------*/
26 |
27 | /* Icon */
28 | @dividerIconSize: 1rem;
29 | @dividerIconMargin: 0rem;
30 |
31 |
32 | /*******************************
33 | Variations
34 | *******************************/
35 |
36 | /* Horizontal / Vertical */
37 | @horizontalMargin: '';
38 | @horizontalDividerMargin: 1em;
39 | @horizontalRulerOffset: ~"calc(-50% - "(@horizontalDividerMargin)~")";
40 |
41 | @verticalDividerMargin: 1rem;
42 | @verticalDividerHeight: ~"calc(100% - "(@verticalDividerMargin)~")";
43 |
44 | /* Inverted */
45 | @invertedTextColor: @white;
46 | @invertedHighlightColor: rgba(255, 255, 255, 0.15);
47 | @invertedShadowColor: @borderColor;
48 |
49 | /* Section */
50 | @sectionMargin: 2rem;
51 |
52 | /* Sizes */
53 | @medium: 1rem;
--------------------------------------------------------------------------------
/client/src/semantic-ui/components/video.min.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * # Semantic UI 2.0.0 - Video
3 | * http://github.com/semantic-org/semantic-ui/
4 | *
5 | *
6 | * Copyright 2014 Contributors
7 | * Released under the MIT license
8 | * http://opensource.org/licenses/MIT
9 | *
10 | */.ui.video{background-color:#ddd;position:relative;max-width:100%;padding-bottom:56.25%;height:0;overflow:hidden}.ui.video .placeholder{background-color:#333}.ui.video .play{cursor:pointer;position:absolute;top:0;left:0;z-index:10;width:100%;height:100%;background:0 0;-webkit-transition:background .2s ease;transition:background .2s ease}.ui.video .play.icon:before{position:absolute;top:50%;left:50%;z-index:11;-webkit-transform:translateX(-50%)translateY(-50%);-ms-transform:translateX(-50%)translateY(-50%);transform:translateX(-50%)translateY(-50%);color:rgba(255,255,255,.7);font-size:7rem;text-shadow:2px 2px 0 rgba(0,0,0,.15);-webkit-transition:color .2s ease;transition:color .2s ease}.ui.video .placeholder{position:absolute;top:0;left:0;display:block;width:100%;height:100%}.ui.video .embed embed,.ui.video .embed iframe,.ui.video .embed object{position:absolute;border:none;width:100%;height:100%;top:0;left:0;margin:0;padding:0}.ui.video .play:hover{background:0 0}.ui.video .play:hover:before{color:#fff}.ui.active.video .placeholder,.ui.active.video .play{display:none}.ui.active.video .embed{display:inline}
--------------------------------------------------------------------------------
/client/semantic/src/themes/chubby/elements/button.variables:
--------------------------------------------------------------------------------
1 | /*-------------------
2 | Button Variables
3 | --------------------*/
4 |
5 | /* Button Variables */
6 | @pageFont: 'Source Sans Pro', Arial, sans-serif;
7 |
8 | @textTransform: none;
9 | @fontWeight: normal;
10 | @textColor: #333333;
11 |
12 | @verticalPadding: 1.1em;
13 | @horizontalPadding: 2.5em;
14 | @invertedBorderSize: 3px;
15 |
16 | @basicBorderRadius: 0.4em;
17 | @basicFontWeight: bold;
18 | @basicTextTransform: uppercase;
19 |
20 | @blue: #4A88CB;
21 | @primaryColor: @blue;
22 |
23 | @borderRadius: 0.25em;
24 |
25 | @backgroundColor: #E6EAED;
26 | @backgroundImage: none;
27 | @boxShadow: none;
28 |
29 | @hoverBackgroundColor: #DDDDDD;
30 | @hoverBackgroundImage: none;
31 | @hoverBoxShadow: none;
32 |
33 | @downBackgroundColor: #D0D0D0;
34 | @downBackgroundImage: none;
35 | @downBoxShadow: none;
36 |
37 | @activeBackgroundColor: #CCCCCC;
38 | @activeBackgroundImage: none;
39 | @activeBoxShadow: none;
40 |
41 | @verticalBoxShadow: none;
42 |
43 | @loadingBackgroundColor: #F0F0F0;
44 |
45 | @compactVerticalPadding: (@verticalPadding * 0.5);
46 | @compactHorizontalPadding: (@horizontalPadding * 0.5);
47 |
48 | @labeledIconBackgroundColor: transparent;
49 |
50 | @mini: 0.7rem;
51 | @tiny: 0.75rem;
52 | @small: 0.8rem;
53 | @medium: 0.92rem;
54 | @large: 1rem;
55 | @big: 1.125rem;
56 | @huge: 1.2rem;
57 | @massive: 1.3rem;
58 |
--------------------------------------------------------------------------------
/client/semantic/dist/components/nag.min.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * # Semantic UI 2.2.7 - Nag
3 | * http://github.com/semantic-org/semantic-ui/
4 | *
5 | *
6 | * Released under the MIT license
7 | * http://opensource.org/licenses/MIT
8 | *
9 | */.ui.nag{display:none;opacity:.95;position:relative;top:0;left:0;z-index:999;min-height:0;width:100%;margin:0;padding:.75em 1em;background:#555;box-shadow:0 1px 2px 0 rgba(0,0,0,.2);font-size:1rem;text-align:center;color:rgba(0,0,0,.87);border-radius:0 0 .28571429rem .28571429rem;-webkit-transition:.2s background ease;transition:.2s background ease}a.ui.nag{cursor:pointer}.ui.nag>.title{display:inline-block;margin:0 .5em;color:#fff}.ui.nag>.close.icon{cursor:pointer;opacity:.4;position:absolute;top:50%;right:1em;font-size:1em;margin:-.5em 0 0;color:#fff;-webkit-transition:opacity .2s ease;transition:opacity .2s ease}.ui.nag:hover{background:#555;opacity:1}.ui.nag .close:hover{opacity:1}.ui.overlay.nag{position:absolute;display:block}.ui.fixed.nag{position:fixed}.ui.bottom.nag,.ui.bottom.nags{border-radius:.28571429rem .28571429rem 0 0;top:auto;bottom:0}.ui.inverted.nag,.ui.inverted.nags .nag{background-color:#f3f4f5;color:rgba(0,0,0,.85)}.ui.inverted.nag .close,.ui.inverted.nag .title,.ui.inverted.nags .nag .close,.ui.inverted.nags .nag .title{color:rgba(0,0,0,.4)}.ui.nags .nag{border-radius:0!important}.ui.nags .nag:last-child{border-radius:0 0 .28571429rem .28571429rem}.ui.bottom.nags .nag:last-child{border-radius:.28571429rem .28571429rem 0 0}
--------------------------------------------------------------------------------
/client/semantic/src/themes/resetcss/globals/reset.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Overrides
3 | *******************************/
4 |
5 | /**
6 | * Eric Meyer's Reset CSS v2.0 (http://meyerweb.com/eric/tools/css/reset/)
7 | * http://cssreset.com
8 | */
9 |
10 | html, body, div, span, applet, object, iframe,
11 | h1, h2, h3, h4, h5, h6, p, blockquote, pre,
12 | a, abbr, acronym, address, big, cite, code,
13 | del, dfn, em, img, ins, kbd, q, s, samp,
14 | small, strike, strong, sub, sup, tt, var,
15 | b, u, i, center,
16 | dl, dt, dd, ol, ul, li,
17 | fieldset, form, label, legend,
18 | table, caption, tbody, tfoot, thead, tr, th, td,
19 | article, aside, canvas, details, embed,
20 | figure, figcaption, footer, header, hgroup,
21 | menu, nav, output, ruby, section, summary,
22 | time, mark, audio, video {
23 | margin: 0;
24 | padding: 0;
25 | border: 0;
26 | font-size: 100%;
27 | font: inherit;
28 | vertical-align: baseline;
29 | }
30 | /* HTML5 display-role reset for older browsers */
31 | article, aside, details, figcaption, figure,
32 | footer, header, hgroup, menu, nav, section {
33 | display: block;
34 | }
35 | body {
36 | line-height: 1;
37 | }
38 | ol, ul {
39 | list-style: none;
40 | }
41 | blockquote, q {
42 | quotes: none;
43 | }
44 | blockquote:before, blockquote:after,
45 | q:before, q:after {
46 | content: '';
47 | content: none;
48 | }
49 | table {
50 | border-collapse: collapse;
51 | border-spacing: 0;
52 | }
--------------------------------------------------------------------------------
/client/semantic/tasks/config/admin/templates/README.md:
--------------------------------------------------------------------------------
1 | # Semantic {Component}
2 |
3 | This repository contains pre-compiled {component} files using the default themes. This is intended for use in projects that do not need all the bells and whistles of Semantic UI, and want to keep file size to a minimum.
4 |
5 | For the latest changes please see the [Release Notes](https://github.com/Semantic-Org/UI-{Component}/blob/master/RELEASE-NOTES.md)
6 |
7 | **Special Note**
8 | An update in `2.0.8` has fixed an issue which may have prevented some single component modules from working correctly. Please see notes in [this pull request](https://github.com/Semantic-Org/Semantic-UI/pull/2816).
9 |
10 | If you're looking for the full version of Semantic including all components and build tools [check out the main project repository](https://github.com/Semantic-Org/Semantic-UI/tree/1.0)
11 |
12 | #### To install with Bower
13 | ```
14 | bower install semantic-ui-{component}
15 | ```
16 |
17 | #### To install with NPM
18 | ```
19 | npm install semantic-ui-{component}
20 | ```
21 |
22 | #### To install with Meteor
23 | ```
24 | meteor add semantic:ui-{component}
25 | ```
26 |
27 |
28 | ## Addendum
29 |
30 | This element's definitions (required class names, html structures) are available in the [UI Docs](http://www.semantic-ui.com)
31 |
32 | Please consider checking out [all the benefits to theming](http://www.learnsemantic.com/guide/expert.html) before using these stand-alone releases.
33 |
--------------------------------------------------------------------------------
/client/semantic/dist/components/rail.min.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * # Semantic UI 2.2.7 - Rail
3 | * http://github.com/semantic-org/semantic-ui/
4 | *
5 | *
6 | * Released under the MIT license
7 | * http://opensource.org/licenses/MIT
8 | *
9 | */.ui.rail{position:absolute;top:0;width:300px;height:100%}.ui.left.rail{left:auto;right:100%;padding:0 2rem 0 0;margin:0 2rem 0 0}.ui.right.rail{left:100%;right:auto;padding:0 0 0 2rem;margin:0 0 0 2rem}.ui.left.internal.rail{left:0;right:auto;padding:0 0 0 2rem;margin:0 0 0 2rem}.ui.right.internal.rail{left:auto;right:0;padding:0 2rem 0 0;margin:0 2rem 0 0}.ui.dividing.rail{width:302.5px}.ui.left.dividing.rail{padding:0 2.5rem 0 0;margin:0 2.5rem 0 0;border-right:1px solid rgba(34,36,38,.15)}.ui.right.dividing.rail{border-left:1px solid rgba(34,36,38,.15);padding:0 0 0 2.5rem;margin:0 0 0 2.5rem}.ui.close.rail{width:calc(300px + 1em)}.ui.close.left.rail{padding:0 1em 0 0;margin:0 1em 0 0}.ui.close.right.rail{padding:0 0 0 1em;margin:0 0 0 1em}.ui.very.close.rail{width:calc(300px + .5em)}.ui.very.close.left.rail{padding:0 .5em 0 0;margin:0 .5em 0 0}.ui.very.close.right.rail{padding:0 0 0 .5em;margin:0 0 0 .5em}.ui.attached.left.rail,.ui.attached.right.rail{padding:0;margin:0}.ui.mini.rail{font-size:.78571429rem}.ui.tiny.rail{font-size:.85714286rem}.ui.small.rail{font-size:.92857143rem}.ui.rail{font-size:1rem}.ui.large.rail{font-size:1.14285714rem}.ui.big.rail{font-size:1.28571429rem}.ui.huge.rail{font-size:1.42857143rem}.ui.massive.rail{font-size:1.71428571rem}
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/modules/embed.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Video
3 | *******************************/
4 |
5 | /*-------------------
6 | Element
7 | --------------------*/
8 |
9 | /* Simple */
10 | @background: @lightGrey;
11 | @transitionDuration: 0.5s;
12 | @transitionEasing: @defaultEasing;
13 |
14 | /* Placeholder */
15 | @placeholderUnderlay: @background;
16 |
17 | /* Placeholder Overlayed Background */
18 | @placeholderBackground: radial-gradient(transparent 45%, rgba(0, 0, 0, 0.3));
19 | @placeholderBackgroundOpacity: 0.5;
20 | @placeholderBackgroundTransition: opacity @transitionDuration @transitionEasing;
21 |
22 | /* Icon */
23 | @iconBackground: @veryStrongTransparentBlack;
24 | @iconSize: 6rem;
25 | @iconTransition:
26 | opacity @transitionDuration @transitionEasing,
27 | color @transitionDuration @transitionEasing
28 | ;
29 | @iconColor: @white;
30 | @iconShadow:
31 | 0px 2px 10px rgba(34, 36, 38, 0.2)
32 | ;
33 | @iconZIndex: 10;
34 |
35 | /*-------------------
36 | States
37 | --------------------*/
38 |
39 | /* Hover */
40 | @hoverPlaceholderBackground: @placeholderBackground;
41 | @hoverPlaceholderBackgroundOpacity: 1;
42 | @hoverIconColor: @white;
43 |
44 |
45 | /*-------------------
46 | Variations
47 | --------------------*/
48 |
49 | /* Aspect Ratios */
50 | @squareRatio: (1/1) * 100%;
51 | @widescreenRatio: (9/16) * 100%;
52 | @ultraWidescreenRatio: (9/21) * 100%;
53 | @standardRatio: (3/4) * 100%;
--------------------------------------------------------------------------------
/client/semantic/tasks/admin/register.js:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Register PM
3 | *******************************/
4 |
5 | /*
6 | Task to register component repos with Package Managers
7 | * Registers component with bower
8 | * Registers component with NPM
9 | */
10 |
11 | var
12 | // node dependencies
13 | process = require('child_process'),
14 |
15 | // config
16 | release = require('../config/admin/release'),
17 |
18 | // register components and distributions
19 | repos = release.distributions.concat(release.components),
20 | total = repos.length,
21 | index = -1,
22 |
23 | stream,
24 | stepRepo
25 | ;
26 |
27 | module.exports = function(callback) {
28 |
29 | console.log('Registering repos with package managers');
30 |
31 | // Do Git commands synchronously per component, to avoid issues
32 | stepRepo = function() {
33 | index = index + 1;
34 | if(index >= total) {
35 | callback();
36 | return;
37 | }
38 | var
39 | repo = repos[index].toLowerCase(),
40 | outputDirectory = release.outputRoot + repo + '/',
41 | exec = process.exec,
42 | execSettings = {cwd: outputDirectory},
43 | updateNPM = 'npm publish'
44 | ;
45 |
46 | /* Register with NPM */
47 | exec(updateNPM, execSettings, function(err, stdout, stderr) {
48 | console.log(err, stdout, stderr);
49 | stepRepo();
50 | });
51 |
52 | };
53 | stepRepo();
54 | };
55 |
56 |
--------------------------------------------------------------------------------
/client/semantic/tasks/config/user.js:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Set-up
3 | *******************************/
4 |
5 | var
6 | // npm dependencies
7 | extend = require('extend'),
8 | fs = require('fs'),
9 | path = require('path'),
10 | requireDotFile = require('require-dot-file'),
11 |
12 | // semantic.json defaults
13 | defaults = require('./defaults'),
14 | config = require('./project/config'),
15 |
16 | // Final config object
17 | gulpConfig = {},
18 |
19 | // semantic.json settings
20 | userConfig
21 |
22 | ;
23 |
24 |
25 | /*******************************
26 | User Config
27 | *******************************/
28 |
29 | try {
30 | // looks for config file across all parent directories
31 | userConfig = requireDotFile('semantic.json');
32 | }
33 | catch(error) {
34 | if(error.code === 'MODULE_NOT_FOUND') {
35 | console.error('No semantic.json config found');
36 | }
37 | }
38 |
39 | // extend user config with defaults
40 | gulpConfig = (!userConfig)
41 | ? extend(true, {}, defaults)
42 | : extend(false, {}, defaults, userConfig)
43 | ;
44 |
45 | /*******************************
46 | Add Derived Values
47 | *******************************/
48 |
49 | // adds calculated values
50 | config.addDerivedValues(gulpConfig);
51 |
52 |
53 | /*******************************
54 | Export
55 | *******************************/
56 |
57 | module.exports = gulpConfig;
58 |
59 |
--------------------------------------------------------------------------------
/client/src/semantic-ui/components/nag.min.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * # Semantic UI 2.1.4 - Nag
3 | * http://github.com/semantic-org/semantic-ui/
4 | *
5 | *
6 | * Copyright 2015 Contributors
7 | * Released under the MIT license
8 | * http://opensource.org/licenses/MIT
9 | *
10 | */.ui.nag{display:none;opacity:.95;position:relative;top:0;left:0;z-index:999;min-height:0;width:100%;margin:0;padding:.75em 1em;background:#555;box-shadow:0 1px 2px 0 rgba(0,0,0,.2);font-size:1rem;text-align:center;color:rgba(0,0,0,.87);border-radius:0 0 .28571429rem .28571429rem;-webkit-transition:.2s background ease;transition:.2s background ease}a.ui.nag{cursor:pointer}.ui.nag>.title{display:inline-block;margin:0 .5em;color:#fff}.ui.nag>.close.icon{cursor:pointer;opacity:.4;position:absolute;top:50%;right:1em;font-size:1em;margin:-.5em 0 0;color:#fff;-webkit-transition:opacity .2s ease;transition:opacity .2s ease}.ui.nag:hover{background:#555;opacity:1}.ui.nag .close:hover{opacity:1}.ui.overlay.nag{position:absolute;display:block}.ui.fixed.nag{position:fixed}.ui.bottom.nag,.ui.bottom.nags{border-radius:.28571429rem .28571429rem 0 0;top:auto;bottom:0}.ui.inverted.nag,.ui.inverted.nags .nag{background-color:#f3f4f5;color:rgba(0,0,0,.85)}.ui.inverted.nag .close,.ui.inverted.nag .title,.ui.inverted.nags .nag .close,.ui.inverted.nags .nag .title{color:rgba(0,0,0,.4)}.ui.nags .nag{border-radius:0!important}.ui.nags .nag:last-child{border-radius:0 0 .28571429rem .28571429rem}.ui.bottom.nags .nag:last-child{border-radius:.28571429rem .28571429rem 0 0}
--------------------------------------------------------------------------------
/client/semantic/src/themes/bootstrap3/elements/button.variables:
--------------------------------------------------------------------------------
1 | /*-------------------
2 | Button Variables
3 | --------------------*/
4 |
5 | /* Button Variables */
6 | @pageFont: Helvetica Neue, Helvetica, Arial, sans-serif;
7 | @textTransform: none;
8 | @fontWeight: normal;
9 | @textColor: rgba(51, 51, 51, 1);
10 |
11 | @borderRadius: @4px;
12 |
13 | @lineHeight: 1.42857;
14 | @verticalPadding: 0.8571em;
15 | @horizontalPadding: 0.8571em;
16 |
17 | @backgroundColor: @white;
18 | @backgroundImage: none;
19 |
20 |
21 | @borderBoxShadowColor: rgba(0, 0, 0, 0.14);
22 |
23 | @green: #5CB85C;
24 | @red: #D9534F;
25 | @blue: #337AB7;
26 | @green: #60B044;
27 | @orange: #F0AD4E;
28 |
29 | @primaryColor: @blue;
30 | @secondaryColor: @green;
31 |
32 | @labeledIconBackgroundColor: transparent;
33 |
34 | @basicBorderSize: 0px;
35 | @basicColoredBorderSize: 0px;
36 | @invertedBorderSize: 0px;
37 |
38 | @basicActiveBackground: transparent;
39 | @basicHoverBackground: transparent;
40 | @basicDownBoxShadow:
41 | 0px 0px 0px 1px #ADADAD inset,
42 | 0 3px 5px rgba(0, 0, 0, 0.125) inset
43 | ;
44 |
45 | @groupButtonOffset: 0px 0px 0px -1px;
46 | @verticalGroupOffset: 0px 0px -1px 0px;
47 |
48 | /* States */
49 |
50 | @hoverBackgroundColor: #E6E6E6;
51 | @hoverBoxShadow:
52 | 0px 0px 0px 1px #ADADAD inset
53 | ;
54 |
55 | @downBackgroundColor: #E6E6E6;
56 | @downBoxShadow:
57 | 0px 0px 0px 1px #ADADAD inset,
58 | 0 3px 5px rgba(0, 0, 0, 0.125) inset
59 | ;
60 |
61 | @activeBackgroundColor: #E6E6E6;
62 |
63 | @disabledOpacity: 0.65;
--------------------------------------------------------------------------------
/client/semantic/src/definitions/modules/sticky.less:
--------------------------------------------------------------------------------
1 | /*!
2 | * # Semantic UI - Sticky
3 | * http://github.com/semantic-org/semantic-ui/
4 | *
5 | *
6 | * Released under the MIT license
7 | * http://opensource.org/licenses/MIT
8 | *
9 | */
10 |
11 |
12 | /*******************************
13 | Theme
14 | *******************************/
15 |
16 | @type : 'module';
17 | @element : 'sticky';
18 |
19 | @import (multiple) '../../theme.config';
20 |
21 | /*******************************
22 | Sticky
23 | *******************************/
24 |
25 | .ui.sticky {
26 | position: static;
27 | transition: @transition;
28 | z-index: @zIndex;
29 | }
30 |
31 | /*******************************
32 | States
33 | *******************************/
34 |
35 | /* Bound */
36 | .ui.sticky.bound {
37 | position: absolute;
38 | left: auto;
39 | right: auto;
40 | }
41 |
42 | /* Fixed */
43 | .ui.sticky.fixed {
44 | position: fixed;
45 | left: auto;
46 | right: auto;
47 | }
48 |
49 | /* Bound/Fixed Position */
50 | .ui.sticky.bound.top,
51 | .ui.sticky.fixed.top {
52 | top: 0px;
53 | bottom: auto;
54 | }
55 | .ui.sticky.bound.bottom,
56 | .ui.sticky.fixed.bottom {
57 | top: auto;
58 | bottom: 0px;
59 | }
60 |
61 |
62 | /*******************************
63 | Types
64 | *******************************/
65 |
66 | .ui.native.sticky {
67 | position: -webkit-sticky;
68 | position: -moz-sticky;
69 | position: -ms-sticky;
70 | position: -o-sticky;
71 | position: sticky;
72 | }
73 |
74 | .loadUIOverrides();
75 |
--------------------------------------------------------------------------------
/client/semantic/dist/components/sticky.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * # Semantic UI 2.2.7 - Sticky
3 | * http://github.com/semantic-org/semantic-ui/
4 | *
5 | *
6 | * Released under the MIT license
7 | * http://opensource.org/licenses/MIT
8 | *
9 | */
10 |
11 |
12 | /*******************************
13 | Sticky
14 | *******************************/
15 |
16 | .ui.sticky {
17 | position: static;
18 | -webkit-transition: none;
19 | transition: none;
20 | z-index: 800;
21 | }
22 |
23 |
24 | /*******************************
25 | States
26 | *******************************/
27 |
28 |
29 | /* Bound */
30 | .ui.sticky.bound {
31 | position: absolute;
32 | left: auto;
33 | right: auto;
34 | }
35 |
36 | /* Fixed */
37 | .ui.sticky.fixed {
38 | position: fixed;
39 | left: auto;
40 | right: auto;
41 | }
42 |
43 | /* Bound/Fixed Position */
44 | .ui.sticky.bound.top,
45 | .ui.sticky.fixed.top {
46 | top: 0px;
47 | bottom: auto;
48 | }
49 | .ui.sticky.bound.bottom,
50 | .ui.sticky.fixed.bottom {
51 | top: auto;
52 | bottom: 0px;
53 | }
54 |
55 |
56 | /*******************************
57 | Types
58 | *******************************/
59 |
60 | .ui.native.sticky {
61 | position: -webkit-sticky;
62 | position: -moz-sticky;
63 | position: -ms-sticky;
64 | position: -o-sticky;
65 | position: sticky;
66 | }
67 |
68 |
69 | /*******************************
70 | Theme Overrides
71 | *******************************/
72 |
73 |
74 |
75 | /*******************************
76 | Site Overrides
77 | *******************************/
78 |
79 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/modules/nag.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Nag
3 | *******************************/
4 |
5 | /*--------------
6 | Collection
7 | ---------------*/
8 |
9 | @position: relative;
10 | @width: 100%;
11 | @zIndex: 999;
12 | @margin: 0em;
13 |
14 | @background: #555555;
15 | @opacity: 0.95;
16 | @minHeight: 0em;
17 | @padding: 0.75em 1em;
18 | @lineHeight: 1em;
19 | @boxShadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.2);
20 |
21 | @fontSize: 1rem;
22 | @textAlign: center;
23 | @color: @textColor;
24 |
25 | @transition: 0.2s background ease;
26 |
27 |
28 | /*--------------
29 | Elements
30 | ---------------*/
31 |
32 | /* Title */
33 | @titleColor: @white;
34 | @titleMargin: 0em 0.5em;
35 |
36 | @closeSize: 1em;
37 | @closeMargin: (-@closeSize / 2) 0em 0em;
38 | @closeTop: 50%;
39 | @closeRight: 1em;
40 | @closeColor: @white;
41 | @closeTransition: opacity 0.2s ease;
42 | @closeOpacity: 0.4;
43 |
44 |
45 | /*--------------
46 | States
47 | ---------------*/
48 |
49 | /* Hover */
50 | @nagHoverBackground: @background;
51 | @nagHoverOpacity: 1;
52 |
53 | @closeHoverOpacity: 1;
54 |
55 | /*--------------
56 | Variations
57 | ---------------*/
58 |
59 | /* Top / Bottom */
60 | @top: 0em;
61 | @bottom: 0em;
62 | @borderRadius: @defaultBorderRadius;
63 | @topBorderRadius: 0em 0em @borderRadius @borderRadius;
64 | @bottomBorderRadius: @borderRadius @borderRadius 0em 0em;
65 |
66 | /* Inverted */
67 | @invertedBackground: @darkWhite;
68 |
69 | /*--------------
70 | Plural
71 | ---------------*/
72 |
73 | @groupedBorderRadius: 0em;
74 |
75 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/amazon/elements/button.variables:
--------------------------------------------------------------------------------
1 | /*-------------------
2 | Button Variables
3 | --------------------*/
4 |
5 | /* Button Variables */
6 | @pageFont: Helvetica Neue, Helvetica, Arial, sans-serif;
7 | @textTransform: none;
8 | @textColor: #111111;
9 | @fontWeight: normal;
10 | @transition:
11 | opacity @defaultDuration @defaultEasing,
12 | background-color @defaultDuration @defaultEasing,
13 | color @defaultDuration @defaultEasing,
14 | background @defaultDuration @defaultEasing
15 | ;
16 |
17 | @hoverBackgroundColor: #E0E0E0;
18 |
19 | @borderRadius: 3px;
20 | @verticalPadding: 0.8em;
21 | @horizontalPadding: 1.75em;
22 |
23 | @backgroundColor: #F7F8FA;
24 | @backgroundImage: linear-gradient(rgba(255, 255, 255, 0), rgba(0, 0, 0, 0.1));
25 | @boxShadow:
26 | 0 1px 0 1px rgba(255, 255, 255, 0.3) inset,
27 | 0 0 0 1px #ADB2BB inset
28 | ;
29 |
30 | @coloredBackgroundImage: linear-gradient(rgba(255, 255, 255, 0.2), rgba(0, 0, 0, 0.2));
31 | @coloredBoxShadow:
32 | 0px 1px 0px 0px rgba(255, 255, 255, 0.2) inset
33 | ;
34 |
35 | @downBoxShadow:
36 | 0 0 0 1px #ADB2BB inset,
37 | 0 1px 3px rgba(0, 0, 0, 0.2) inset
38 | ;
39 |
40 | @labeledIconBackgroundColor: #313A43;
41 | @labeledIconColor: #FFFFFF;
42 | @labeledIconBorder: transparent;
43 |
44 | @black: #444C55;
45 | @orange: #F4CC67;
46 |
47 | @coloredBackgroundImage: linear-gradient(rgba(255, 255, 255, 0.15), rgba(0, 0, 0, 0.1));
48 | @primaryColor: @orange;
49 | @secondaryColor: @black;
50 |
51 | @mini: 10px;
52 | @tiny: 11px;
53 | @small: 12px;
54 | @medium: 13px;
55 | @large: 14px;
56 | @big: 16px;
57 | @huge: 18px;
58 | @massive: 22px;
59 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/default/modules/dimmer.variables:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Dimmer
3 | *******************************/
4 |
5 | @dimmablePosition: relative;
6 | @dimmerPosition: absolute;
7 |
8 | @backgroundColor: rgba(0, 0, 0 , 0.85);
9 | @lineHeight: 1;
10 | @perspective: 2000px;
11 |
12 | @duration: 0.5s;
13 | @transition:
14 | background-color @duration linear
15 | ;
16 | @zIndex: 1000;
17 | @textAlign: center;
18 | @verticalAlign: middle;
19 | @textColor: @white;
20 | @overflow: hidden;
21 |
22 | @blurredStartFilter: ~"blur(0px) grayscale(0)";
23 | @blurredEndFilter: ~"blur(5px) grayscale(0.7)";
24 | @blurredTransition: 800ms filter @defaultEasing;
25 |
26 | @blurredBackgroundColor: rgba(0, 0, 0, 0.6);
27 | @blurredInvertedBackgroundColor: rgba(255, 255, 255, 0.6);
28 |
29 | /* Hidden (Default) */
30 | @hiddenOpacity: 0;
31 |
32 | /* Content */
33 | @contentDisplay: table;
34 | @contentChildDisplay: table-cell;
35 |
36 | /* Visible */
37 | @visibleOpacity: 1;
38 |
39 | /*-------------------
40 | Types
41 | --------------------*/
42 |
43 | /* Page Dimmer*/
44 | @transformStyle: '';
45 | @pageDimmerPosition: fixed;
46 |
47 |
48 | /*-------------------
49 | Variations
50 | --------------------*/
51 |
52 | /* Inverted */
53 | @invertedBackgroundColor: rgba(255, 255, 255, 0.85);
54 | @invertedTextColor: @textColor;
55 |
56 | /* Simple */
57 | @simpleZIndex: 1;
58 | @simpleStartBackgroundColor: rgba(0, 0, 0, 0);
59 | @simpleEndBackgroundColor: @backgroundColor;
60 | @simpleInvertedStartBackgroundColor: rgba(255, 255, 255, 0);
61 | @simpleInvertedEndBackgroundColor: @invertedBackgroundColor;
--------------------------------------------------------------------------------
/client/semantic/tasks/config/project/release.js:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Release Config
3 | *******************************/
4 |
5 | var
6 | requireDotFile = require('require-dot-file'),
7 | config,
8 | npmPackage,
9 | version
10 | ;
11 |
12 |
13 | /*******************************
14 | Derived Values
15 | *******************************/
16 |
17 | try {
18 | config = requireDotFile('semantic.json');
19 | }
20 | catch(error) {}
21 |
22 |
23 | try {
24 | npmPackage = require('../../../package.json');
25 | }
26 | catch(error) {
27 | // generate fake package
28 | npmPackage = {
29 | name: 'Unknown',
30 | version: 'x.x'
31 | };
32 | }
33 |
34 | // looks for version in config or package.json (whichever is available)
35 | version = (npmPackage && npmPackage.version !== undefined && npmPackage.name == 'semantic-ui')
36 | ? npmPackage.version
37 | : config.version
38 | ;
39 |
40 |
41 | /*******************************
42 | Export
43 | *******************************/
44 |
45 | module.exports = {
46 |
47 | title : 'Semantic UI',
48 | repository : 'https://github.com/Semantic-Org/Semantic-UI',
49 | url : 'http://www.semantic-ui.com/',
50 |
51 | banner: ''
52 | + ' /*' + '\n'
53 | + ' * # <%= title %> - <%= version %>' + '\n'
54 | + ' * <%= repository %>' + '\n'
55 | + ' * <%= url %>' + '\n'
56 | + ' *' + '\n'
57 | + ' * Copyright 2014 Contributors' + '\n'
58 | + ' * Released under the MIT license' + '\n'
59 | + ' * http://opensource.org/licenses/MIT' + '\n'
60 | + ' *' + '\n'
61 | + ' */' + '\n',
62 |
63 | version : version
64 |
65 | };
66 |
--------------------------------------------------------------------------------
/client/semantic/dist/components/site.min.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * # Semantic UI 2.2.7 - Site
3 | * http://github.com/semantic-org/semantic-ui/
4 | *
5 | *
6 | * Released under the MIT license
7 | * http://opensource.org/licenses/MIT
8 | *
9 | */@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic&subset=latin);body,html{height:100%}html{font-size:14px}body{margin:0;padding:0;overflow-x:hidden;min-width:320px;background:#fff;font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;font-size:14px;line-height:1.4285em;color:rgba(0,0,0,.87);font-smoothing:antialiased}h1,h2,h3,h4,h5{font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;line-height:1.2857em;margin:calc(2rem - .14285em) 0 1rem;font-weight:700;padding:0}h1{min-height:1rem;font-size:2rem}h2{font-size:1.714rem}h3{font-size:1.28rem}h4{font-size:1.071rem}h5{font-size:1rem}h1:first-child,h2:first-child,h3:first-child,h4:first-child,h5:first-child{margin-top:0}h1:last-child,h2:last-child,h3:last-child,h4:last-child,h5:last-child{margin-bottom:0}p{margin:0 0 1em;line-height:1.4285em}p:first-child{margin-top:0}p:last-child{margin-bottom:0}a{color:#4183c4;text-decoration:none}a:hover{color:#1e70bf;text-decoration:none}::-webkit-selection{background-color:#cce2ff;color:rgba(0,0,0,.87)}::-moz-selection{background-color:#cce2ff;color:rgba(0,0,0,.87)}::selection{background-color:#cce2ff;color:rgba(0,0,0,.87)}input::-webkit-selection,textarea::-webkit-selection{background-color:rgba(100,100,100,.4);color:rgba(0,0,0,.87)}input::-moz-selection,textarea::-moz-selection{background-color:rgba(100,100,100,.4);color:rgba(0,0,0,.87)}input::selection,textarea::selection{background-color:rgba(100,100,100,.4);color:rgba(0,0,0,.87)}
--------------------------------------------------------------------------------
/client/semantic/src/themes/fixed-width/modules/modal.variables:
--------------------------------------------------------------------------------
1 |
2 | /* Responsive Widths */
3 | @modalComputerWidth: 700px;
4 | @modalLargeMonitorWidth: 800px;
5 | @modalWidescreenMonitorWidth: 850px;
6 |
7 | @modalComputerMargin: 0em 0em 0em -(@modalComputerWidth / 2);
8 | @modalLargeMonitorMargin: 0em 0em 0em -(@modalLargeMonitorWidth / 2);
9 | @modalWidescreenMonitorMargin: 0em 0em 0em -(@modalWidescreenMonitorWidth / 2);
10 |
11 |
12 | /*-------------------
13 | Variations
14 | --------------------*/
15 |
16 | /* Sizes */
17 | @modalSmallRatio: 0.6;
18 | @modalLargeRatio: 1.2;
19 |
20 | /* Derived Responsive Sizes */
21 | @modalSmallHeaderSize: 1.3em;
22 | @modalSmallComputerWidth: (@modalComputerWidth * @modalSmallRatio);
23 | @modalSmallLargeMonitorWidth: (@modalLargeMonitorWidth * @modalSmallRatio);
24 | @modalSmallWidescreenMonitorWidth: (@modalWidescreenMonitorWidth * @modalSmallRatio);
25 |
26 | @modalSmallComputerMargin: 0em 0em 0em -(@modalSmallComputerWidth / 2);
27 | @modalSmallLargeMonitorMargin: 0em 0em 0em -(@modalSmallLargeMonitorWidth / 2);
28 | @modalSmallWidescreenMonitorMargin: 0em 0em 0em -(@modalSmallWidescreenMonitorWidth / 2);
29 |
30 | @modalLargeHeaderSize: 1.3em;
31 | @modalLargeComputerWidth: (@modalComputerWidth * @modalLargeRatio);
32 | @modalLargeLargeMonitorWidth: (@modalLargeMonitorWidth * @modalLargeRatio);
33 | @modalLargeWidescreenMonitorWidth: (@modalWidescreenMonitorWidth * @modalLargeRatio);
34 |
35 | @modalLargeComputerMargin: 0em 0em 0em -(@modalLargeComputerWidth / 2);
36 | @modalLargeLargeMonitorMargin: 0em 0em 0em -(@modalLargeLargeMonitorWidth / 2);
37 | @modalLargeWidescreenMonitorMargin: 0em 0em 0em -(@modalLargeWidescreenMonitorWidth / 2);
--------------------------------------------------------------------------------
/client/src/semantic-ui/components/site.min.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * # Semantic UI 2.1.4 - Site
3 | * http://github.com/semantic-org/semantic-ui/
4 | *
5 | *
6 | * Copyright 2015 Contributors
7 | * Released under the MIT license
8 | * http://opensource.org/licenses/MIT
9 | *
10 | */@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic&subset=latin);body,html{height:100%}html{font-size:14px}body{margin:0;padding:0;overflow-x:hidden;min-width:320px;background:#fff;font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;font-size:14px;line-height:1.4285em;color:rgba(0,0,0,.87);font-smoothing:antialiased}h1,h2,h3,h4,h5{font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;line-height:1.2857em;margin:calc(2rem - .14285em) 0 1rem;font-weight:700;padding:0}h1{min-height:1rem;font-size:2rem}h2{font-size:1.714rem}h3{font-size:1.28rem}h4{font-size:1.071rem}h5{font-size:1rem}h1:first-child,h2:first-child,h3:first-child,h4:first-child,h5:first-child,p:first-child{margin-top:0}h1:last-child,h2:last-child,h3:last-child,h4:last-child,h5:last-child,p:last-child{margin-bottom:0}p{margin:0 0 1em;line-height:1.4285em}a{color:#4183c4;text-decoration:none}a:hover{color:#1e70bf;text-decoration:none}::-webkit-selection{background-color:#cce2ff;color:rgba(0,0,0,.87)}::-moz-selection{background-color:#cce2ff;color:rgba(0,0,0,.87)}::selection{background-color:#cce2ff;color:rgba(0,0,0,.87)}input::-webkit-selection,textarea::-webkit-selection{background-color:rgba(100,100,100,.4);color:rgba(0,0,0,.87)}input::-moz-selection,textarea::-moz-selection{background-color:rgba(100,100,100,.4);color:rgba(0,0,0,.87)}input::selection,textarea::selection{background-color:rgba(100,100,100,.4);color:rgba(0,0,0,.87)}
--------------------------------------------------------------------------------
/client/semantic/src/theme.less:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Import Directives
3 | *******************************/
4 |
5 | /*------------------
6 | Theme
7 | -------------------*/
8 |
9 | @theme: @@element;
10 |
11 | /*--------------------
12 | Site Variables
13 | ---------------------*/
14 |
15 | /* Default site.variables */
16 | @import "@{themesFolder}/default/globals/site.variables";
17 |
18 | /* Packaged site.variables */
19 | @import "@{themesFolder}/@{site}/globals/site.variables";
20 |
21 | /* Component's site.variables */
22 | @import (optional) "@{themesFolder}/@{theme}/globals/site.variables";
23 |
24 | /* Site theme site.variables */
25 | @import (optional) "@{siteFolder}/globals/site.variables";
26 |
27 |
28 | /*-------------------
29 | Component Variables
30 | ---------------------*/
31 |
32 | /* Default */
33 | @import "@{themesFolder}/default/@{type}s/@{element}.variables";
34 |
35 | /* Packaged Theme */
36 | @import (optional) "@{themesFolder}/@{theme}/@{type}s/@{element}.variables";
37 |
38 | /* Site Theme */
39 | @import (optional) "@{siteFolder}/@{type}s/@{element}.variables";
40 |
41 |
42 | /*******************************
43 | Mix-ins
44 | *******************************/
45 |
46 | /*------------------
47 | Fonts
48 | -------------------*/
49 |
50 | .loadFonts() when (@importGoogleFonts) {
51 | @import url('@{googleProtocol}fonts.googleapis.com/css?family=@{googleFontRequest}');
52 | }
53 |
54 | /*------------------
55 | Overrides
56 | -------------------*/
57 |
58 | .loadUIOverrides() {
59 | @import (optional) "@{themesFolder}/@{theme}/@{type}s/@{element}.overrides";
60 | @import (optional) "@{siteFolder}/@{type}s/@{element}.overrides";
61 | }
62 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/github/collections/menu.variables:
--------------------------------------------------------------------------------
1 | /*-------------------
2 | Collection
3 | --------------------*/
4 |
5 | @itemVerticalPadding: 1em;
6 | @itemHorizontalPadding: 1.25em;
7 |
8 | @background: #FFFFFF linear-gradient(rgba(255, 255, 255, 0.05), rgba(0, 0, 0, 0.05));
9 | @fontWeight: normal;
10 |
11 | @activeBorderSize: 0em;
12 |
13 | @hoverBackground: rgba(0, 0, 0, 0.02);
14 | @downBackground: rgba(0, 0, 0, 0.06);
15 |
16 | @activeBackground: rgba(0, 0, 0, 0.04);
17 | @activeHoverBackground: rgba(0, 0, 0, 0.04);
18 |
19 |
20 | @headerBackground: rgba(0, 0, 0, 0.08);
21 |
22 | @subMenuMargin: 0.5em -0.6em 0;
23 | @subMenuHorizontalPadding: 0.7em;
24 |
25 | @arrowHoverColor: #EEEEEE;
26 | @arrowActiveColor: #EEEEEE;
27 | @arrowVerticalHoverColor: #F4F4F4;
28 | @arrowVerticalActiveColor: #F4F4F4;
29 |
30 | @dividerBackground: #E8E8E8;
31 | @verticalDividerBackground: #E8E8E8;
32 |
33 | /*-------------------
34 | Elements
35 | --------------------*/
36 |
37 | @buttonOffset: -0.15em;
38 | @buttonVerticalPadding: 0.75em;
39 |
40 | /*-------------------
41 | Types
42 | --------------------*/
43 |
44 | @paginationMinWidth: 3.5em;
45 |
46 | @tieredActiveItemBackground: #F5F5F5;
47 | @tieredActiveMenuBackground: #F5F5F5;
48 |
49 | /*-------------------
50 | Variations
51 | --------------------*/
52 |
53 | @verticalBackground: #FFFFFF;
54 | @verticalItemBackground: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.02));
55 |
56 | @invertedBackground: @black linear-gradient(rgba(255, 255, 255, 0.05), rgba(0, 0, 0, 0.0));
57 | @invertedBoxShadow :
58 | 0px 1px 2px 0px rgba(0, 0, 0, 0.15),
59 | 0px 0px 0px 1px rgba(255, 255, 255, 0.15)
60 | ;
61 | @secondaryVerticalPadding: 0.75em;
--------------------------------------------------------------------------------
/public/500.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | We're sorry, but something went wrong (500)
5 |
6 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
We're sorry, but something went wrong.
62 |
63 |
If you are the application owner check the logs for more information.
64 |
65 |
66 |
67 |
--------------------------------------------------------------------------------
/db/seeds.rb:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 |
3 | require 'csv'
4 |
5 | COLUMNS = [
6 | 'ndb_no',
7 | 'description',
8 | 'water_g',
9 | 'kcal',
10 | 'protein_g',
11 | 'lipid_total_g',
12 | 'ash_g',
13 | 'carbohydrate_g',
14 | 'fiber_td_g',
15 | 'sugar_g',
16 | 'calcium_mg',
17 | 'iron_mg',
18 | 'magnesium_mg',
19 | 'phosphorus_mg',
20 | 'potassium_mg',
21 | 'sodium_mg',
22 | 'zinc_mg',
23 | 'copper_mg',
24 | 'manganese_mg',
25 | 'selenium_ug',
26 | 'vit_c_mg',
27 | 'thiamin_mg',
28 | 'riboflavin_mg',
29 | 'niacin_mg',
30 | 'panto_acid_mg',
31 | 'vit_b6_mg',
32 | 'folate_tot_ug',
33 | 'folic_acid_ug',
34 | 'food_folate_ug',
35 | 'folate_dfe_ug',
36 | 'choline_tot_mg',
37 | 'vit_b12_ug',
38 | 'vit_a_iu',
39 | 'vit_a_rae',
40 | 'retinol_ug',
41 | 'alpha_carot_ug',
42 | 'beta_carot_ug',
43 | 'beta_crypt_ug',
44 | 'lycopene_ug',
45 | 'lut_and_zea_ug',
46 | 'vit_e_mg',
47 | 'vit_d_ug',
48 | 'vit_d_iu',
49 | 'vit_k_ug',
50 | 'fa_sat_g',
51 | 'fa_mono_g',
52 | 'fa_poly_g',
53 | 'cholestrl_mg',
54 | 'gmwt_1',
55 | 'gmwt_desc1',
56 | 'gmwt_2',
57 | 'gmwt_desc2',
58 | 'refuse_pct',
59 | ]
60 |
61 | print "\nSeeding..."
62 |
63 | dir = File.dirname(File.expand_path(__FILE__))
64 | lineno = 1
65 | CSV.foreach(File.join(dir, 'raw-ndb.csv'), 'r:ISO8859-1') do |row|
66 | lineno = $.
67 |
68 | next if lineno == 1
69 | print '.' if lineno % 1000 == 0
70 |
71 | # Humanize descriptions
72 | row[1] = row[1].capitalize.gsub(/([\,\/])\s*/, '\1 ').gsub(/\s*\&\s*/, ' \1 ')
73 |
74 | entry = {}
75 |
76 | COLUMNS.each_with_index do |column, idx|
77 | entry[column] = row[idx]
78 | end
79 |
80 | Food.create!(entry)
81 | end
82 |
83 | print "done."
84 | print "\n#{lineno} food entries imported."
85 |
--------------------------------------------------------------------------------
/config/environments/development.rb:
--------------------------------------------------------------------------------
1 | Rails.application.configure do
2 | # Settings specified here will take precedence over those in config/application.rb.
3 |
4 | # In the development environment your application's code is reloaded on
5 | # every request. This slows down response time but is perfect for development
6 | # since you don't have to restart the web server when you make code changes.
7 | config.cache_classes = false
8 |
9 | # Do not eager load code on boot.
10 | config.eager_load = false
11 |
12 | # Show full error reports and disable caching.
13 | config.consider_all_requests_local = true
14 | config.action_controller.perform_caching = false
15 |
16 | # Don't care if the mailer can't send.
17 | config.action_mailer.raise_delivery_errors = false
18 |
19 | # Print deprecation notices to the Rails logger.
20 | config.active_support.deprecation = :log
21 |
22 | # Raise an error on page load if there are pending migrations.
23 | config.active_record.migration_error = :page_load
24 |
25 | # Debug mode disables concatenation and preprocessing of assets.
26 | # This option may cause significant delays in view rendering with a large
27 | # number of complex assets.
28 | config.assets.debug = true
29 |
30 | # Asset digests allow you to set far-future HTTP expiration dates on all assets,
31 | # yet still be able to expire them through the digest params.
32 | config.assets.digest = true
33 |
34 | # Adds additional error checking when serving assets at runtime.
35 | # Checks for improperly declared sprockets dependencies.
36 | # Raises helpful error messages.
37 | config.assets.raise_runtime_errors = true
38 |
39 | # Raises error for missing translations
40 | # config.action_view.raise_on_missing_translations = true
41 | end
42 |
--------------------------------------------------------------------------------
/db/migrate/20160803174234_initial.rb:
--------------------------------------------------------------------------------
1 | class Initial < ActiveRecord::Migration
2 |
3 | def change
4 | create_table :foods do |t|
5 |
6 | t.integer :ndb_no
7 | t.string :description
8 | t.float :water_g
9 | t.float :kcal
10 | t.float :protein_g
11 | t.float :lipid_total_g
12 | t.float :ash_g
13 | t.float :carbohydrate_g
14 | t.float :fiber_td_g
15 | t.float :sugar_g
16 | t.float :calcium_mg
17 | t.float :iron_mg
18 | t.float :magnesium_mg
19 | t.float :phosphorus_mg
20 | t.float :potassium_mg
21 | t.float :sodium_mg
22 | t.float :zinc_mg
23 | t.float :copper_mg
24 | t.float :manganese_mg
25 | t.float :selenium_ug
26 | t.float :vit_c_mg
27 | t.float :thiamin_mg
28 | t.float :riboflavin_mg
29 | t.float :niacin_mg
30 | t.float :panto_acid_mg
31 | t.float :vit_b6_mg
32 | t.float :folate_tot_ug
33 | t.float :folic_acid_ug
34 | t.float :food_folate_ug
35 | t.float :folate_dfe_ug
36 | t.float :choline_tot_mg
37 | t.float :vit_b12_ug
38 | t.float :vit_a_iu
39 | t.float :vit_a_rae
40 | t.float :retinol_ug
41 | t.float :alpha_carot_ug
42 | t.float :beta_carot_ug
43 | t.float :beta_crypt_ug
44 | t.float :lycopene_ug
45 | t.float :lut_and_zea_ug
46 | t.float :vit_e_mg
47 | t.float :vit_d_ug
48 | t.float :vit_d_iu
49 | t.float :vit_k_ug
50 | t.float :fa_sat_g
51 | t.float :fa_mono_g
52 | t.float :fa_poly_g
53 | t.float :cholestrl_mg
54 | t.float :gmwt_1
55 | t.string :gmwt_desc1
56 | t.float :gmwt_2
57 | t.string :gmwt_desc2
58 | t.float :refuse_pct
59 |
60 | t.timestamps null: false
61 | end
62 | end
63 | end
64 |
--------------------------------------------------------------------------------
/client/semantic/src/definitions/modules/transition.less:
--------------------------------------------------------------------------------
1 | /*!
2 | * # Semantic UI - Transition
3 | * http://github.com/semantic-org/semantic-ui/
4 | *
5 | *
6 | * Released under the MIT license
7 | * http://opensource.org/licenses/MIT
8 | *
9 | */
10 |
11 |
12 | /*******************************
13 | Theme
14 | *******************************/
15 |
16 | @type : 'module';
17 | @element : 'transition';
18 |
19 | @import (multiple) '../../theme.config';
20 |
21 | /*******************************
22 | Transitions
23 | *******************************/
24 |
25 | .transition {
26 | animation-iteration-count: 1;
27 | animation-duration: @transitionDefaultDuration;
28 | animation-timing-function: @transitionDefaultEasing;
29 | animation-fill-mode: @transitionDefaultFill;
30 | }
31 |
32 | /*******************************
33 | States
34 | *******************************/
35 |
36 |
37 | /* Animating */
38 | .animating.transition {
39 | backface-visibility: @backfaceVisibility;
40 | visibility: visible !important;
41 | }
42 |
43 | /* Loading */
44 | .loading.transition {
45 | position: absolute;
46 | top: -99999px;
47 | left: -99999px;
48 | }
49 |
50 | /* Hidden */
51 | .hidden.transition {
52 | display: none;
53 | visibility: hidden;
54 | }
55 |
56 | /* Visible */
57 | .visible.transition {
58 | display: block !important;
59 | visibility: visible !important;
60 | /* backface-visibility: @backfaceVisibility;
61 | transform: @use3DAcceleration;*/
62 | }
63 |
64 | /* Disabled */
65 | .disabled.transition {
66 | animation-play-state: paused;
67 | }
68 |
69 | /*******************************
70 | Variations
71 | *******************************/
72 |
73 | .looping.transition {
74 | animation-iteration-count: infinite;
75 | }
76 |
77 |
78 | .loadUIOverrides();
79 |
--------------------------------------------------------------------------------
/public/422.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | The change you wanted was rejected (422)
5 |
6 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
The change you wanted was rejected.
62 |
Maybe you tried to change something you didn't have access to.
63 |
64 |
If you are the application owner check the logs for more information.
65 |
66 |
67 |
68 |
--------------------------------------------------------------------------------
/client/semantic/src/themes/pulsar/elements/loader.overrides:
--------------------------------------------------------------------------------
1 | /*******************************
2 | Theme Overrides
3 | *******************************/
4 |
5 | .ui.loader:after {
6 | -webkit-animation: loader-pulsar 2s infinite linear;
7 | animation: loader-pulsar 2s infinite linear;
8 | }
9 |
10 | @-webkit-keyframes loader-pulsar {
11 | 0% {
12 | -webkit-transform: rotate(0deg);
13 | transform: rotate(0deg);
14 | opacity: 0;
15 | }
16 | 20% {
17 | -webkit-transform: rotate(360deg);
18 | transform: rotate(360deg);
19 | }
20 | 40% {
21 | -webkit-transform: rotate(740deg);
22 | transform: rotate(740deg);
23 | opacity: 1;
24 | }
25 | 60% {
26 | -webkit-transform: rotate(1120deg);
27 | transform: rotate(1120deg);
28 | opacity: 1;
29 | }
30 | 80% {
31 | -webkit-transform: rotate(1440deg);
32 | transform: rotate(1440deg);
33 | }
34 | 100% {
35 | -webkit-transform: rotate(1800deg);
36 | transform: rotate(1800deg);
37 | opacity: 0;
38 | }
39 | }
40 |
41 | @keyframes loader-pulsar {
42 | 0% {
43 | -webkit-transform: rotate(0deg);
44 | transform: rotate(0deg);
45 | opacity: 0;
46 | }
47 | 20% {
48 | -webkit-transform: rotate(360deg);
49 | transform: rotate(360deg);
50 | }
51 | 40% {
52 | -webkit-transform: rotate(740deg);
53 | transform: rotate(740deg);
54 | opacity: 1;
55 | }
56 | 60% {
57 | -webkit-transform: rotate(1120deg);
58 | transform: rotate(1120deg);
59 | opacity: 1;
60 | }
61 | 80% {
62 | -webkit-transform: rotate(1440deg);
63 | transform: rotate(1440deg);
64 | }
65 | 100% {
66 | -webkit-transform: rotate(1800deg);
67 | transform: rotate(1800deg);
68 | opacity: 0;
69 | }
70 | }
--------------------------------------------------------------------------------
/client/semantic/dist/components/embed.min.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * # Semantic UI 2.2.7 - Video
3 | * http://github.com/semantic-org/semantic-ui/
4 | *
5 | *
6 | * Released under the MIT license
7 | * http://opensource.org/licenses/MIT
8 | *
9 | */.ui.embed{position:relative;max-width:100%;height:0;overflow:hidden;background:#dcddde;padding-bottom:56.25%}.ui.embed embed,.ui.embed iframe,.ui.embed object{position:absolute;border:none;width:100%;height:100%;top:0;left:0;margin:0;padding:0}.ui.embed>.embed{display:none}.ui.embed>.placeholder{position:absolute;cursor:pointer;top:0;left:0;display:block;width:100%;height:100%;background-color:radial-gradient(transparent 45%,rgba(0,0,0,.3))}.ui.embed>.icon{cursor:pointer;position:absolute;top:0;left:0;width:100%;height:100%;z-index:2}.ui.embed>.icon:after{position:absolute;top:0;left:0;width:100%;height:100%;z-index:3;content:'';background:-webkit-radial-gradient(transparent 45%,rgba(0,0,0,.3));background:radial-gradient(transparent 45%,rgba(0,0,0,.3));opacity:.5;-webkit-transition:opacity .5s ease;transition:opacity .5s ease}.ui.embed>.icon:before{position:absolute;top:50%;left:50%;z-index:4;-webkit-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%);color:#fff;font-size:6rem;text-shadow:0 2px 10px rgba(34,36,38,.2);-webkit-transition:opacity .5s ease,color .5s ease;transition:opacity .5s ease,color .5s ease;z-index:10}.ui.embed .icon:hover:after{background:-webkit-radial-gradient(transparent 45%,rgba(0,0,0,.3));background:radial-gradient(transparent 45%,rgba(0,0,0,.3));opacity:1}.ui.embed .icon:hover:before{color:#fff}.ui.active.embed>.icon,.ui.active.embed>.placeholder{display:none}.ui.active.embed>.embed{display:block}.ui.square.embed{padding-bottom:100%}.ui[class*="4:3"].embed{padding-bottom:75%}.ui[class*="16:9"].embed{padding-bottom:56.25%}.ui[class*="21:9"].embed{padding-bottom:42.85714286%}
--------------------------------------------------------------------------------
/public/404.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | The page you were looking for doesn't exist (404)
5 |
6 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
The page you were looking for doesn't exist.
62 |
You may have mistyped the address or the page may have moved.
63 |
64 |
If you are the application owner check the logs for more information.
65 |
66 |
67 |
68 |
--------------------------------------------------------------------------------