scavenger 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/MIT-LICENSE +20 -0
- data/README.md +82 -0
- data/Rakefile +28 -0
- data/lib/scavenger.rb +15 -0
- data/lib/scavenger/compressor.rb +70 -0
- data/lib/scavenger/config.rb +12 -0
- data/lib/scavenger/version.rb +3 -0
- data/lib/scavenger/view_helpers.rb +22 -0
- data/lib/tasks/scavenger_tasks.rake +4 -0
- data/test/dummy/README.rdoc +28 -0
- data/test/dummy/Rakefile +6 -0
- data/test/dummy/app/assets/javascripts/application.js +13 -0
- data/test/dummy/app/assets/stylesheets/application.css +15 -0
- data/test/dummy/app/assets/svg/hejsna.svg +16 -0
- data/test/dummy/app/assets/svg/thing.svg +31 -0
- data/test/dummy/app/controllers/application_controller.rb +5 -0
- data/test/dummy/app/controllers/welcome_controller.rb +3 -0
- data/test/dummy/app/helpers/application_helper.rb +2 -0
- data/test/dummy/app/views/layouts/application.html.erb +16 -0
- data/test/dummy/app/views/welcome/index.html.erb +3 -0
- data/test/dummy/bin/bundle +3 -0
- data/test/dummy/bin/rails +4 -0
- data/test/dummy/bin/rake +4 -0
- data/test/dummy/bin/setup +29 -0
- data/test/dummy/config.ru +4 -0
- data/test/dummy/config/application.rb +34 -0
- data/test/dummy/config/boot.rb +5 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/environments/development.rb +41 -0
- data/test/dummy/config/environments/production.rb +79 -0
- data/test/dummy/config/environments/test.rb +42 -0
- data/test/dummy/config/initializers/assets.rb +11 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy/config/initializers/cookies_serializer.rb +3 -0
- data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
- data/test/dummy/config/initializers/inflections.rb +16 -0
- data/test/dummy/config/initializers/mime_types.rb +4 -0
- data/test/dummy/config/initializers/scavenger.rb +2 -0
- data/test/dummy/config/initializers/session_store.rb +3 -0
- data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/test/dummy/config/locales/en.yml +23 -0
- data/test/dummy/config/routes.rb +3 -0
- data/test/dummy/config/secrets.yml +22 -0
- data/test/dummy/log/test.log +3171 -0
- data/test/dummy/public/404.html +67 -0
- data/test/dummy/public/422.html +67 -0
- data/test/dummy/public/500.html +66 -0
- data/test/dummy/public/favicon.ico +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/-H/-HqbbfU0xcEJDTxWfLUwg4CHKddeND3q6UVFsh5Si_U.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/-U/-U_dM-L9LbHNJZIgTkRfkuKCZmM383uKGVLpowFlUWQ.cache +3 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/-X/-XIkc5RT094TnZLk-Bx1VeBlhPNiDcbR8xKuvMWYg4g.cache +5 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/11/11izQccDDdFX41-0W9soseHqn6Gnsp5eXQUBekw0w00.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/1o/1oh-D7lF9NVZVT3A4Ke5-TFajlRvURXe2OPPBPZqMUg.cache +3 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/25/25maOm_ns9nLIHyiI4f_tf4wYwBPoq8gAvpSX9V4ge8.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/2G/2GKmKzQSIIALMgYslznKJEr-pXCza0znjBmmqTCVjgo.cache +5 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/2r/2rbhR-ZHCA26TK7wMgaQ-43T-wZLyA0owLShzIxEWuk.cache +4 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/34/348WFNzOMxpgDI8iNz2i5urtOQitXtYJIGuHsfr4014.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/5F/5F2E3R3qgH5T2ZoN1FWgFnQmM365fKQe0g9EbWyGnQM.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/5L/5Lly_CA8DZvPhQV2jDQx-Y6P_y3Ygra9t5jfSlGhHDA.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/6N/6NY324sAsWts7o2vwWeN0aXOWuuyKM9zuzO0c2eKLZc.cache +6 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/7O/7OXjjKt0Z3xAjPdz99P7K2ILtSY-pj3ur0J1JvZuAHI.cache +3 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/7x/7xjcSFxgDSCrJMkPDLL-u6HY4hQbXc0Hzk0efhSnk64.cache +4 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/8O/8ObXUvh9D_nHhKqXK6ABwrG1kz2aRnb3rGzDZKwfyVI.cache +4 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/8n/8nsCSYjv5XHXLcA0afPuGbdseM7SuTmmWKV1nCrk4r4.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/8x/8xhjdhp1eijzIzvWEtv1s5PePR_c8blbEE1sjKYMKPw.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/98/98GuWujwu8Qf96txyyw5eTFnH5LVt-IcXaYV9hWq1aU.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/99/99plte_Tg2iiF3VZZ_DzZwanFS6BvFUfkgWlqCdmleU.cache +4 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/9s/9s6SDFrpwRn_oY_Vi1oR6WZNU09ubMW73COpZY5Rtf0.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/9u/9uZR0qxSChIwkuOttRtYVWRCBuahCACYcqaPhI4o-Ro.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/AK/AKUIAk7bmGCulWb0gNeSKzDmh57iSAcDuD0--UJMAa8.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Ae/AeGKzMpQNBMxA6gXi_zJ3BOc7MqOIcOKP5-kh6lT4yw.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/BC/BC_MecqW6bPoz0C9IUmS3GAcdZrXP_ug9YH7Kw1vN_w.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/C4/C439mq43l7yTi_NG2JVgM5crLZGT2mH7BWYa0U1L8vA.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/CD/CDQwlcBfGvlM1IzCLj_3WklFp44N6J-gTAlfdsyP6ws.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Cz/CZMRfdmWKqMJU9RD0twbl62L4CHkaKvPcionwcTeaPY.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Cz/CzBbMjpUVeDyH-t49_4iBLSjHsfoC5U5VfkLuURYHiA.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Dq/DqF4msXGrg8D1zFiR5oCNIygUO9BVcnhKfWitu_QhUo.cache +3 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/El/ElXVJKVUyx7wZtChp6_PiHsJ_uoljEal6Ga5IR-iRkc.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/FN/FNbIIgXbC_eTM5R6lUgQ4MAZeZz7a7iOsEI59tKi9Tc.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/G-/G-pL8xR7OSZ9EfTgqN9eWzjPAUO5uGy1s5LPA79cTa0.cache +4 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/GY/GYTIgygclYPTMz-qWUtfjBLYsdfmD-f-d4s6biK_w7Q.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Gd/GdUOtQlWxrcatwpnsG71FEhWUXBGSCeg_KFVhICX7WM.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Gk/Gk4fpCDRXeS8W9uUc3BgMEDEjmJoZ-Nqg-SrPtAnqvI.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/I0/I0o3NaDD4aODBXGZgYZ1R8gQYkBUbpagqoNPduxjs_8.cache +3 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/I3/I3w40ud22J2dvAZsikqd4y9etnWp5z3tFZ50bMLt9aA.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/I7/I7WyZQ32i6kx0fg7Ce4dKJV64UT7ocQqiNVfBQaaCG4.cache +5 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Je/JewGvPxcszuYsSjQoKXxzJIRvvZv-uCLMZW3vMf1V8Y.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Jq/JqOJW1VYktU0ktLRM3UiCrPV-VSOVRCoy_Jllcvg3cY.cache +3 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Jx/Jx4pqkuinO3CkdllQpCrdTowH3zl6HSLDffXnH39uOY.cache +3 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/KC/KCyuFn9GRT1T8Fb2QASGqSjQEKiwyI0Lz7_a3oI6oHc.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/KZ/KZyxio0yOsOfb3ZhjZ0QwTn2I23pWNc4i6IDaObLS4Y.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/LK/LKi-YtI10nTnwAZ9tGA0mycT_RK06P4Wbsup2mz_m-4.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Ly/LyC39AHA8MwZpDthVN0AlUdId0AI95jXHzZ1n5Gi7MY.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Mb/Mbe8cv5zaE0f3oIz0YESxHx057YFVmowkRkY0t5x7F0.cache +5 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/NP/NPfOJLBKf3qawiTr5TsMx_6hQ47bmq-v6oMvAa1hDR8.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/NP/npSJTXQnTsAcxpKg1GF0SvIJdHwr6dZhfeb_iE-T-qM.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/NY/NY2ITQsQhlGmpv_XYpBzY0bkYsoX9EnX2y6A4IA9y9w.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/OI/OI6uxGcnsKavdWTtwDAasU3wPx8QXhzBgV0X2n1KjMQ.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/ON/ONXM0yfYond9SL_ERL5_h2PYWRoxI7MB7dh8Wgux2kI.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Of/Of3KRAbBZnkIAImLO3o_jYYgztAs8dP0tgW85lrJLJY.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/PM/PMFPGGsBq5NLwHjlR5DDyVNsOTxyv3RNh4LJLTJsiUc.cache +3 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Pc/PcWIHtJvZlo6ITsS6eJhNsnQarnW4-vs9EIFm0XkdmY.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Pi/Pi7h_0clH-Punlu8yw_srmwHyc5VRE72bPMQNDxGgbE.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Pz/PzzfYC4OG_ObJ7byTmeaqyk9P_lgcdtqKWafD5LWXQY.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/QD/QDSurvjtF1BrJX-aLTJlFtYhxoWPRfqqx0Mn1OrZsnw.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/QP/QPznaEgVvMxnva5VmM_zC3cOGzjs4-eXRJn-QTitsMk.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Qi/QiQRRt1rzEMBbDSoPEB86n_6vuK-exu5nvlvb93-8Ds.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/RT/RT_IsNMQJK8QZtK46K7XcIykfX7iJcij4HyuXt2sElM.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Rw/RwK5VPS0ZWb2FtPpBy6hpaa3RdhtbYJnW0Y9m777fq0.cache +3 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/SC/SCLYM9c1ukultsOsftGAbV2Vo7oWX1K5FGQDGWFbAjM.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/SU/SUVVA6yRljhAxtRtbpyqKrAmLkX_coZf-bAhQMaz_is.cache +3 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/T9/T9FoDi_hol-MZ-P0QSqGiu4GkCmIIwERSGNOrL9Fjh8.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/TA/TAXPWAOlG0yeyBDPEX6CbnmeFGobbw69rqy71da0-g0.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Ts/TsREWCSUnRzZFQgj2dEgXUBNmUAT2S48RVAedogYW3M.cache +3 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/UE/UE_MaxEM9CHQcUIJULCNMZFXY2gh_0ZYEO1x-nvo0Ws.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Uq/UqNMiop_l1QyuKMZReAXM9PpKiSSyX0K_fdxQEUt9YM.cache +3 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/V-/V-DwZpVv3uJ5fYwK0OkcmlmIHzLRNReULGZHxd3Bm3o.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/WA/WAzmKG5FTHG-fX5IgbQQjlQz71VskqHqWgPlu7LDRwg.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/WK/WKpE8UdXlizp-Ww_7pv6b8vzT6VatGaJ1Vzm0nlyAOQ.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/WR/WR2xUEZg8ZzbIiT1c5zn5_l1Ow8UQmFEnMgce23smzk.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/WY/WYVUNGREkk20SrlLAxmiHYYwLyLUB-geRUK-GdeEL1w.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/XC/XCAEpFovv21-TgsbmyI-NRSgt4i9htFPx-qIhLGSXso.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/X_/X_XEor98WN1KgGsQLkMeimyXz1pwVkH40K6RgTPD11w.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/YS/YSJFzCTZ7k4bznGUQBGhko471nErQpwVJJFp_HYBBdo.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Yz/YzywD87qy07Nl8UDE_BrZAe7Rujp-hGRgchMefkh_f0.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/ZP/ZP3cKucRfI64siOZ3295sYHf8mkjxwPUv_jaAyu3ag8.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/_B/_BqN4N7Cd7GtOGg2F94sLSm4DzvL4GWoYEV6JzCjNUU.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/_B/_byuC_ZlOnBVAgzjgIzgXx-Swz53HDeOlIsH12sEYC8.cache +5 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/_C/_COlnL_arkOWZnYmNLFGQrjgVWIZOIGnZrV5LYllOP4.cache +3 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/_S/_S3FZ5DdeuW2XcdvnLYfjFZ-0MhP7sbRhvGIQjyy87M.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/aG/aGrkF9dVFkubtXnIvZ_kEgJ-kaGCCOtZw2nZOF7BYQM.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/b2/b2iWoLtu1YgSEmVfG8Py57dnWPc4028NgAUpYLVwP8M.cache +3 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/c8/c8NGPLJrGOwYYnfHCM6zIqpotl49juEf-pCrwibkIfA.cache +3 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/db/dbOQICwMxvVHo74WhUwaZ_krWuLAyC9FWYVFi3EYi64.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/dz/dzrkjMJU2cv7vFsVM_kWlebaKvi0hVwX5MBh4JGaVZQ.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/eZ/eZmtkxcD8zWwlTmMuNIQ8ohN1mNF65yxKpydpBb6EG0.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/en/enZKX7_BXYbLay1iUItH0mID3HUiFGTPUHwDp8pvEW8.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/fb/fb7KUXnAajxrbaHI04zh4tF2SH7sdZ657Bhiq3sXD3w.cache +3 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/fk/fkXthHN8eEXSenLGHVE5LbRNY_IDaymFUzzSkgPu4gc.cache +5 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/g2/g2YGG8q3Znp8HJDmvBNKvXzOSw0N7YLx0c8tmwWo41E.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/g7/g7nzIpLeHaaI305Y_gDkIhdvrUB6L8OOGVyo_0qxCQ0.cache +3 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/gB/gBb2UrDwoTf660QLvf3cMRkIlyMqB_Dhv--dy7V9qqg.cache +4 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/hS/hS2z78kNWKL742oRFA2iYCpkxbFm3DKU99rnNsfv8CY.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/hZ/hZi1k6tpxxCGYxRe7zY74ItcOI8gZrREOpGuA8JSpGg.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/hj/hjeSBmoKHSPJnoOy0B2FESHA5wyW4txeU5Q_3eZB0Cg.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/hu/huI6bPDA-mhQ2xQX0IAH8_39y_6xjDcdZPARPyFZw6M.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/ii/IiC7EB9IjQhNa39duWC22zpxw0e3BxghOteX3SolBEQ.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/ii/iigHc6vqt9K7psybIJL1KHRE7fgsLy2CIDuaGHbArOc.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/iv/ivREQKqA9zJUX-Jhyfhk0O3UjpcrwIn9eQkJdoy7nXg.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/jO/jOjfs6GPegyizYTuhefR0hoqvJe4J-fEpcYh3YhrqJ4.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/k2/k2-aBXrB3Ke8YR2jbXOK-KL1-gFnQZA8BMyUVq6vM28.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/kR/kR7RCcZe1MhK3VhrHTdVtDuyc_gWtwP_prnN__H-fmo.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/kx/kxSJEkFCpkpCr2l5rnTCONAK7O4ay4bebrMIrRZpWqA.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/lS/lSe3pxGkphIMg-nK8SjzZ8OcqeSQS2a6yQ20RYc_0dk.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/mI/mIwUHk88xv3gKGUw7SzpwTP3rOrMFYy75WPTed7408I.cache +3 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/ml/mlPPQ_PuZqvyjkqOxsyxf9Z9h7EUM1nVB7S_8vdwOgs.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/my/myACPpweGSS-gMqX0YA0w0C62H9NdKsB9jDPdQz4BIE.cache +4 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/n0/n07I1L-Uce4duFJ-hAiLY4Q8-3cVeVqyYhvmJiz1sek.cache +5 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/nl/nlOXMwVK0UmpZ97HuC_aYsIeVoMiQ1JjoHuJ32it_GI.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/oK/oKy1wHj09ucP22ifneb5B76fbj7SWiM3No58wCl49M4.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/or/orpEqlUEMffwmNrnvkPFFjHqBHcnMsztz2_rJVIrq08.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/pE/pEhaat2KBd5SrT7szC_8R1_6hK17FTpvoRFkmCRSD3M.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/pF/pFew-CXURmC3dAcOhoao-57JVKOQZ0F274urmW3UUJs.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/qL/qLGDMvb5cXCVumOaFR6t4-f0ilgjiaY0Ru4jajg-xKs.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/r5/r55LHvC-eGrLFwLE2Bw-_pHdzc_9XLvs8KR0-HtrLEk.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/rK/rKDjyToOy-58z-Eh8VKkPFeL_88p0z3yHHYczF1esx4.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/ro/roMrMIDKDgzpvUYc_8Pk6DmEIXPwfVerLyA7gjmxrwg.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/s0/s0GtL5g52-kBCSVfyEUvdOW9w5wt4Z5sW_vQSR5zPAs.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/sb/sbX9VPvHha5S29JXbdIjbD3KKgXSRpjrKI9SL166z8Q.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/sd/sdagZgsImDr-xAlAfGYhjidRMllEzy_27c1bSUrDbnQ.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/tT/tTOwod4C2Nbyv-3EvABxITj2R7JJvBARNwN_NlPE32k.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/u_/u_dsIjUu-S9yen1qOkk8zEhxGAqiauCL1xu-qxlw47g.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/uh/uh6Ed-bFb5Dy8KwHoRyMExaoyk1h2VuOvAawRKf5f6k.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/ut/utTarZyWOtD-F8RcUiTyXrS2uaYNlYtcAvxYUmecX00.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/v_/v_F3lJ5kUDUp-DSzVPesW4SNq1jbWVZOH5Ih_rB3O1w.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/vf/vfzPLinMXzNAV9xSXrpnepBKEASknUfSg-D1wvSNa58.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/vu/vu3zBrNTODffz7MuVyx2zNiieVqB19BQbq14C-3ZxBg.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/wB/wBk66I_z5OAYQx44c6RAhS62-qRx6w1iNSbTV3SnomU.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/wE/wE8gMdwbbEsDgcXYGv3snKuG7vfYoMWthYSw_78ppGQ.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/wz/wzyFAPlTzbm1ES5ryQvw5b7zeiC6tvqthmOQVKJXmRM.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/xE/xE-cFLL16zfAjmMhOsTo5TR9iF8v1YTfY1RLOcWQaLo.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/xF/xFwrnVJHHrH2is1PhpFtGKCIQU6LSQkWjv8NBMhz44s.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/xg/xgO4MCgrxQqFOmo9IuZwbsKXtScKD7SthwwEkOCP0WI.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/yl/yldjfgmPuMnxRkdEgAWpMwad9_XBl3cChXmwWH2wmvA.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/z2/z210K89_gqm16e59Z2LTKG3dD-fZGXySmIJoKr7Of18.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/zB/zByJ2MZFhhrJXoP0yxjtSZCBIn7H4q_F6Cg3s_dZn10.cache +5 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/zU/zUVLlkpK0OEVkxk0BCotALBfwznhOtcvqMY8r8swJlo.cache +4 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/zr/zrcX7wj8jDf-xZsAQ4Zdkv0Em_gr_6kO1Scvnj8DY0Q.cache +0 -0
- data/test/dummy/tmp/capybara/capybara-201610151235015736431907.html +19 -0
- data/test/dummy/tmp/capybara/capybara-201610151235481241682092.html +19 -0
- data/test/dummy/tmp/capybara/capybara-201610151236295081749283.html +19 -0
- data/test/dummy/tmp/capybara/capybara-201610151244534761297004.html +19 -0
- data/test/dummy/tmp/capybara/capybara-201610151247561020613886.html +19 -0
- data/test/dummy/tmp/capybara/capybara-201610151250216013032317.html +19 -0
- data/test/dummy/tmp/capybara/capybara-201610151253307213325474.html +32 -0
- data/test/dummy/tmp/capybara/capybara-201610151254071357816674.html +32 -0
- data/test/dummy/tmp/capybara/capybara-201610151254331207742056.html +19 -0
- data/test/dummy/tmp/capybara/capybara-201610151255247991085105.html +19 -0
- data/test/dummy/tmp/capybara/capybara-201610151259365054254918.html +19 -0
- data/test/dummy/tmp/capybara/capybara-201610151555033967150779.html +19 -0
- data/test/dummy/tmp/capybara/capybara-201610151600114731287846.html +19 -0
- data/test/dummy/tmp/capybara/capybara-201610151607304598904430.html +19 -0
- data/test/dummy/tmp/capybara/capybara-201610151608364573846650.html +19 -0
- data/test/dummy/tmp/capybara/capybara-201610151609309699514344.html +19 -0
- data/test/dummy/tmp/capybara/capybara-20161016123203375038998.html +19 -0
- data/test/dummy/tmp/capybara/capybara-201610161248574906626986.html +19 -0
- data/test/dummy/tmp/capybara/capybara-201610161252592076720975.html +19 -0
- data/test/dummy/tmp/capybara/capybara-201610161254117292204591.html +19 -0
- data/test/dummy/tmp/capybara/capybara-201610161255378850242089.html +19 -0
- data/test/dummy/tmp/capybara/capybara-201610211450328279801348.html +19 -0
- data/test/dummy/tmp/capybara/capybara-201610211457492054770742.html +19 -0
- data/test/dummy_integration_test.rb +28 -0
- data/test/scavenger_test.rb +32 -0
- data/test/svg/hejsna.svg +16 -0
- data/test/svg/thing.svg +31 -0
- data/test/test_helper.rb +34 -0
- metadata +525 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: db7f56756253d3ff4ceb216b29d346b13807552d
|
4
|
+
data.tar.gz: 22e76b9d3d3b99e907e646871ed4d0bcad20d4bc
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: aa46f8f30d9a03b59f647fcf3b1c0120df8706693f893decde17752d71843c4cf34acf2411e35ddc21817d911254d9cf7c88bd30e6585700d53bb0e6602d5448
|
7
|
+
data.tar.gz: 2557e3fdf001e3239d1303e7b8cc870deb3b0988eccd4738debba85011c1dce98700f07b9fe230ae3f6b963e8401e3a346e633f7907dbbb5af112157cf982cf6
|
data/MIT-LICENSE
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
Copyright 2016 Johan Halse
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be
|
12
|
+
included in all copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,82 @@
|
|
1
|
+
# Scavenger
|
2
|
+
|
3
|
+
![Version](https://img.shields.io/gem/v/scavenger.svg)
|
4
|
+
![Build status](https://img.shields.io/travis/johanhalse/scavenger.svg)
|
5
|
+
|
6
|
+
A Rails plugin for turning a directory of svg images into a bunch of `<symbol>` tags in a sprite sheet and using them by reference. The main advantage of using `<symbol>` is that you can define a viewBox for each element, which means it's possible to reuse and resize them and still make them occupy the space you'd expect them to. A common use case would be icons.
|
7
|
+
|
8
|
+
|
9
|
+
## Getting started
|
10
|
+
|
11
|
+
Put the gem in your `Gemfile` and run `bundle install`:
|
12
|
+
```ruby
|
13
|
+
gem "scavenger"
|
14
|
+
```
|
15
|
+
|
16
|
+
Create a folder called `app/assets/svg` and put your svg images there.
|
17
|
+
|
18
|
+
Add the following to `views/layouts/application.html.erb`:
|
19
|
+
```ruby
|
20
|
+
<%= svg_sprite_sheet %>
|
21
|
+
```
|
22
|
+
|
23
|
+
Now you can refer to your svg images by their name, so if you have `hejsna.svg` sitting in your svg directory, you can make it show up by writing `<%= svg "hejsna" %>`.
|
24
|
+
|
25
|
+
|
26
|
+
## The `svg` helper
|
27
|
+
|
28
|
+
Scavenger works by inserting svg tags with references to ids defined in the sprite sheet. There is nothing inherently special about these svg tags, so if you want to add classes or attributes to them in the usual Rails fashion, you can: `<%= svg "hejsna", class: "foo", style: "width:100px" %>`.
|
29
|
+
|
30
|
+
|
31
|
+
## Loading the sprite sheet asynchronously
|
32
|
+
|
33
|
+
Scavenger comes with a dependency-free javascript for fetching and injecting the sprite sheet into the DOM. This is a good idea since the sprite sheet can be served from your reverse proxy and cached by the browser. Extra useful if you have a lot of symbols and don't want to bloat every page, but the downside is that users may experience a brief flash of missing icons. To use this javascript, remove the `<%= svg_sprite_sheet %>` helper from your layout and instead include the javascript in your `application.js` like so:
|
34
|
+
```javascript
|
35
|
+
//= require scavenger
|
36
|
+
```
|
37
|
+
|
38
|
+
|
39
|
+
## Configuration
|
40
|
+
|
41
|
+
You can configure Scavenger to do your bidding. Create a file called `config/initializers/scavenger.rb` and put your configuration there.
|
42
|
+
|
43
|
+
|
44
|
+
### Use another directory
|
45
|
+
|
46
|
+
Default is `app/assets/svg` but it can be changed with the following directive:
|
47
|
+
```ruby
|
48
|
+
Scavenger::Config.svg_directory = Rails.root.join("app", "assets", "my_directory")
|
49
|
+
```
|
50
|
+
|
51
|
+
|
52
|
+
### Put the compiled sprite sheet somewhere else
|
53
|
+
|
54
|
+
Default is `app/assets/images/sprite.svg` but it can be changed with the following directive:
|
55
|
+
```ruby
|
56
|
+
Scavenger::Config.sprite_path = Rails.root.join("app", "assets", "my_directory", "my_file.svg")
|
57
|
+
```
|
58
|
+
|
59
|
+
|
60
|
+
### Set a default prefix on your svg classes
|
61
|
+
|
62
|
+
The svg references will get their name as the default classname, so `hejsna.svg` will be inserted like this: `<svg class="hejsna">`. If you want a prefix, for instance `icon-`, put `Scavenger::Config.class_prefix = "icon-"` in your configuration file and the svg will look like this instead: `<svg class="icon-hejsna">`.
|
63
|
+
|
64
|
+
|
65
|
+
### Change how aspect ratio is preserved
|
66
|
+
|
67
|
+
Default is `"xMinYMin meet"` but it can be changed with the following directive:
|
68
|
+
```ruby
|
69
|
+
Scavenger::Config.aspect_ratio = "xMaxYMax meet"
|
70
|
+
```
|
71
|
+
|
72
|
+
A full list of options for this directive can be found [here](https://developer.mozilla.org/en/docs/Web/SVG/Attribute/preserveAspectRatio).
|
73
|
+
|
74
|
+
|
75
|
+
## Caveats
|
76
|
+
|
77
|
+
Scavenger uses a basic built-in compressor. It will remove comments, non-significant whitespace, and ids from your files. Since every svg lives as a `symbol` within the sprite sheet, all `<defs>` tags and everything in them will be removed. Tools (like [Sketch](https://www.sketchapp.com)) will sometimes export your files with references inside a `<defs>` tag, and use really generic ids like `path-1`. That poses a problem for us since there's only one global `<defs>` tag within an svg, and ids are global to the html document. We've experimented with some workarounds but nothing satisfactory, so the solution for now is to manually fix any svgs that use `<defs>` tags in this way before placing them in the svg directory.
|
78
|
+
|
79
|
+
|
80
|
+
## Author
|
81
|
+
|
82
|
+
I'm [Johan Halse](https://twitter.com/hejsna) and I work for illustrious Swedish developers [Varvet](https://www.varvet.com). You should hire us if you need well-made, quality software!
|
data/Rakefile
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
begin
|
2
|
+
require "bundler/setup"
|
3
|
+
rescue LoadError
|
4
|
+
puts "You must `gem install bundler` and `bundle install` to run rake tasks"
|
5
|
+
end
|
6
|
+
|
7
|
+
require "rdoc/task"
|
8
|
+
|
9
|
+
RDoc::Task.new(:rdoc) do |rdoc|
|
10
|
+
rdoc.rdoc_dir = "rdoc"
|
11
|
+
rdoc.title = "Scavenger"
|
12
|
+
rdoc.options << "--line-numbers"
|
13
|
+
rdoc.rdoc_files.include("README.md")
|
14
|
+
rdoc.rdoc_files.include("lib/**/*.rb")
|
15
|
+
end
|
16
|
+
|
17
|
+
Bundler::GemHelper.install_tasks
|
18
|
+
|
19
|
+
require "rake/testtask"
|
20
|
+
|
21
|
+
Rake::TestTask.new(:test) do |t|
|
22
|
+
t.libs << "lib"
|
23
|
+
t.libs << "test"
|
24
|
+
t.pattern = "test/**/*_test.rb"
|
25
|
+
t.verbose = false
|
26
|
+
end
|
27
|
+
|
28
|
+
task default: :test
|
data/lib/scavenger.rb
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
require "scavenger/config"
|
2
|
+
require "scavenger/view_helpers"
|
3
|
+
require "scavenger/compressor"
|
4
|
+
|
5
|
+
module Scavenger
|
6
|
+
module Rails
|
7
|
+
class Engine < ::Rails::Engine
|
8
|
+
def initialize
|
9
|
+
super
|
10
|
+
Config.svg_directory = ::Rails.root.join("app", "assets", "svg")
|
11
|
+
Config.sprite_path = ::Rails.root.join("app", "assets", "images", "sprite.svg")
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,70 @@
|
|
1
|
+
module Scavenger
|
2
|
+
class Compressor
|
3
|
+
def initialize(path)
|
4
|
+
@path = path
|
5
|
+
end
|
6
|
+
|
7
|
+
def allowed_tags
|
8
|
+
@allowed_tags ||=
|
9
|
+
%w(a altGlyph altGlyphDef altGlyphItem animate animateColor
|
10
|
+
animateMotion animateTransform audio canvas circle clipPath
|
11
|
+
color-profile cursor discard ellipse feBlend feColorMatrix
|
12
|
+
feComponentTransfer feComposite feConvolveMatrix feDiffuseLighting
|
13
|
+
feDisplacementMap feDistantLight feDropShadow feFlood feFuncA
|
14
|
+
feFuncB feFuncG feFuncR feGaussianBlur feImage feMerge feMergeNode
|
15
|
+
feMorphology feOffset fePointLight feSpecularLighting feSpotLight
|
16
|
+
feTile feTurbulence filter font font-face font-face-format
|
17
|
+
font-face-name font-face-src font-face-uri foreignObject g glyph
|
18
|
+
glyphRef hatch hatchpath hkern iframe image line linearGradient
|
19
|
+
marker mask mesh meshgradient meshpatch meshrow metadata
|
20
|
+
missing-glyph mpath path pattern polygon polyline radialGradient
|
21
|
+
rect script set solidcolor stop style svg switch symbol text
|
22
|
+
textPath tref tspan unknown use video view vkern)
|
23
|
+
end
|
24
|
+
|
25
|
+
def compress_dir
|
26
|
+
sheet = Dir.entries(@path)
|
27
|
+
.select { |f| !File.directory? f }
|
28
|
+
.map { |f| compress_file(File.join(@path, f), f) }
|
29
|
+
.join("")
|
30
|
+
|
31
|
+
File.write(Scavenger::Config.sprite_path, "<svg>#{sheet}</svg>") unless Scavenger::Config.sprite_path.nil?
|
32
|
+
sheet
|
33
|
+
end
|
34
|
+
|
35
|
+
def compress_file(filename, id)
|
36
|
+
doc = Nokogiri::XML(File.open(filename), &:noblanks)
|
37
|
+
doc = doc.remove_namespaces!.root
|
38
|
+
remove_comments(doc)
|
39
|
+
remove_tags(doc)
|
40
|
+
remove_ids(doc)
|
41
|
+
symbolize(doc, id)
|
42
|
+
doc.to_html
|
43
|
+
end
|
44
|
+
|
45
|
+
private
|
46
|
+
|
47
|
+
def remove_comments(doc)
|
48
|
+
doc.xpath("//comment()").remove
|
49
|
+
end
|
50
|
+
|
51
|
+
def remove_tags(doc)
|
52
|
+
doc.xpath("//*").each do |node|
|
53
|
+
node.remove unless allowed_tags.include?(node.name)
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
def remove_ids(doc)
|
58
|
+
doc.xpath("//@id").remove
|
59
|
+
end
|
60
|
+
|
61
|
+
def symbolize(doc, id)
|
62
|
+
doc.xpath("@*").each do |attribute|
|
63
|
+
attribute.remove unless attribute.name == "viewBox"
|
64
|
+
end
|
65
|
+
doc.name = "symbol"
|
66
|
+
doc["id"] = id.chomp(".svg")
|
67
|
+
doc["preserveAspectRatio"] = Scavenger::Config.aspect_ratio
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module Scavenger
|
2
|
+
module ViewHelpers
|
3
|
+
def compressor
|
4
|
+
@compressor ||= Scavenger::Compressor.new(Scavenger::Config.svg_directory)
|
5
|
+
end
|
6
|
+
|
7
|
+
def svg_sprite_sheet
|
8
|
+
content_tag :svg, compressor.compress_dir.html_safe, style: "display:none;"
|
9
|
+
end
|
10
|
+
|
11
|
+
def svg(ref, options = {})
|
12
|
+
options[:class] = "#{Scavenger::Config.class_prefix}#{ref}" if options[:class].nil?
|
13
|
+
content_tag :svg, "<use xlink:href=\"##{ref}\"/>".html_safe, options
|
14
|
+
end
|
15
|
+
|
16
|
+
def scavenger_sprite_path
|
17
|
+
asset_path File.basename(Scavenger::Config.sprite_path)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
ActiveSupport.on_load(:action_view) { include Scavenger::ViewHelpers }
|
@@ -0,0 +1,28 @@
|
|
1
|
+
== README
|
2
|
+
|
3
|
+
This README would normally document whatever steps are necessary to get the
|
4
|
+
application up and running.
|
5
|
+
|
6
|
+
Things you may want to cover:
|
7
|
+
|
8
|
+
* Ruby version
|
9
|
+
|
10
|
+
* System dependencies
|
11
|
+
|
12
|
+
* Configuration
|
13
|
+
|
14
|
+
* Database creation
|
15
|
+
|
16
|
+
* Database initialization
|
17
|
+
|
18
|
+
* How to run the test suite
|
19
|
+
|
20
|
+
* Services (job queues, cache servers, search engines, etc.)
|
21
|
+
|
22
|
+
* Deployment instructions
|
23
|
+
|
24
|
+
* ...
|
25
|
+
|
26
|
+
|
27
|
+
Please feel free to use a different markup language if you do not plan to run
|
28
|
+
<tt>rake doc:app</tt>.
|
data/test/dummy/Rakefile
ADDED
@@ -0,0 +1,13 @@
|
|
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_tree .
|
@@ -0,0 +1,15 @@
|
|
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
|
+
*/
|
@@ -0,0 +1,16 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
2
|
+
<svg width="173px" height="173px" viewBox="0 0 173 173" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
3
|
+
<!-- Generator: Sketch 40.1 (33804) - http://www.bohemiancoding.com/sketch -->
|
4
|
+
<title>hejsna</title>
|
5
|
+
<desc>Created with Sketch.</desc>
|
6
|
+
<defs></defs>
|
7
|
+
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
8
|
+
<g id="hejsna" transform="translate(1.000000, 1.000000)">
|
9
|
+
<circle id="Oval" stroke="#979797" fill="#D8D8D8" cx="85.5" cy="85.5" r="85.5"></circle>
|
10
|
+
<path d="M83.5,117.5 L83.5,51.5" id="Line" stroke="#A80C0C" stroke-linecap="square" fill="#A80C0C"></path>
|
11
|
+
<path id="Line-decoration-1" d="M83.5,51.5 L80.5,62.3 L86.5,62.3 L83.5,51.5 Z" stroke="#A80C0C" stroke-linecap="square" fill="#A80C0C"></path>
|
12
|
+
<polygon id="Star" stroke="#979797" fill="#D8D8D8" points="39 92 20.1908719 101.888544 23.7830957 80.9442719 8.56619148 66.1114562 29.595436 63.0557281 39 44 48.404564 63.0557281 69.4338085 66.1114562 54.2169043 80.9442719 57.8091281 101.888544"></polygon>
|
13
|
+
<polygon id="Triangle" fill="#EB8D8D" points="125 56 154 114 96 114"></polygon>
|
14
|
+
</g>
|
15
|
+
</g>
|
16
|
+
</svg>
|
@@ -0,0 +1,31 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
2
|
+
<svg width="185px" height="69px" viewBox="0 0 185 69" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
3
|
+
<!-- Generator: Sketch 40.3 (33839) - http://www.bohemiancoding.com/sketch -->
|
4
|
+
<title>thing</title>
|
5
|
+
<desc>Created with Sketch.</desc>
|
6
|
+
<defs>
|
7
|
+
<rect id="path-1" x="0" y="1" width="185" height="68" rx="8"></rect>
|
8
|
+
<mask id="mask-2" maskContentUnits="userSpaceOnUse" maskUnits="objectBoundingBox" x="0" y="0" width="185" height="68" fill="white">
|
9
|
+
<use xlink:href="#path-1"></use>
|
10
|
+
</mask>
|
11
|
+
<text id="text-3" font-family="Oxygen-Regular, Oxygen" font-size="20" font-weight="normal" fill="#FFFFFF">
|
12
|
+
<tspan x="24.5898438" y="37">LOL</tspan>
|
13
|
+
</text>
|
14
|
+
<filter x="-50%" y="-50%" width="200%" height="200%" filterUnits="objectBoundingBox" id="filter-4">
|
15
|
+
<feOffset dx="0" dy="2" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
|
16
|
+
<feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
|
17
|
+
<feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.5 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
|
18
|
+
</filter>
|
19
|
+
</defs>
|
20
|
+
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
21
|
+
<g id="thing">
|
22
|
+
<use id="Rectangle" stroke="#979797" mask="url(#mask-2)" stroke-width="2" fill="#D8D8D8" xlink:href="#path-1"></use>
|
23
|
+
<path d="M1.5,0.5 L179.5,64.5" id="Line" stroke="#979797" stroke-linecap="square"></path>
|
24
|
+
<path d="M180.5,4.5 L8.5,64.5" id="Line" stroke="#979797" stroke-linecap="square"></path>
|
25
|
+
<g id="LOL" fill-opacity="1" fill="#FFFFFF">
|
26
|
+
<use filter="url(#filter-4)" xlink:href="#text-3"></use>
|
27
|
+
<use xlink:href="#text-3"></use>
|
28
|
+
</g>
|
29
|
+
</g>
|
30
|
+
</g>
|
31
|
+
</svg>
|
@@ -0,0 +1,16 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>Dummy</title>
|
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
|
+
</head>
|
9
|
+
<body>
|
10
|
+
|
11
|
+
<%= svg_sprite_sheet %>
|
12
|
+
|
13
|
+
<%= yield %>
|
14
|
+
|
15
|
+
</body>
|
16
|
+
</html>
|