biovision 0.0.200518.1
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 +214 -0
- data/Rakefile +22 -0
- data/app/assets/config/biovision_manifest.js +1 -0
- data/app/assets/images/biovision/components/carousel/arrow-left.svg +4 -0
- data/app/assets/images/biovision/components/carousel/arrow-right.svg +4 -0
- data/app/assets/images/biovision/icons/breadcrumb-hover.svg +1 -0
- data/app/assets/images/biovision/icons/breadcrumb.svg +1 -0
- data/app/assets/images/biovision/icons/components/contact.svg +26 -0
- data/app/assets/images/biovision/icons/components/content.svg +20 -0
- data/app/assets/images/biovision/icons/components/users.svg +21 -0
- data/app/assets/images/biovision/icons/key.svg +16 -0
- data/app/assets/images/biovision/icons/log_in.svg +15 -0
- data/app/assets/images/biovision/icons/log_out.svg +15 -0
- data/app/assets/images/biovision/icons/messages/error.svg +14 -0
- data/app/assets/images/biovision/icons/messages/info.svg +8 -0
- data/app/assets/images/biovision/icons/messages/success.svg +12 -0
- data/app/assets/images/biovision/icons/messages/warning.svg +13 -0
- data/app/assets/images/biovision/icons/settings.svg +41 -0
- data/app/assets/images/biovision/placeholders/16x9.svg +11 -0
- data/app/assets/images/biovision/placeholders/1x1.svg +11 -0
- data/app/assets/images/biovision/placeholders/3x2.svg +11 -0
- data/app/assets/images/biovision/placeholders/user.svg +15 -0
- data/app/assets/stylesheets/biovision/admin.scss +6 -0
- data/app/assets/stylesheets/biovision/admin/components.scss +59 -0
- data/app/assets/stylesheets/biovision/admin/default.scss +57 -0
- data/app/assets/stylesheets/biovision/admin/layout.scss +95 -0
- data/app/assets/stylesheets/biovision/admin/vars.scss +56 -0
- data/app/assets/stylesheets/biovision/biovision.scss +134 -0
- data/app/assets/stylesheets/biovision/biovision/messages.scss +41 -0
- data/app/assets/stylesheets/biovision/components/carousel.scss +53 -0
- data/app/assets/stylesheets/biovision/components/forms.scss +85 -0
- data/app/assets/stylesheets/biovision/components/hamburger.scss +56 -0
- data/app/assets/stylesheets/biovision/components/lists.scss +91 -0
- data/app/assets/stylesheets/biovision/default.scss +57 -0
- data/app/assets/stylesheets/biovision/themes/default_theme.scss +2 -0
- data/app/assets/stylesheets/biovision/themes/default_theme/components.scss +3 -0
- data/app/assets/stylesheets/biovision/themes/default_theme/layout.scss +44 -0
- data/app/assets/stylesheets/biovision/themes/default_theme/layout/footer.scss +0 -0
- data/app/assets/stylesheets/biovision/themes/default_theme/layout/header.scss +39 -0
- data/app/assets/stylesheets/biovision/vars.scss +53 -0
- data/app/controllers/admin/agents_controller.rb +15 -0
- data/app/controllers/admin/components_controller.rb +174 -0
- data/app/controllers/admin/index_controller.rb +11 -0
- data/app/controllers/admin/ip_addresses_controller.rb +15 -0
- data/app/controllers/admin_controller.rb +14 -0
- data/app/controllers/authentication_controller.rb +79 -0
- data/app/controllers/concerns/authentication.rb +45 -0
- data/app/controllers/index_controller.rb +8 -0
- data/app/controllers/my/confirmations_controller.rb +2 -0
- data/app/controllers/my/index_controller.rb +8 -0
- data/app/controllers/my/profiles_controller.rb +128 -0
- data/app/controllers/my/recoveries_controller.rb +2 -0
- data/app/helpers/biovision_components_helper.rb +14 -0
- data/app/helpers/users_helper.rb +11 -0
- data/app/lib/biovision/components/base_component.rb +177 -0
- data/app/lib/biovision/components/component_settings.rb +30 -0
- data/app/lib/biovision/components/privilege_handler.rb +77 -0
- data/app/lib/biovision/components/track_component.rb +9 -0
- data/app/lib/biovision/components/users/authentication.rb +47 -0
- data/app/lib/biovision/components/users/code_handler.rb +23 -0
- data/app/lib/biovision/components/users/profile_handler.rb +12 -0
- data/app/lib/biovision/components/users/registration_handler.rb +99 -0
- data/app/lib/biovision/components/users_component.rb +47 -0
- data/app/lib/biovision/notifiers/base_notifier.rb +69 -0
- data/app/lib/biovision/notifiers/socialization_notifier.rb +31 -0
- data/app/lib/biovision/notifiers/users_notifier.rb +15 -0
- data/app/models/agent.rb +35 -0
- data/app/models/biovision_component.rb +45 -0
- data/app/models/biovision_component_user.rb +21 -0
- data/app/models/browser.rb +34 -0
- data/app/models/code.rb +71 -0
- data/app/models/concerns/checkable.rb +22 -0
- data/app/models/concerns/flat_priority.rb +50 -0
- data/app/models/concerns/has_language.rb +10 -0
- data/app/models/concerns/has_owner.rb +22 -0
- data/app/models/concerns/has_simple_image.rb +18 -0
- data/app/models/concerns/has_track.rb +10 -0
- data/app/models/concerns/has_uuid.rb +12 -0
- data/app/models/concerns/meta_texts.rb +16 -0
- data/app/models/concerns/nested_priority.rb +58 -0
- data/app/models/concerns/required_unique_name.rb +16 -0
- data/app/models/concerns/required_unique_slug.rb +15 -0
- data/app/models/concerns/toggleable.rb +33 -0
- data/app/models/foreign_site.rb +34 -0
- data/app/models/foreign_user.rb +21 -0
- data/app/models/ip_address.rb +31 -0
- data/app/models/language.rb +31 -0
- data/app/models/login_attempt.rb +35 -0
- data/app/models/metric.rb +48 -0
- data/app/models/metric_value.rb +11 -0
- data/app/models/notification.rb +37 -0
- data/app/models/simple_image.rb +47 -0
- data/app/models/simple_image_tag.rb +30 -0
- data/app/models/simple_image_tag_image.rb +13 -0
- data/app/models/token.rb +96 -0
- data/app/models/user.rb +136 -0
- data/app/models/user_language.rb +15 -0
- data/app/uploaders/simple_image_uploader.rb +96 -0
- data/app/uploaders/user_image_uploader.rb +58 -0
- data/app/views/admin/agents/_nav_item.html.erb +6 -0
- data/app/views/admin/agents/entity/_in_list.html.erb +6 -0
- data/app/views/admin/agents/index.html.erb +13 -0
- data/app/views/admin/components/_list.html.erb +12 -0
- data/app/views/admin/components/entity/_links.html.erb +35 -0
- data/app/views/admin/components/entity/_section.html.erb +12 -0
- data/app/views/admin/components/index.html.erb +12 -0
- data/app/views/admin/components/links/_track.html.erb +2 -0
- data/app/views/admin/components/links/_users.html.erb +11 -0
- data/app/views/admin/components/privileges.html.erb +20 -0
- data/app/views/admin/components/privileges/_component_user.html.erb +17 -0
- data/app/views/admin/components/privileges/_links.html.erb +35 -0
- data/app/views/admin/components/privileges/_privilege_flag.html.erb +28 -0
- data/app/views/admin/components/privileges/_users.html.erb +23 -0
- data/app/views/admin/components/settings.html.erb +39 -0
- data/app/views/admin/components/settings/_new_parameter.html.erb +46 -0
- data/app/views/admin/components/settings/_parameters.html.erb +20 -0
- data/app/views/admin/components/settings/_setting.html.erb +18 -0
- data/app/views/admin/components/settings/_settings.html.erb +31 -0
- data/app/views/admin/components/show.html.erb +14 -0
- data/app/views/admin/index/index.html.erb +14 -0
- data/app/views/admin/ip_addresses/_nav_item.html.erb +6 -0
- data/app/views/admin/ip_addresses/entity/_in_list.html.erb +6 -0
- data/app/views/admin/ip_addresses/index.html.erb +13 -0
- data/app/views/admin/unauthorized.html.erb +19 -0
- data/app/views/authentication/_form.html.erb +40 -0
- data/app/views/authentication/failed.js.erb +3 -0
- data/app/views/authentication/new.html.erb +21 -0
- data/app/views/index/index.html.erb +0 -0
- data/app/views/layouts/admin.html.erb +23 -0
- data/app/views/layouts/admin/_breadcrumbs.html.erb +8 -0
- data/app/views/layouts/admin/_footer.html.erb +10 -0
- data/app/views/layouts/admin/_header.html.erb +18 -0
- data/app/views/layouts/admin/header/_logo.html.erb +3 -0
- data/app/views/layouts/application/_footer.html.erb +8 -0
- data/app/views/layouts/application/_header.html.erb +9 -0
- data/app/views/layouts/application/header/_authentication.html.erb +13 -0
- data/app/views/my/index/index.html.erb +0 -0
- data/app/views/my/profiles/closed.html.erb +12 -0
- data/app/views/my/profiles/new.html.erb +17 -0
- data/app/views/my/profiles/new/_form.html.erb +147 -0
- data/app/views/shared/_breadcrumbs.html.erb +8 -0
- data/app/views/shared/_cookie_notification.html.erb +4 -0
- data/app/views/shared/_flash_messages.html.erb +7 -0
- data/app/views/shared/_meta_texts.html.erb +31 -0
- data/app/views/shared/_nothing_found.html.erb +1 -0
- data/app/views/shared/_pagination.jbuilder +15 -0
- data/app/views/shared/admin/_list.html.erb +19 -0
- data/app/views/shared/admin/_list_with_priority.html.erb +19 -0
- data/app/views/shared/admin/_toggleable.html.erb +8 -0
- data/app/views/shared/entity/_list_of_errors.html.erb +7 -0
- data/app/views/shared/forms/errors.js.erb +5 -0
- data/config/initializers/carrierwave.rb +27 -0
- data/config/initializers/pluralization.rb +2 -0
- data/config/locales/biovision-ru.yml +90 -0
- data/config/locales/components-ru.yml +81 -0
- data/config/locales/track-ru.yml +40 -0
- data/config/locales/users-ru.yml +130 -0
- data/config/routes.rb +75 -0
- data/db/migrate/20191228000000_create_biovision_components.rb +72 -0
- data/db/migrate/20200224000000_create_track_component.rb +59 -0
- data/db/migrate/20200224000010_create_users_component.rb +189 -0
- data/db/migrate/20200404000000_create_simple_images.rb +54 -0
- data/lib/biovision.rb +9 -0
- data/lib/biovision/base_methods.rb +167 -0
- data/lib/biovision/engine.rb +40 -0
- data/lib/biovision/version.rb +5 -0
- data/lib/tasks/biovision_tasks.rake +4 -0
- metadata +392 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 817fb32980253517bb13eeff8c2d01ba994c82db093c58f8a770c212ecee25c6
|
4
|
+
data.tar.gz: b29d966a12f8dda98db8777e7f224001ee40f9f67c58c3192a5eda0d970e9e65
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 27904974e644b24f35aef5366e9e92927971a1c20e255b919724aadc27ac8854dcdb2f9dd2f83a0b8bec8358878bbdd36f877b721d29529f7336e6bf8e628f9b
|
7
|
+
data.tar.gz: 6eece2a2e1742e4438a949ff2718be4d16d03b4b767c0804c39243454d60967fe256722d81e2531c81c7f03e60245082d36d236d9593b029bec685bc58b62959
|
data/MIT-LICENSE
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
Copyright 2019 Maxim Khan-Magomedov
|
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,214 @@
|
|
1
|
+
# Biovision
|
2
|
+
|
3
|
+
Новая версия Biovision CMS. Используйте на свой страх и риск.
|
4
|
+
|
5
|
+
## Добавления в `.gitignore`
|
6
|
+
|
7
|
+
```
|
8
|
+
/public/uploads
|
9
|
+
|
10
|
+
/spec/examples.txt
|
11
|
+
/spec/support/uploads/*
|
12
|
+
|
13
|
+
.env
|
14
|
+
```
|
15
|
+
|
16
|
+
## После изменений в `.gitignore`
|
17
|
+
|
18
|
+
Далее, первым делом надо из папки sample в корне проекта `biovision` скопировать
|
19
|
+
файлы в корень своего проекта (прямо поверх того, что там уже есть).
|
20
|
+
|
21
|
+
Не забудь отредактировать `.env`, девелопернейм!
|
22
|
+
|
23
|
+
Ещё нужно поменять `example.com` на актуальное название.
|
24
|
+
|
25
|
+
Также стоит удалить `app/assets/application.css`, так как используется scss,
|
26
|
+
и локаль `config/locales/en.yml`, если не планируется использование английской
|
27
|
+
локали.
|
28
|
+
|
29
|
+
## Добавления в `Gemfile`
|
30
|
+
|
31
|
+
```ruby
|
32
|
+
gem 'dotenv-rails'
|
33
|
+
|
34
|
+
gem 'autoprefixer-rails', group: :production
|
35
|
+
|
36
|
+
gem 'biovision', git: 'https://github.com/Biovision/biovision.git'
|
37
|
+
# gem 'biovision', path: '/Users/maxim/Projects/Biovision/gems/biovision'
|
38
|
+
|
39
|
+
group :development, :test do
|
40
|
+
gem 'database_cleaner'
|
41
|
+
gem 'factory_bot_rails'
|
42
|
+
gem 'rspec-rails'
|
43
|
+
end
|
44
|
+
|
45
|
+
group :development do
|
46
|
+
gem 'mina'
|
47
|
+
end
|
48
|
+
```
|
49
|
+
|
50
|
+
## Изменения в `config/environments/production.rb`
|
51
|
+
|
52
|
+
Нужно раскомментировать строку `config.require_master_key = true` (на момент
|
53
|
+
написания это `19` строка).
|
54
|
+
|
55
|
+
Нужно выставить уровень сообщения об ошибках в `:warn`
|
56
|
+
(`config.log_level = :warn` в районе `54` строки).
|
57
|
+
|
58
|
+
## Изменения в `app/mailers/application_mailer.rb`
|
59
|
+
|
60
|
+
Нужно удалить строку с отправителем по умолчанию
|
61
|
+
(`default from: 'from@example.com'`), иначе при отправке писем в бою будет
|
62
|
+
ошибка с неправильным отправителем, независимо от того, что написано
|
63
|
+
в конфигурации в `production.rb`.
|
64
|
+
|
65
|
+
## Актуализация `config/database.yml`
|
66
|
+
|
67
|
+
В файле `config/database.yml` нужно поменять названия баз данных на актуальные:
|
68
|
+
|
69
|
+
```yaml
|
70
|
+
default: &default
|
71
|
+
adapter: postgresql
|
72
|
+
encoding: unicode
|
73
|
+
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
|
74
|
+
|
75
|
+
development:
|
76
|
+
<<: *default
|
77
|
+
database: example # Поменять на актуальное название
|
78
|
+
|
79
|
+
test:
|
80
|
+
<<: *default
|
81
|
+
database: example_test # Такое же, как в development, но с приставкой _test
|
82
|
+
|
83
|
+
production:
|
84
|
+
<<: *default
|
85
|
+
database: example # Такое же, как в development, например
|
86
|
+
username: example # Поменять на актуального пользователя
|
87
|
+
password: <%= ENV['DATABASE_PASSWORD'] %>
|
88
|
+
host: localhost
|
89
|
+
```
|
90
|
+
|
91
|
+
## Добавления в config/application.rb
|
92
|
+
|
93
|
+
Это добавляется в блок конфигурирования. Без этой настройки часовой пояс будет
|
94
|
+
задан как UTC.
|
95
|
+
|
96
|
+
```ruby
|
97
|
+
config.time_zone = 'Moscow'
|
98
|
+
```
|
99
|
+
|
100
|
+
## Добавления в `config/application_controller.rb`
|
101
|
+
|
102
|
+
Добавить это в начале класса.
|
103
|
+
|
104
|
+
```ruby
|
105
|
+
def default_url_options
|
106
|
+
params.key?(:locale) ? { locale: I18n.locale } : {}
|
107
|
+
end
|
108
|
+
```
|
109
|
+
|
110
|
+
## Добавления в `config/routes.rb`
|
111
|
+
|
112
|
+
```ruby
|
113
|
+
concern :check do
|
114
|
+
post :check, on: :collection, defaults: { format: :json }
|
115
|
+
end
|
116
|
+
|
117
|
+
concern :toggle do
|
118
|
+
post :toggle, on: :member, defaults: { format: :json }
|
119
|
+
end
|
120
|
+
|
121
|
+
concern :priority do
|
122
|
+
post :priority, on: :member, defaults: { format: :json }
|
123
|
+
end
|
124
|
+
|
125
|
+
concern :removable_image do
|
126
|
+
delete :image, action: :destroy_image, on: :member, defaults: { format: :json }
|
127
|
+
end
|
128
|
+
|
129
|
+
concern :lock do
|
130
|
+
member do
|
131
|
+
put :lock, defaults: { format: :json }
|
132
|
+
delete :lock, action: :unlock, defaults: { format: :json }
|
133
|
+
end
|
134
|
+
end
|
135
|
+
|
136
|
+
scope '(:locale)', constraints: { locale: /ru|en/ } do
|
137
|
+
root 'index#index'
|
138
|
+
end
|
139
|
+
```
|
140
|
+
|
141
|
+
## Дополнения в config/puma.rb
|
142
|
+
|
143
|
+
Нужно обязательно закомментировать строку с портом, так как используется сокет.
|
144
|
+
На момент написания документации это `12` строка:
|
145
|
+
`port ENV.fetch("PORT") { 3000 }`
|
146
|
+
|
147
|
+
```ruby
|
148
|
+
if ENV['RAILS_ENV'] == 'production'
|
149
|
+
shared_path = '/var/www/example.com/shared'
|
150
|
+
logs_dir = "#{shared_path}/log"
|
151
|
+
|
152
|
+
state_path "#{shared_path}/tmp/puma/state"
|
153
|
+
pidfile "#{shared_path}/tmp/puma/pid"
|
154
|
+
bind "unix://#{shared_path}/tmp/puma.sock"
|
155
|
+
stdout_redirect "#{logs_dir}/stdout.log", "#{logs_dir}/stderr.log", true
|
156
|
+
|
157
|
+
activate_control_app
|
158
|
+
end
|
159
|
+
```
|
160
|
+
|
161
|
+
## Перед запуском:
|
162
|
+
|
163
|
+
После установки приложения нужно накатить миграции (в консоли):
|
164
|
+
|
165
|
+
```bash
|
166
|
+
rails db:create
|
167
|
+
rails railties:install:migrations
|
168
|
+
rails db:migrate
|
169
|
+
```
|
170
|
+
|
171
|
+
Для удобства запуска на сервере:
|
172
|
+
|
173
|
+
```bash
|
174
|
+
bundle binstubs bundler --force
|
175
|
+
bundle binstub puma
|
176
|
+
```
|
177
|
+
|
178
|
+
Также имеет смысл запустить `EDITOR=vim rails credentials:edit`, чтобы создать
|
179
|
+
зашированный файл с ключом шифрования сессии (чтобы выйти из vim с сохранением,
|
180
|
+
надо набрать :wq).
|
181
|
+
|
182
|
+
## Настройка отгрузки через mina
|
183
|
+
|
184
|
+
Для начала надо запустить в консоли `mina init`. После этого внести изменения
|
185
|
+
в `config/deploy.rb`.
|
186
|
+
|
187
|
+
В начале и середине файла раскомментировать то, что относится к `rbenv`.
|
188
|
+
Кроме того, следует проверить настройки соединения по SSH
|
189
|
+
(`set :user, 'developer`).
|
190
|
+
|
191
|
+
Для `shared_dirs` и `shared_files` задать примерно такой вид.
|
192
|
+
|
193
|
+
```ruby
|
194
|
+
set :shared_dirs, fetch(:shared_dirs, []).push('public/uploads', 'tmp', 'log')
|
195
|
+
set :shared_files, fetch(:shared_files, []).push('config/master.key', '.env')
|
196
|
+
```
|
197
|
+
|
198
|
+
На серверной стороне нужно создать папку для пумы и файла с ключом шифрования:
|
199
|
+
|
200
|
+
```bash
|
201
|
+
mkdir -p /var/www/example.com/shared/tmp/puma
|
202
|
+
mkdir -p /var/www/example.com/shared/config
|
203
|
+
```
|
204
|
+
|
205
|
+
После этого локально запустить `mina setup`. Для нормальной работы нужно
|
206
|
+
не забыть скопировать на сервер `.env` и `config/master.key`.
|
207
|
+
|
208
|
+
```bash
|
209
|
+
scp .env biovision:/var/www/example.com/shared
|
210
|
+
scp config/master.key biovision:/var/www/example.com/shared/config
|
211
|
+
```
|
212
|
+
|
213
|
+
## License
|
214
|
+
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
|
data/Rakefile
ADDED
@@ -0,0 +1,22 @@
|
|
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 = 'Biovision'
|
12
|
+
rdoc.options << '--line-numbers'
|
13
|
+
rdoc.rdoc_files.include('README.md')
|
14
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
15
|
+
end
|
16
|
+
|
17
|
+
APP_RAKEFILE = File.expand_path("spec/test_app/Rakefile", __dir__)
|
18
|
+
load 'rails/tasks/engine.rake'
|
19
|
+
|
20
|
+
load 'rails/tasks/statistics.rake'
|
21
|
+
|
22
|
+
require 'bundler/gem_tasks'
|
@@ -0,0 +1 @@
|
|
1
|
+
//= link_tree ../images
|
@@ -0,0 +1,4 @@
|
|
1
|
+
<svg version="1.1" viewBox="0 0 12 36" width="12px" height="36px" xmlns="http://www.w3.org/2000/svg">
|
2
|
+
<title>Left arrow (wide)</title>
|
3
|
+
<polyline points="10,2 2,18 10,34" stroke="#333" stroke-width="3" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
|
4
|
+
</svg>
|
@@ -0,0 +1,4 @@
|
|
1
|
+
<svg version="1.1" viewBox="0 0 12 36" width="12px" height="36px" xmlns="http://www.w3.org/2000/svg">
|
2
|
+
<title>Right arrow (wide)</title>
|
3
|
+
<polyline points="2,2 10,18 2,34" stroke="#333" stroke-width="3" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
|
4
|
+
</svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
<svg height="12px" version="1.1" viewBox="0 0 6 12" width="6px" xmlns="http://www.w3.org/2000/svg"><polyline points="4,1 1,5.5 4,10" fill="none" stroke="#f77" /></svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
<svg height="12px" version="1.1" viewBox="0 0 6 12" width="6px" xmlns="http://www.w3.org/2000/svg"><polyline points="1,1 4,5.5 1,10" fill="none" stroke="#777" /></svg>
|
@@ -0,0 +1,26 @@
|
|
1
|
+
<svg version="1.1" viewBox="0 0 24 24" width="24px" height="24px" xmlns="http://www.w3.org/2000/svg">
|
2
|
+
<title>Contact</title>
|
3
|
+
<defs>
|
4
|
+
<style type="text/css">
|
5
|
+
* { stroke-width: 1; }
|
6
|
+
.a { stroke: #777; }
|
7
|
+
.b { stroke: #555; }
|
8
|
+
.c { fill: #3aa; }
|
9
|
+
line { stroke-linecap: round; }
|
10
|
+
</style>
|
11
|
+
</defs>
|
12
|
+
<g class="a">
|
13
|
+
<rect x="1" y="1" width="15" height="10" fill="#fff"/>
|
14
|
+
<polyline points="1,1 9,5 16,1" fill="none"/>
|
15
|
+
</g>
|
16
|
+
<g class="b">
|
17
|
+
<rect x="7" y="6" width="10" height="17" rx="2" fill="#eee"/>
|
18
|
+
<line x1="10" y1="8" x2="14" y2="8" />
|
19
|
+
<circle cx="12.25" cy="21" r=".5"/>
|
20
|
+
<rect x="8" y="9.5" width="8.125" height="10" rx="1" ry="1" fill="#555" stroke="none" />
|
21
|
+
</g>
|
22
|
+
<g class="c">
|
23
|
+
<path d="M20,24 l-3.5,-8 q4,-8 7,0 z"/>
|
24
|
+
<circle cx="20.125" cy="15.25" r="1.5" fill="#f7a"/>
|
25
|
+
</g>
|
26
|
+
</svg>
|
@@ -0,0 +1,20 @@
|
|
1
|
+
<svg version="1.1" viewBox="0 0 24 24" width="24px" height="24px" xmlns="http://www.w3.org/2000/svg">
|
2
|
+
<title>Content</title>
|
3
|
+
<defs>
|
4
|
+
<style type="text/css">
|
5
|
+
rect { stroke-width: 1; stroke: #aaa }
|
6
|
+
line { stroke-width: 1 }
|
7
|
+
</style>
|
8
|
+
</defs>
|
9
|
+
<rect x="5" y="2" width="10" height="16" fill="#ddd"/>
|
10
|
+
<rect x="7" y="4" width="10" height="16" fill="#eee"/>
|
11
|
+
<g>
|
12
|
+
<rect x="9" y="6" width="10" height="16" fill="#fff"/>
|
13
|
+
<line x1="11" y1="9" x2="14" y2="9" stroke="#111"/>
|
14
|
+
<line x1="11" y1="11" x2="17" y2="11" stroke="#555"/>
|
15
|
+
<line x1="11" y1="13" x2="17" y2="13" stroke="#555"/>
|
16
|
+
<line x1="11" y1="15" x2="16" y2="15" stroke="#555"/>
|
17
|
+
<line x1="11" y1="18" x2="17" y2="18" stroke="#555"/>
|
18
|
+
<line x1="11" y1="20" x2="17" y2="20" stroke="#555"/>
|
19
|
+
</g>
|
20
|
+
</svg>
|
@@ -0,0 +1,21 @@
|
|
1
|
+
<svg version="1.1" viewBox="0 0 24 24" width="24px" height="24px" xmlns="http://www.w3.org/2000/svg">
|
2
|
+
<title>Users</title>
|
3
|
+
<defs>
|
4
|
+
<style type="text/css">
|
5
|
+
.a { stroke-width: 1; stroke: #aaa; fill: #eee; }
|
6
|
+
.b { stroke-width: 1.5; stroke: #333; fill: #777; }
|
7
|
+
</style>
|
8
|
+
</defs>
|
9
|
+
<g class="a">
|
10
|
+
<ellipse cx="6.5" cy="7" rx="2" ry="3.2"/>
|
11
|
+
<path d="M1,16 Q6.5,8 12,16 z" stroke-linejoin="round"/>
|
12
|
+
</g>
|
13
|
+
<g class="a">
|
14
|
+
<ellipse cx="18.5" cy="7" rx="2" ry="3.2"/>
|
15
|
+
<path d="M13,16 Q18.5,8 23,16 z" stroke-linejoin="round"/>
|
16
|
+
</g>
|
17
|
+
<g class="b">
|
18
|
+
<ellipse cx="12.5" cy="10" rx="3.5" ry="4.5"/>
|
19
|
+
<path d="M3,22 Q12,11 22,22 z" stroke-linejoin="round"/>
|
20
|
+
</g>
|
21
|
+
</svg>
|
@@ -0,0 +1,16 @@
|
|
1
|
+
<svg version="1.1" viewBox="0 0 24 24" width="24px" height="24px" xmlns="http://www.w3.org/2000/svg">
|
2
|
+
<title>Key</title>
|
3
|
+
<defs>
|
4
|
+
<style type="text/css">
|
5
|
+
* { stroke: #ada33d; stroke-width: 1.5; }
|
6
|
+
line { stroke-linecap: round; }
|
7
|
+
</style>
|
8
|
+
</defs>
|
9
|
+
<g>
|
10
|
+
<circle cx="4" cy="20" r="3" fill="none"/>
|
11
|
+
<line x1="6" y1="18" x2="20" y2="4"/>
|
12
|
+
<line x1="19" y1="5" x2="21" y2="7"/>
|
13
|
+
<line x1="17" y1="7" x2="20" y2="10"/>
|
14
|
+
<line x1="14" y1="8" x2="16" y2="10"/>
|
15
|
+
</g>
|
16
|
+
</svg>
|
@@ -0,0 +1,15 @@
|
|
1
|
+
<svg height="24" version="1.1" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
|
2
|
+
<title>Log in</title>
|
3
|
+
<style>
|
4
|
+
* { stroke: #777; fill: none; }
|
5
|
+
.a { stroke-width: 1 }
|
6
|
+
.b { stroke-width: 2 }
|
7
|
+
</style>
|
8
|
+
<g>
|
9
|
+
<polyline points="9,7 9,2 22,2 22,22 9,22 9,17" class="b"/>
|
10
|
+
<g class="a">
|
11
|
+
<line x1="2" y1="12" x2="17" y2="12"/>
|
12
|
+
<polyline points="14,9 17,12 14,15"/>
|
13
|
+
</g>
|
14
|
+
</g>
|
15
|
+
</svg>
|
@@ -0,0 +1,15 @@
|
|
1
|
+
<svg height="24" version="1.1" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
|
2
|
+
<title>Log out</title>
|
3
|
+
<style>
|
4
|
+
* { stroke: #777; fill: none; }
|
5
|
+
.a { stroke-width: 1 }
|
6
|
+
.b { stroke-width: 2 }
|
7
|
+
</style>
|
8
|
+
<g>
|
9
|
+
<polyline points="9,7 9,2 22,2 22,22 9,22 9,17" class="b"/>
|
10
|
+
<g class="a">
|
11
|
+
<line x1="2" y1="12" x2="17" y2="12"/>
|
12
|
+
<polyline points="5,9 2,12 5,15"/>
|
13
|
+
</g>
|
14
|
+
</g>
|
15
|
+
</svg>
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
|
2
|
+
<defs>
|
3
|
+
<title>Error</title>
|
4
|
+
<style>
|
5
|
+
* { stroke: #fff }
|
6
|
+
line { stroke-linecap: round; stroke-width: 4 }
|
7
|
+
</style>
|
8
|
+
</defs>
|
9
|
+
<g>
|
10
|
+
<circle cx="16" cy="16" r="14" fill="red" stroke-width="2"/>
|
11
|
+
<line x1="11" y1="11" x2="21" y2="21"/>
|
12
|
+
<line x1="11" y1="21" x2="21" y2="11"/>
|
13
|
+
</g>
|
14
|
+
</svg>
|
@@ -0,0 +1,8 @@
|
|
1
|
+
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
|
2
|
+
<title>Information</title>
|
3
|
+
<g>
|
4
|
+
<circle cx="16" cy="16" r="14" fill="blue" stroke="#fff" stroke-width="2"/>
|
5
|
+
<circle cx="16" cy="10" r="2" fill="#fff"/>
|
6
|
+
<line x1="16" x2="16" y1="16" y2="23" stroke="#fff" stroke-width="4" stroke-linecap="round"/>
|
7
|
+
</g>
|
8
|
+
</svg>
|
@@ -0,0 +1,12 @@
|
|
1
|
+
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
|
2
|
+
<defs>
|
3
|
+
<title>Success</title>
|
4
|
+
<style>
|
5
|
+
* { stroke: #fff }
|
6
|
+
</style>
|
7
|
+
</defs>
|
8
|
+
<g>
|
9
|
+
<circle cx="16" cy="16" r="14" fill="green" stroke-width="2"/>
|
10
|
+
<polyline points="10 17, 16 23, 22 11" fill="none" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/>
|
11
|
+
</g>
|
12
|
+
</svg>
|