typus 0.9.17
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +8 -0
- data/MIT-LICENSE +20 -0
- data/README.rdoc +86 -0
- data/Rakefile +61 -0
- data/VERSION +1 -0
- data/app/controllers/admin/master_controller.rb +354 -0
- data/app/controllers/typus_controller.rb +128 -0
- data/app/helpers/admin/form_helper.rb +386 -0
- data/app/helpers/admin/master_helper.rb +104 -0
- data/app/helpers/admin/public_helper.rb +27 -0
- data/app/helpers/admin/sidebar_helper.rb +236 -0
- data/app/helpers/admin/table_helper.rb +227 -0
- data/app/helpers/typus_helper.rb +194 -0
- data/app/models/typus_mailer.rb +14 -0
- data/app/models/typus_user.rb +5 -0
- data/app/views/admin/dashboard/_sidebar.html.erb +9 -0
- data/app/views/admin/resources/edit.html.erb +24 -0
- data/app/views/admin/resources/index.html.erb +23 -0
- data/app/views/admin/resources/new.html.erb +22 -0
- data/app/views/admin/resources/show.html.erb +18 -0
- data/app/views/admin/shared/_footer.html.erb +1 -0
- data/app/views/admin/shared/_pagination.html.erb +28 -0
- data/app/views/layouts/admin.html.erb +73 -0
- data/app/views/layouts/typus.html.erb +29 -0
- data/app/views/typus/dashboard.html.erb +9 -0
- data/app/views/typus/recover_password.html.erb +7 -0
- data/app/views/typus/reset_password.html.erb +15 -0
- data/app/views/typus/sign_in.html.erb +9 -0
- data/app/views/typus/sign_up.html.erb +7 -0
- data/app/views/typus_mailer/reset_password_link.erb +11 -0
- data/config/locales/typus/de.yml +109 -0
- data/config/locales/typus/es.yml +109 -0
- data/config/locales/typus/language.yml.template +113 -0
- data/config/locales/typus/pt-BR.yml +111 -0
- data/config/locales/typus/ru.yml +111 -0
- data/generators/typus/templates/config/initializers/typus.rb +33 -0
- data/generators/typus/templates/config/typus/README +51 -0
- data/generators/typus/templates/config/typus/application.yml +6 -0
- data/generators/typus/templates/config/typus/application_roles.yml +23 -0
- data/generators/typus/templates/config/typus/typus.yml +14 -0
- data/generators/typus/templates/config/typus/typus_roles.yml +2 -0
- data/generators/typus/templates/db/create_typus_users.rb +21 -0
- data/generators/typus/templates/public/images/admin/arrow_down.gif +0 -0
- data/generators/typus/templates/public/images/admin/arrow_up.gif +0 -0
- data/generators/typus/templates/public/images/admin/spinner.gif +0 -0
- data/generators/typus/templates/public/images/admin/status_false.gif +0 -0
- data/generators/typus/templates/public/images/admin/status_true.gif +0 -0
- data/generators/typus/templates/public/images/admin/trash.gif +0 -0
- data/generators/typus/templates/public/javascripts/admin/application.js +14 -0
- data/generators/typus/templates/public/stylesheets/admin/reset.css +68 -0
- data/generators/typus/templates/public/stylesheets/admin/screen.css +729 -0
- data/generators/typus/typus_generator.rb +122 -0
- data/generators/typus_update_schema_to_01/templates/config/typus.yml +14 -0
- data/generators/typus_update_schema_to_01/templates/migration.rb +11 -0
- data/generators/typus_update_schema_to_01/typus_update_schema_to_01_generator.rb +19 -0
- data/lib/typus.rb +122 -0
- data/lib/typus/active_record.rb +307 -0
- data/lib/typus/authentication.rb +142 -0
- data/lib/typus/configuration.rb +85 -0
- data/lib/typus/extensions/routes.rb +15 -0
- data/lib/typus/format.rb +55 -0
- data/lib/typus/generator.rb +81 -0
- data/lib/typus/hash.rb +8 -0
- data/lib/typus/locale.rb +17 -0
- data/lib/typus/object.rb +21 -0
- data/lib/typus/quick_edit.rb +40 -0
- data/lib/typus/reloader.rb +15 -0
- data/lib/typus/string.rb +11 -0
- data/lib/typus/templates/index.html.erb +11 -0
- data/lib/typus/templates/resource_controller.rb.erb +15 -0
- data/lib/typus/templates/resource_controller_test.rb.erb +10 -0
- data/lib/typus/templates/resources_controller.rb.erb +37 -0
- data/lib/typus/user.rb +134 -0
- data/lib/vendor/active_record.rb +15 -0
- data/lib/vendor/paginator.rb +143 -0
- data/rails/init.rb +3 -0
- data/tasks/typus_tasks.rake +32 -0
- data/test/config/broken/application.yml +68 -0
- data/test/config/broken/application_roles.yml +20 -0
- data/test/config/broken/empty.yml +0 -0
- data/test/config/broken/empty_roles.yml +0 -0
- data/test/config/broken/undefined.yml +3 -0
- data/test/config/broken/undefined_roles.yml +6 -0
- data/test/config/default/typus.yml +14 -0
- data/test/config/default/typus_roles.yml +2 -0
- data/test/config/empty/empty_01.yml +0 -0
- data/test/config/empty/empty_01_roles.yml +0 -0
- data/test/config/empty/empty_02.yml +0 -0
- data/test/config/empty/empty_02_roles.yml +0 -0
- data/test/config/locales/es.yml +10 -0
- data/test/config/ordered/001_roles.yml +2 -0
- data/test/config/ordered/002_roles.yml +2 -0
- data/test/config/unordered/app_one_roles.yml +2 -0
- data/test/config/unordered/app_two_roles.yml +2 -0
- data/test/config/working/application.yml +68 -0
- data/test/config/working/application_roles.yml +22 -0
- data/test/config/working/typus.yml +14 -0
- data/test/config/working/typus_roles.yml +2 -0
- data/test/fixtures/app/controllers/admin/assets_controller.rb +2 -0
- data/test/fixtures/app/controllers/admin/categories_controller.rb +2 -0
- data/test/fixtures/app/controllers/admin/comments_controller.rb +2 -0
- data/test/fixtures/app/controllers/admin/pages_controller.rb +2 -0
- data/test/fixtures/app/controllers/admin/posts_controller.rb +2 -0
- data/test/fixtures/app/controllers/admin/status_controller.rb +6 -0
- data/test/fixtures/app/controllers/admin/typus_users_controller.rb +2 -0
- data/test/fixtures/app/controllers/admin/watch_dog_controller.rb +6 -0
- data/test/fixtures/app/views/admin/comments/_edit.html.erb +1 -0
- data/test/fixtures/app/views/admin/comments/_index.html.erb +1 -0
- data/test/fixtures/app/views/admin/comments/_new.html.erb +1 -0
- data/test/fixtures/app/views/admin/comments/_show.html.erb +1 -0
- data/test/fixtures/app/views/admin/comments/_sidebar.html.erb +1 -0
- data/test/fixtures/app/views/admin/dashboard/_content.html.erb +1 -0
- data/test/fixtures/app/views/admin/dashboard/_sidebar.html.erb +1 -0
- data/test/fixtures/app/views/admin/resources/_sidebar.html.erb +1 -0
- data/test/fixtures/app/views/admin/shared/_footer.html.erb +1 -0
- data/test/fixtures/app/views/admin/status/index.html.erb +1 -0
- data/test/fixtures/app/views/admin/templates/_datepicker.html.erb +1 -0
- data/test/fixtures/assets.yml +11 -0
- data/test/fixtures/categories.yml +14 -0
- data/test/fixtures/comments.yml +27 -0
- data/test/fixtures/pages.yml +41 -0
- data/test/fixtures/posts.yml +37 -0
- data/test/fixtures/typus_users.yml +54 -0
- data/test/functional/admin/assets_controller_test.rb +57 -0
- data/test/functional/admin/categories_controller_test.rb +106 -0
- data/test/functional/admin/comments_controller_test.rb +120 -0
- data/test/functional/admin/master_controller_test.rb +5 -0
- data/test/functional/admin/posts_controller_test.rb +261 -0
- data/test/functional/admin/status_controller_test.rb +43 -0
- data/test/functional/admin/typus_users_controller_test.rb +239 -0
- data/test/functional/typus_controller_test.rb +321 -0
- data/test/helper.rb +51 -0
- data/test/helpers/admin/form_helper_test.rb +337 -0
- data/test/helpers/admin/master_helper_test.rb +69 -0
- data/test/helpers/admin/public_helper_test.rb +26 -0
- data/test/helpers/admin/sidebar_helper_test.rb +335 -0
- data/test/helpers/admin/table_helper_test.rb +239 -0
- data/test/helpers/typus_helper_test.rb +117 -0
- data/test/lib/active_record_test.rb +382 -0
- data/test/lib/configuration_test.rb +94 -0
- data/test/lib/hash_test.rb +11 -0
- data/test/lib/routes_test.rb +71 -0
- data/test/lib/string_test.rb +25 -0
- data/test/lib/typus_test.rb +85 -0
- data/test/models.rb +51 -0
- data/test/schema.rb +64 -0
- data/test/unit/typus_mailer_test.rb +33 -0
- data/test/unit/typus_test.rb +17 -0
- data/test/unit/typus_user_roles_test.rb +90 -0
- data/test/unit/typus_user_test.rb +177 -0
- data/test/vendor/active_record_test.rb +18 -0
- data/test/vendor/paginator_test.rb +136 -0
- data/typus.gemspec +228 -0
- metadata +241 -0
@@ -0,0 +1,111 @@
|
|
1
|
+
# Russian (ru) translations for Typus
|
2
|
+
# by Alexey Noskov <http://github.com/alno>
|
3
|
+
|
4
|
+
ru:
|
5
|
+
"Email": "E-Mail"
|
6
|
+
"Password": "Пароль"
|
7
|
+
"Password confirmation": "Подтверждение пароля"
|
8
|
+
"Sign in": "Войти"
|
9
|
+
"Recover password": "Восстановить пароль"
|
10
|
+
"Sign up": "Зарегистрироваться"
|
11
|
+
"Enter your email below to create the first user": "Введите E-Mail для создания первого пользователя"
|
12
|
+
"That doesn't seem like a valid email address": "E-Mail некорректен"
|
13
|
+
"I remember my password": "Запомнить пароль"
|
14
|
+
"Password recovery link sent to your email": "Ссылка для восставновления пароля выслана по указанному E-Mail"
|
15
|
+
"A valid token is required": "Необходим корректный ключ"
|
16
|
+
"The email and/or password you entered is invalid": "E-Mail или пароль введены неверно"
|
17
|
+
"There are not defined applications in config/typus/*.yml": "Ни одного приложения не определено в config/typus/*.yml"
|
18
|
+
"Overview": "Обзор"
|
19
|
+
"Options": "Опции"
|
20
|
+
"Password confirmation": "Подтверждение пароля"
|
21
|
+
"Change password": "Сменить пароль"
|
22
|
+
"There are no {{records}}": "{{records}} не найдены"
|
23
|
+
"There are no {{records}} under this filter": "{{records}} по такому фильтру не найдены"
|
24
|
+
"Dashboard": "Обзор"
|
25
|
+
"Create entry": "Создать запись"
|
26
|
+
"Update entry": "Изменить запись"
|
27
|
+
"New": "Новый"
|
28
|
+
"Show": "Показать"
|
29
|
+
"Edit": "Editar"
|
30
|
+
"Login": "Редактировать"
|
31
|
+
"Setup": "Установки"
|
32
|
+
"Create": "Создать"
|
33
|
+
"Sign out": "Выйти"
|
34
|
+
"Update": "Обновить"
|
35
|
+
"View site": "Перейти к сайту"
|
36
|
+
"Logged as": "Вы вошли как"
|
37
|
+
"Remove filter": "Удалить фильтр"
|
38
|
+
"Back to list": "Назад к списку"
|
39
|
+
"Actions": "Действия"
|
40
|
+
"Add": "Добавить"
|
41
|
+
"← Previous": "← Предыдущая"
|
42
|
+
"Next →": "Следующая →"
|
43
|
+
"Previous": "Предыдующий"
|
44
|
+
"Next": "Следующий"
|
45
|
+
"Search": "Поиск"
|
46
|
+
"Search by": "Искать по"
|
47
|
+
"{{model}} successfully updated": "{{model}} успешно обновлен"
|
48
|
+
"{{model}} successfully created": "{{model}} создан"
|
49
|
+
"{{model}} successfully removed": "{{model}} удален"
|
50
|
+
"{{model}} {{attribute}} changed": "{{model}} {{attribute}} изменен"
|
51
|
+
"You're adding a new {{resource_from}} to {{resource_to}}": "Вы добавляете новый {{resource_from}} для {{resource_to}}."
|
52
|
+
"You're adding a new {{resource_from}}": "Вы добавляете новый {{resource_from}}."
|
53
|
+
"You're updating a {{resource_from}} for {{resource_to}}": "Вы редактируете {{resource_from}} для {{resource_to}}."
|
54
|
+
"You're updating a {{resource_from}}": "Вы редактируете {{resource_from}}."
|
55
|
+
"Toggle is disabled": "Переключение отключено"
|
56
|
+
"Record moved {{to}}": "Запись перемещена в {{to}}."
|
57
|
+
"{{model_a}} related to {{model_b}}": "{{model_a}} присоединен с {{model_b}}."
|
58
|
+
"{{model_a}} successfully assigned to {{model_b}}": "{{model_a}} добавлен к {{model_b}}."
|
59
|
+
"{{model_a}} unrelated from {{model_b}}": "{{model_a}} отсоединен от {{model_b}}."
|
60
|
+
"{{model_a}} removed from {{model_b}}": "{{model_a}} удален из {{model_b}}."
|
61
|
+
"Your new password is {{password}}": "Ваш новый пароль: {{password}}."
|
62
|
+
"Add entry": "Добавить запись"
|
63
|
+
"Go to": "Перейти к"
|
64
|
+
"First name": "Имя"
|
65
|
+
"Last name": "Фамлия"
|
66
|
+
"Roles": "Роли"
|
67
|
+
"Status": "Статус"
|
68
|
+
"Typus User": "Системный пользователь"
|
69
|
+
"System Users Administration": "Администрирование системных пользователей"
|
70
|
+
"Resources": "Ресурсы"
|
71
|
+
"Up": "Вверх"
|
72
|
+
"Down": "Вниз"
|
73
|
+
"filter by": "фильтр по"
|
74
|
+
"Checked if active": "Отмечено, если активно"
|
75
|
+
"As you're not the admin or the owner of this record you cannot edit it": "Вы не администратор и не владелец записи и не можете ее редактировать"
|
76
|
+
"You can't change your role": "Вы не можете менять свою собственную роль"
|
77
|
+
"Error! Typus User or role doesn't exist": "Ошибка! Пользователь или роль не существует"
|
78
|
+
"You can't toggle your status": "Вы не можете менять свой статус"
|
79
|
+
"You're not allowed to toggle status": "Вам не позволено менять статус"
|
80
|
+
"You can't remove yourself": "Вы не можете удалить себя"
|
81
|
+
"You're not allowed to remove Typus Users": "Вам не позволено удалять системных пользователей"
|
82
|
+
"{{current_user_role}} can't perform action. ({{action}})": "{{current_user_role}} не может выполнить действие. ({{action}})"
|
83
|
+
"{{current_user_role}} can't go to {{action}} on {{controller}}": "{{current_user_role}} не может перейти к {{action}} в {{controller}}."
|
84
|
+
"{{current_user_role}} can't delete this item": "{{current_user_role}} не может удалить эту запись"
|
85
|
+
"{{current_user_role}} can't perform action ({{action}})": "{{current_user_role}} не может выполнить действие ({{action}})"
|
86
|
+
"{{current_user_role}} can't display items": "{{current_user_role}} не может отобразить записи"
|
87
|
+
"You can update your password at": "Вы можете установить свой пароль на"
|
88
|
+
"If you didn't request a password update, you can ignore this message": "Если Вы не запрашивали обновление пароля, Вы можете проигнорировать это сообщение."
|
89
|
+
"Have a nice day": "Добрый день."
|
90
|
+
"Reset password": "Сбросить пароль"
|
91
|
+
"Add new": "Добавить новый"
|
92
|
+
"Do you want to cancel it?": "Вы хотите отменить это?"
|
93
|
+
"Click here": "Кликните сюда"
|
94
|
+
"Are you sure you want to leave this page?": "Вы уверены, что хотите покинуть страницу?"
|
95
|
+
"If you have made any changes to the fields without clicking the Save/Update entry button, your changes will be lost": "Если вы сделали какие-то изменения, не кликая на Обновить/Сохранить, то они будут утеряны."
|
96
|
+
"Click OK to continue, or click Cancel to stay on this page": "нажмите Ок, чтобы продолжить или Отмена, чтобы остаться на этой странице."
|
97
|
+
"Remove entry?": "Удалить запись?"
|
98
|
+
"Unrelate {{unrelate_model}} from {{unrelate_model_from}}?": "Отсоединить {{unrelate_model}} от {{unrelate_model_from}}?"
|
99
|
+
"Change {{attribute}}?": "Изменить {{attribute}}?"
|
100
|
+
"Set language": "Установить язык"
|
101
|
+
"Today": "Сегодня"
|
102
|
+
"Past 7 days": "Последние 7 дней"
|
103
|
+
"This month": "Этот месяц"
|
104
|
+
"This year": "Этот год"
|
105
|
+
"Created at": "Создано"
|
106
|
+
"Updated at": "Обновлено"
|
107
|
+
"{{model}} filtered by {{filtered_by}}":
|
108
|
+
"True":
|
109
|
+
"False":
|
110
|
+
"Set language to":
|
111
|
+
"Are you sure you want to sign out and end your session?":
|
@@ -0,0 +1,33 @@
|
|
1
|
+
# Be sure to restart your server when you modify this file.
|
2
|
+
|
3
|
+
# System wide options
|
4
|
+
|
5
|
+
Typus::Configuration.options[:app_name] = '<%= application %>'
|
6
|
+
# Typus::Configuration.options[:config_folder] = 'config/typus'
|
7
|
+
# Typus::Configuration.options[:email] = 'admin@example.com'
|
8
|
+
# Typus::Configuration.options[:locales] = [ [ "English", :en ], [ "Español", :es ] ]
|
9
|
+
# Typus::Configuration.options[:recover_password] = true
|
10
|
+
# Typus::Configuration.options[:root] = 'admin'
|
11
|
+
# Typus::Configuration.options[:ssl] = false
|
12
|
+
# Typus::Configuration.options[:templates_folder] = 'admin/templates'
|
13
|
+
# Typus::Configuration.options[:user_class_name] = 'TypusUser'
|
14
|
+
# Typus::Configuration.options[:user_fk] = 'typus_user_id'
|
15
|
+
|
16
|
+
# Model options which can also be defined by model on the yaml files.
|
17
|
+
|
18
|
+
# Typus::Configuration.options[:default_action_on_item] = 'edit'
|
19
|
+
# Typus::Configuration.options[:end_year] = Time.now.year + 1
|
20
|
+
# Typus::Configuration.options[:form_rows] = 10
|
21
|
+
# Typus::Configuration.options[:icon_on_boolean] = false
|
22
|
+
# Typus::Configuration.options[:index_after_save] = true
|
23
|
+
# Typus::Configuration.options[:minute_step] = 5
|
24
|
+
# Typus::Configuration.options[:nil] = 'nil'
|
25
|
+
# Typus::Configuration.options[:on_header] = false
|
26
|
+
# Typus::Configuration.options[:only_user_items] = false
|
27
|
+
# Typus::Configuration.options[:per_page] = 15
|
28
|
+
# Typus::Configuration.options[:sidebar_selector] = 5
|
29
|
+
# Typus::Configuration.options[:start_year] = Time.now.year - 10
|
30
|
+
# Typus::Configuration.options[:tiny_mce] = { :theme => 'advanced',
|
31
|
+
# :theme_advanced_toolbar_location => 'top',
|
32
|
+
# :theme_advanced_toolbar_align => 'left' }
|
33
|
+
# Typus::Configuration.options[:toggle] = true
|
@@ -0,0 +1,51 @@
|
|
1
|
+
This is an example of a **Typus** enabled model with all available
|
2
|
+
options. You can use this example to customize your YAML files which
|
3
|
+
only have set the most common settings.
|
4
|
+
|
5
|
+
Post:
|
6
|
+
fields:
|
7
|
+
list: id, title, category_id, created_at, is_published?
|
8
|
+
form: title, body, is_published?, created_at
|
9
|
+
show: title, category, is_published?
|
10
|
+
relationship: title, status
|
11
|
+
options:
|
12
|
+
auto_generated:
|
13
|
+
booleans:
|
14
|
+
is_published: ["Yes, it is", "No, it isn't"]
|
15
|
+
date_formats:
|
16
|
+
created_at: post_long
|
17
|
+
selectors:
|
18
|
+
read_only:
|
19
|
+
tiny_mce:
|
20
|
+
fields: body
|
21
|
+
options:
|
22
|
+
theme: simple
|
23
|
+
theme_advanced_buttons3_add:
|
24
|
+
- fulscreen
|
25
|
+
plugins:
|
26
|
+
- fulscreen
|
27
|
+
actions:
|
28
|
+
index: cleanup
|
29
|
+
edit: send_as_newsletter
|
30
|
+
show: rebuild
|
31
|
+
export: csv, xml, pdf
|
32
|
+
order_by: created_at
|
33
|
+
relationships:
|
34
|
+
filters: is_published?, created_at, category_id
|
35
|
+
search: title, body
|
36
|
+
application: Application
|
37
|
+
description: Some text to describe the model
|
38
|
+
options:
|
39
|
+
default_action_on_item: show
|
40
|
+
end_year: 2015
|
41
|
+
form_rows: 25
|
42
|
+
icon_on_boolean: true
|
43
|
+
index_after_save: false
|
44
|
+
minute_step: 15
|
45
|
+
nil: 'nil'
|
46
|
+
on_header: true
|
47
|
+
only_user_items: true
|
48
|
+
per_page: 5
|
49
|
+
sidebar_selector: 5
|
50
|
+
start_year: 1990
|
51
|
+
toggle: true
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# Typus Roles Configuration File
|
2
|
+
#
|
3
|
+
# In this file you can configure the actions available for each of your
|
4
|
+
# models on the application.
|
5
|
+
#
|
6
|
+
# admin:
|
7
|
+
# Post: create, read, update, delete
|
8
|
+
# Category: create, read, update, delete
|
9
|
+
#
|
10
|
+
# editor:
|
11
|
+
# Post: create, read, update
|
12
|
+
# Category: read, update
|
13
|
+
#
|
14
|
+
# You can also define `resources` which are not related to a model,
|
15
|
+
# for example to control MemCached or see the Starling queue statistics.
|
16
|
+
#
|
17
|
+
# admin:
|
18
|
+
# Starling: index
|
19
|
+
# MemCached: index, cleanup
|
20
|
+
#
|
21
|
+
|
22
|
+
admin:
|
23
|
+
<%= configuration[:roles] %>
|
@@ -0,0 +1,14 @@
|
|
1
|
+
TypusUser:
|
2
|
+
fields:
|
3
|
+
list: email, role, status
|
4
|
+
form: first_name, last_name, role, email, password, password_confirmation
|
5
|
+
options:
|
6
|
+
selectors: role
|
7
|
+
booleans:
|
8
|
+
status: Active, Inactive
|
9
|
+
filters: status, role
|
10
|
+
search: first_name, last_name, email, role
|
11
|
+
application: Typus
|
12
|
+
description: System Users Administration
|
13
|
+
options:
|
14
|
+
icon_on_boolean: false
|
@@ -0,0 +1,21 @@
|
|
1
|
+
class CreateTypusUsers < ActiveRecord::Migration
|
2
|
+
|
3
|
+
def self.up
|
4
|
+
create_table :typus_users do |t|
|
5
|
+
t.string :first_name, :default => "", :null => false
|
6
|
+
t.string :last_name, :default => "", :null => false
|
7
|
+
t.string :role, :null => false
|
8
|
+
t.string :email, :null => false
|
9
|
+
t.boolean :status, :default => false
|
10
|
+
t.string :token, :null => false
|
11
|
+
t.string :salt, :null => false
|
12
|
+
t.string :crypted_password, :null => false
|
13
|
+
t.timestamps
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
def self.down
|
18
|
+
drop_table :typus_users
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1,14 @@
|
|
1
|
+
// Place your application-specific JavaScript functions and classes for
|
2
|
+
// Typus here.
|
3
|
+
|
4
|
+
function externalLinks() {
|
5
|
+
if (!document.getElementsByTagName) return;
|
6
|
+
var anchors = document.getElementsByTagName("a");
|
7
|
+
for (var i=0; i<anchors.length; i++) {
|
8
|
+
var anchor = anchors[i];
|
9
|
+
if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external")
|
10
|
+
anchor.target = "_blank";
|
11
|
+
}
|
12
|
+
}
|
13
|
+
|
14
|
+
window.onload = externalLinks;
|
@@ -0,0 +1,68 @@
|
|
1
|
+
/* @group Structure Module */
|
2
|
+
|
3
|
+
body,html {margin:0;padding:0;}
|
4
|
+
|
5
|
+
/* @end */
|
6
|
+
|
7
|
+
/* @group Text Module */
|
8
|
+
|
9
|
+
abbr,acronym,address,blockquote,br,cite,code,dfn,div,em,h1,h2,h3,h4,h5,h6,kbd,p,pre,q,samp,span,strong,var{font-style:normal;font-weight:normal;text-decoration:none;}
|
10
|
+
blockquote,code,div,h1,h2,h3,h4,h5,h6,p,span,pre,hr{margin:0;padding:0;}
|
11
|
+
h1,h2,h3,h4,h5,h6{font-size:100%;}
|
12
|
+
b,i,em,strong,del,ins,u{font-weight:normal;font-style:normal;text-decoration:none;}
|
13
|
+
|
14
|
+
/* @end */
|
15
|
+
|
16
|
+
/* @group Hypertext Module */
|
17
|
+
|
18
|
+
a{text-decoration:none;}
|
19
|
+
|
20
|
+
/* @end */
|
21
|
+
|
22
|
+
/* @group List Module */
|
23
|
+
|
24
|
+
dl,dt,dd,ol,ul,li{margin:0;padding:0;list-style:none;}
|
25
|
+
dl,dt,dd,ol,ul,li{padding:0;margin:0;}
|
26
|
+
|
27
|
+
/* @end */
|
28
|
+
|
29
|
+
/* @group Forms Module */
|
30
|
+
|
31
|
+
button,fieldset,form,input,label,legend,select,optgroup,option,textarea{margin:0;padding:0;}
|
32
|
+
fieldset{border:0;}
|
33
|
+
|
34
|
+
/* @end */
|
35
|
+
|
36
|
+
/* @group Basic Table Module */
|
37
|
+
|
38
|
+
caption,table,td,th,tr{margin:0;padding:0;font-weight:normal;text-align:left;}
|
39
|
+
table{border-collapse:collapse;border-spacing:0;}
|
40
|
+
|
41
|
+
/* @end */
|
42
|
+
|
43
|
+
/* @group Image Module */
|
44
|
+
|
45
|
+
img{border:0;}
|
46
|
+
|
47
|
+
/* @end */
|
48
|
+
|
49
|
+
/* @group Object Module */
|
50
|
+
|
51
|
+
object,param{}
|
52
|
+
|
53
|
+
/* @end */
|
54
|
+
|
55
|
+
/* @group Presentation Module */
|
56
|
+
|
57
|
+
b,big,hr,i,small,sub,sup,tt{font-size:100%;}
|
58
|
+
q:before,q:after{content:'';}
|
59
|
+
sup {vertical-align:text-top;}
|
60
|
+
sub {vertical-align:text-bottom;}
|
61
|
+
|
62
|
+
/* @end */
|
63
|
+
|
64
|
+
/* @group Scripting Module */
|
65
|
+
|
66
|
+
noscript{}
|
67
|
+
|
68
|
+
/* @end */
|
@@ -0,0 +1,729 @@
|
|
1
|
+
/* @group Defaults */
|
2
|
+
|
3
|
+
html {
|
4
|
+
background: #000;
|
5
|
+
height: 100%;
|
6
|
+
margin-bottom: 1px;
|
7
|
+
}
|
8
|
+
|
9
|
+
body {
|
10
|
+
color: #000;
|
11
|
+
font-family: "Lucida Grande", Helvetica, Arial, sans-serif;
|
12
|
+
font-size: 75%;
|
13
|
+
}
|
14
|
+
|
15
|
+
label {
|
16
|
+
display: block;
|
17
|
+
font-weight: bold;
|
18
|
+
margin-bottom: 5px;
|
19
|
+
}
|
20
|
+
|
21
|
+
strong {
|
22
|
+
font-weight: bold;
|
23
|
+
}
|
24
|
+
|
25
|
+
dt {
|
26
|
+
float: left;
|
27
|
+
font-weight: bold;
|
28
|
+
width: 200px;
|
29
|
+
}
|
30
|
+
|
31
|
+
dd {
|
32
|
+
margin: 0 0 0 220px;
|
33
|
+
}
|
34
|
+
|
35
|
+
/* @end */
|
36
|
+
|
37
|
+
/* @group Links */
|
38
|
+
|
39
|
+
a,
|
40
|
+
a:visited,
|
41
|
+
a:link {
|
42
|
+
color: #000;
|
43
|
+
font-weight: normal;
|
44
|
+
text-decoration: none;
|
45
|
+
}
|
46
|
+
|
47
|
+
a:hover {
|
48
|
+
color: #333;
|
49
|
+
text-decoration: underline;
|
50
|
+
}
|
51
|
+
|
52
|
+
a.on {
|
53
|
+
color: #333;
|
54
|
+
font-weight: bold;
|
55
|
+
text-decoration: underline;
|
56
|
+
}
|
57
|
+
|
58
|
+
/* @end */
|
59
|
+
|
60
|
+
/* @group Wrappers */
|
61
|
+
|
62
|
+
#header_wrapper {
|
63
|
+
background: #000;
|
64
|
+
margin: 0 auto;
|
65
|
+
padding: 0 10px;
|
66
|
+
width: 940px;
|
67
|
+
}
|
68
|
+
|
69
|
+
#wrapper {
|
70
|
+
background: #FFF;
|
71
|
+
}
|
72
|
+
|
73
|
+
#content_wrapper {
|
74
|
+
background: #FFF;
|
75
|
+
min-height: 400px;
|
76
|
+
margin: 0 auto;
|
77
|
+
padding: 0 10px;
|
78
|
+
width: 940px;
|
79
|
+
}
|
80
|
+
|
81
|
+
/* @end */
|
82
|
+
|
83
|
+
/* @group Header */
|
84
|
+
|
85
|
+
#header {
|
86
|
+
background: #000;
|
87
|
+
color: #FFF;
|
88
|
+
margin: 0 auto;
|
89
|
+
padding: 1em 0;
|
90
|
+
}
|
91
|
+
|
92
|
+
#header h1 {
|
93
|
+
display: block;
|
94
|
+
float: left;
|
95
|
+
font-size: 2em;
|
96
|
+
margin-right: 0.25em;
|
97
|
+
}
|
98
|
+
|
99
|
+
#header a {
|
100
|
+
color: #FFF;
|
101
|
+
}
|
102
|
+
|
103
|
+
#header .left {
|
104
|
+
float: left;
|
105
|
+
}
|
106
|
+
|
107
|
+
#header .right {
|
108
|
+
float: right;
|
109
|
+
margin-top: 1em;
|
110
|
+
}
|
111
|
+
|
112
|
+
#header .left ul {
|
113
|
+
display: block;
|
114
|
+
float: left;
|
115
|
+
margin-top: 1em;
|
116
|
+
}
|
117
|
+
|
118
|
+
#header .left li,
|
119
|
+
#header .right li {
|
120
|
+
display: inline;
|
121
|
+
padding-left: 0.5em;
|
122
|
+
}
|
123
|
+
|
124
|
+
/* @end */
|
125
|
+
|
126
|
+
/* @group Content */
|
127
|
+
|
128
|
+
#content {
|
129
|
+
width: 700px;
|
130
|
+
float: left;
|
131
|
+
padding: 1.5em 0;
|
132
|
+
}
|
133
|
+
|
134
|
+
#content h2 {
|
135
|
+
font-size: 1.5em;
|
136
|
+
font-weight: bold;
|
137
|
+
margin: 0em 0em 0.5em 0em;
|
138
|
+
}
|
139
|
+
|
140
|
+
#content h2 a {
|
141
|
+
font-weight: bold;
|
142
|
+
}
|
143
|
+
|
144
|
+
#content h2 small {
|
145
|
+
font-size: 0.75em;
|
146
|
+
}
|
147
|
+
|
148
|
+
#content h2 small a {
|
149
|
+
color: #666;
|
150
|
+
}
|
151
|
+
|
152
|
+
#content h3 {
|
153
|
+
font-size: 1.25em;
|
154
|
+
font-weight: bold;
|
155
|
+
margin: 1em 0em;
|
156
|
+
}
|
157
|
+
|
158
|
+
#content h4 {
|
159
|
+
margin: 1em 0em;
|
160
|
+
}
|
161
|
+
|
162
|
+
#content ol {
|
163
|
+
margin: 1em 2em;
|
164
|
+
}
|
165
|
+
|
166
|
+
#content ul {
|
167
|
+
margin: 0em 1.5em;
|
168
|
+
}
|
169
|
+
|
170
|
+
#content li {
|
171
|
+
list-style: square;
|
172
|
+
line-height: 20px;
|
173
|
+
}
|
174
|
+
|
175
|
+
#content ul li {
|
176
|
+
list-style: square;
|
177
|
+
}
|
178
|
+
|
179
|
+
#content p {
|
180
|
+
margin: 1em 0em;
|
181
|
+
}
|
182
|
+
|
183
|
+
#content p a {
|
184
|
+
text-decoration: underline;
|
185
|
+
}
|
186
|
+
|
187
|
+
#content p a:hover {
|
188
|
+
color: #408BB6;
|
189
|
+
}
|
190
|
+
|
191
|
+
#content pre {
|
192
|
+
background: #000;
|
193
|
+
color: #FFF;
|
194
|
+
font-size: 1.25em;
|
195
|
+
margin: 1em 0em;
|
196
|
+
overflow: auto;
|
197
|
+
padding: 1em;
|
198
|
+
}
|
199
|
+
|
200
|
+
#content blockquote {
|
201
|
+
border-left: 1px solid #999;
|
202
|
+
font-size: 1.25em;
|
203
|
+
font-family: georgia;
|
204
|
+
margin: 1em;
|
205
|
+
padding: 0em 1em;
|
206
|
+
}
|
207
|
+
|
208
|
+
#content table.typus {
|
209
|
+
margin: 1em 0em;
|
210
|
+
background: #000;
|
211
|
+
}
|
212
|
+
|
213
|
+
#content h2+table.typus {
|
214
|
+
margin: 0em; /* Here we overwrite a preference */
|
215
|
+
}
|
216
|
+
|
217
|
+
/* @end */
|
218
|
+
|
219
|
+
/* @group Sidebar */
|
220
|
+
|
221
|
+
#sidebar {
|
222
|
+
float: left;
|
223
|
+
margin-left: 20px;
|
224
|
+
padding: 1.5em 0;
|
225
|
+
width: 220px;
|
226
|
+
}
|
227
|
+
|
228
|
+
#sidebar h2 {
|
229
|
+
font-size: 1.5em;
|
230
|
+
font-weight: bold;
|
231
|
+
}
|
232
|
+
|
233
|
+
#sidebar h3 {
|
234
|
+
margin: 1em 0;
|
235
|
+
}
|
236
|
+
|
237
|
+
#sidebar p {
|
238
|
+
margin: 1em 0;
|
239
|
+
}
|
240
|
+
|
241
|
+
#sidebar p a {
|
242
|
+
text-decoration: underline;
|
243
|
+
}
|
244
|
+
|
245
|
+
#sidebar label {
|
246
|
+
font-size: 15px;
|
247
|
+
}
|
248
|
+
|
249
|
+
#sidebar form {
|
250
|
+
margin-bottom: 1.25em;
|
251
|
+
}
|
252
|
+
|
253
|
+
#sidebar ul {
|
254
|
+
margin: 1em 0em;
|
255
|
+
}
|
256
|
+
|
257
|
+
#sidebar code {
|
258
|
+
font-size: 1.25em;
|
259
|
+
color: green;
|
260
|
+
}
|
261
|
+
|
262
|
+
#sidebar small {
|
263
|
+
font-size: 0.85em;
|
264
|
+
}
|
265
|
+
|
266
|
+
/* @end */
|
267
|
+
|
268
|
+
/* @group Footer */
|
269
|
+
|
270
|
+
#footer_wrapper {
|
271
|
+
background: #000;
|
272
|
+
}
|
273
|
+
|
274
|
+
#footer {
|
275
|
+
background: #000;
|
276
|
+
margin: 0 auto;
|
277
|
+
width: 940px;
|
278
|
+
}
|
279
|
+
|
280
|
+
#footer .left {
|
281
|
+
float: left;
|
282
|
+
}
|
283
|
+
|
284
|
+
#footer .right {
|
285
|
+
float: right;
|
286
|
+
}
|
287
|
+
|
288
|
+
#footer p {
|
289
|
+
color: #FFF;
|
290
|
+
font-size: 0.9em;
|
291
|
+
line-height: 18px;
|
292
|
+
padding: 1em 0em;
|
293
|
+
}
|
294
|
+
|
295
|
+
#footer a {
|
296
|
+
color: #FFF;
|
297
|
+
font-weight: normal;
|
298
|
+
text-decoration: underline;
|
299
|
+
}
|
300
|
+
|
301
|
+
#footer a:hover {
|
302
|
+
color: #408BB6;
|
303
|
+
}
|
304
|
+
|
305
|
+
/* @end */
|
306
|
+
|
307
|
+
/* @group Content Forms */
|
308
|
+
|
309
|
+
#content form {
|
310
|
+
margin: 1em 0em 2em 0em;
|
311
|
+
}
|
312
|
+
|
313
|
+
#content form ul {
|
314
|
+
margin: 0;
|
315
|
+
}
|
316
|
+
|
317
|
+
#content form ul li {
|
318
|
+
list-style: none;
|
319
|
+
margin: 1em 0;
|
320
|
+
}
|
321
|
+
|
322
|
+
#content form ul li p {
|
323
|
+
margin: 0.5em 0;
|
324
|
+
}
|
325
|
+
|
326
|
+
#content form small {
|
327
|
+
font-size: 0.9em;
|
328
|
+
font-weight: normal;
|
329
|
+
}
|
330
|
+
|
331
|
+
#content input.text {
|
332
|
+
border: 1px solid #999;
|
333
|
+
font-size: 20px;
|
334
|
+
padding: 5px;
|
335
|
+
width: 688px;
|
336
|
+
}
|
337
|
+
|
338
|
+
input.button {
|
339
|
+
margin: 10px 0 0 0;
|
340
|
+
}
|
341
|
+
|
342
|
+
#content input.text:focus {
|
343
|
+
background: #FFFCE1;
|
344
|
+
}
|
345
|
+
|
346
|
+
#content textarea {
|
347
|
+
border: 1px solid #999;
|
348
|
+
font-family: "Courier";
|
349
|
+
font-size: 14px;
|
350
|
+
padding: 3px;
|
351
|
+
width: 691px;
|
352
|
+
}
|
353
|
+
|
354
|
+
#content textarea:focus {
|
355
|
+
background: #FFFCE1;
|
356
|
+
}
|
357
|
+
|
358
|
+
#content select {
|
359
|
+
border: 1px solid #999;
|
360
|
+
font-size: 1.20em;
|
361
|
+
}
|
362
|
+
|
363
|
+
#content label.inline_label {
|
364
|
+
display: inline;
|
365
|
+
font-weight: normal;
|
366
|
+
}
|
367
|
+
|
368
|
+
/* @end */
|
369
|
+
|
370
|
+
/* @group Content Tables */
|
371
|
+
|
372
|
+
#content table.typus {
|
373
|
+
width: 100%;
|
374
|
+
}
|
375
|
+
|
376
|
+
#content table.typus small {
|
377
|
+
font-size: 0.8em;
|
378
|
+
}
|
379
|
+
|
380
|
+
#content table.typus th {
|
381
|
+
color: #FFF;
|
382
|
+
font-weight: normal;
|
383
|
+
padding: 4px;
|
384
|
+
}
|
385
|
+
|
386
|
+
#content table.typus th a {
|
387
|
+
color: #FFF!important;
|
388
|
+
}
|
389
|
+
|
390
|
+
#content .asc { background: transparent url(/images/admin/arrow_up.gif) no-repeat right center; }
|
391
|
+
|
392
|
+
#content .desc { background: transparent url(/images/admin/arrow_down.gif) no-repeat right center; }
|
393
|
+
|
394
|
+
#content table.typus td.right {
|
395
|
+
text-align: right;
|
396
|
+
}
|
397
|
+
|
398
|
+
#content table.typus tr.even {
|
399
|
+
background: #FFF!important;
|
400
|
+
}
|
401
|
+
|
402
|
+
#content table.typus tr.even:hover,
|
403
|
+
#content table.typus tr.odd:hover {
|
404
|
+
background: #000!important;
|
405
|
+
color: #FFF;
|
406
|
+
}
|
407
|
+
|
408
|
+
#content table.typus tr.even:hover a,
|
409
|
+
#content table.typus tr.odd:hover a {
|
410
|
+
color: #FFF!important;
|
411
|
+
}
|
412
|
+
|
413
|
+
#content table.typus tr.odd {
|
414
|
+
background: #F5F5F5;
|
415
|
+
}
|
416
|
+
|
417
|
+
#content table.typus td {
|
418
|
+
border: none;
|
419
|
+
font-weight: normal;
|
420
|
+
padding: 3px 4px;
|
421
|
+
vertical-align: top;
|
422
|
+
}
|
423
|
+
|
424
|
+
/* @end */
|
425
|
+
|
426
|
+
/* @group Rails Errors */
|
427
|
+
|
428
|
+
.fieldWithErrors input {
|
429
|
+
background: #FBE3E4;
|
430
|
+
border: 1px solid #8A1F11!important;
|
431
|
+
}
|
432
|
+
|
433
|
+
.errorExplanation {
|
434
|
+
background: #FBE3E4;
|
435
|
+
border: 2px solid #FBC2C4;
|
436
|
+
color: #8a1f11;
|
437
|
+
padding: 0 10px;
|
438
|
+
}
|
439
|
+
|
440
|
+
.errorExplanation h3 {
|
441
|
+
display: none;
|
442
|
+
}
|
443
|
+
|
444
|
+
.errorExplanation p {
|
445
|
+
font-weight: bold;
|
446
|
+
padding: 0 5px;
|
447
|
+
}
|
448
|
+
|
449
|
+
.errorExplanation ul {
|
450
|
+
margin: 0 0 10px 25px!important;
|
451
|
+
}
|
452
|
+
|
453
|
+
.errorExplanation ul li {
|
454
|
+
list-style: square!important;
|
455
|
+
margin: 0!important;
|
456
|
+
}
|
457
|
+
|
458
|
+
/* @end */
|
459
|
+
|
460
|
+
/* @group Search Box */
|
461
|
+
|
462
|
+
input#search {
|
463
|
+
border: 1px solid #999;
|
464
|
+
font-size: 1.2em;
|
465
|
+
padding: 3px;
|
466
|
+
}
|
467
|
+
|
468
|
+
/* @end */
|
469
|
+
|
470
|
+
/* @group Login Page Dialog */
|
471
|
+
|
472
|
+
#bottom_dialog {
|
473
|
+
color: #FFF;
|
474
|
+
font-size: 0.9em;
|
475
|
+
line-height: 18px;
|
476
|
+
margin: 0em auto;
|
477
|
+
padding: 0em 1.5em;
|
478
|
+
text-align: center;
|
479
|
+
width: 420px;
|
480
|
+
}
|
481
|
+
|
482
|
+
#bottom_dialog a {
|
483
|
+
color: #FFF;
|
484
|
+
font-weight: bold;
|
485
|
+
}
|
486
|
+
|
487
|
+
#dialog {
|
488
|
+
background: #FFF;
|
489
|
+
border: 0.5em solid #408BB6;
|
490
|
+
margin: 5em auto 1em auto;
|
491
|
+
padding: 0em 1.5em;
|
492
|
+
width: 35em;
|
493
|
+
}
|
494
|
+
|
495
|
+
#dialog h1 {
|
496
|
+
font-size: 2em;
|
497
|
+
font-weight: bold;
|
498
|
+
margin: 0.5em 0;
|
499
|
+
}
|
500
|
+
|
501
|
+
#dialog h1 a {
|
502
|
+
font-weight: bold;
|
503
|
+
}
|
504
|
+
|
505
|
+
#dialog h1 a:hover {
|
506
|
+
color: #000;
|
507
|
+
text-decoration: underline;
|
508
|
+
}
|
509
|
+
|
510
|
+
#dialog li {
|
511
|
+
margin: 1em 0;
|
512
|
+
}
|
513
|
+
|
514
|
+
#dialog li a {
|
515
|
+
margin: 0.5em;
|
516
|
+
display: inline;
|
517
|
+
font-size: 11px;
|
518
|
+
}
|
519
|
+
|
520
|
+
#dialog input.text {
|
521
|
+
border: 1px solid #999;
|
522
|
+
font-size: 2em;
|
523
|
+
padding: 0.25em;
|
524
|
+
width: 16.75em;
|
525
|
+
}
|
526
|
+
|
527
|
+
#dialog input.button {
|
528
|
+
margin: 0.5em 0em;
|
529
|
+
}
|
530
|
+
|
531
|
+
#dialog .errorExplanation ul {
|
532
|
+
margin: 10px 0 10px 0px!important;
|
533
|
+
}
|
534
|
+
|
535
|
+
#dialog .errorExplanation li {
|
536
|
+
font-weight: bold;
|
537
|
+
list-style: none!important;
|
538
|
+
}
|
539
|
+
|
540
|
+
/* @end */
|
541
|
+
|
542
|
+
/* @group Pagination */
|
543
|
+
|
544
|
+
.pagination {
|
545
|
+
border-bottom: 1px solid #F5F5F5;
|
546
|
+
border-top: 1px solid #F5F5F5;
|
547
|
+
margin: 1.5em auto 0em auto;
|
548
|
+
padding: 1em;
|
549
|
+
text-align: center;
|
550
|
+
}
|
551
|
+
|
552
|
+
.pagination a {
|
553
|
+
color: #333;
|
554
|
+
margin: 2px;
|
555
|
+
padding: 2px 3px;
|
556
|
+
text-decoration: none;
|
557
|
+
}
|
558
|
+
|
559
|
+
.pagination a:hover,
|
560
|
+
.pagination a:active {
|
561
|
+
background: #000;
|
562
|
+
color: #FFF;
|
563
|
+
}
|
564
|
+
|
565
|
+
.pagination span.current {
|
566
|
+
background-color: #408BB6;
|
567
|
+
color: #FFF;
|
568
|
+
font-weight: bold;
|
569
|
+
margin: 2px;
|
570
|
+
padding: 2px 3px;
|
571
|
+
}
|
572
|
+
|
573
|
+
.pagination span.disabled {
|
574
|
+
color: #DDD;
|
575
|
+
margin: 2px;
|
576
|
+
padding: 2px 3px;
|
577
|
+
}
|
578
|
+
|
579
|
+
/* @end */
|
580
|
+
|
581
|
+
/* @group Success, notice and error boxes */
|
582
|
+
|
583
|
+
.error,
|
584
|
+
.notice,
|
585
|
+
.success {
|
586
|
+
border: 1px solid #CCC;
|
587
|
+
font-weight: bold;
|
588
|
+
margin: 0em 0em 1em 0em;
|
589
|
+
}
|
590
|
+
|
591
|
+
.error p,
|
592
|
+
.notice p,
|
593
|
+
.success p {
|
594
|
+
font-weight: bold;
|
595
|
+
margin: 0em!important;
|
596
|
+
padding: 1em;
|
597
|
+
}
|
598
|
+
|
599
|
+
.error {
|
600
|
+
background: #FBE3E4;
|
601
|
+
border-color: #FBC2C4;
|
602
|
+
color: #8A1F11;
|
603
|
+
}
|
604
|
+
|
605
|
+
.error a {
|
606
|
+
color: #8A1F11;
|
607
|
+
}
|
608
|
+
|
609
|
+
.notice {
|
610
|
+
background: #FFF6BF;
|
611
|
+
border-color: #FFD324;
|
612
|
+
color: #514721;
|
613
|
+
}
|
614
|
+
|
615
|
+
.notice a {
|
616
|
+
color: #514721;
|
617
|
+
}
|
618
|
+
|
619
|
+
.success {
|
620
|
+
background: #E6EFC2;
|
621
|
+
border-color: #C6D880;
|
622
|
+
color: #264409;
|
623
|
+
}
|
624
|
+
|
625
|
+
.success a {
|
626
|
+
color: #264409;
|
627
|
+
}
|
628
|
+
|
629
|
+
/* @end */
|
630
|
+
|
631
|
+
/* @group Microformats */
|
632
|
+
|
633
|
+
.box {
|
634
|
+
border: 1px solid #D3D3D3;
|
635
|
+
margin: 1em 0em;
|
636
|
+
padding: 10px;
|
637
|
+
}
|
638
|
+
|
639
|
+
.box:hover {
|
640
|
+
border: 1px solid #999;
|
641
|
+
}
|
642
|
+
|
643
|
+
.box .preview {
|
644
|
+
float: left;
|
645
|
+
margin: 0 15px 0 0;
|
646
|
+
width: 200px;
|
647
|
+
}
|
648
|
+
|
649
|
+
.box .content {
|
650
|
+
}
|
651
|
+
|
652
|
+
.box .content h2 {
|
653
|
+
font-size: 16px!important;
|
654
|
+
margin: 0 0 10px 0!important;
|
655
|
+
}
|
656
|
+
|
657
|
+
.box .content h3 {
|
658
|
+
font-size: 14px!important;
|
659
|
+
margin: 0 0 10px 0!important;
|
660
|
+
}
|
661
|
+
|
662
|
+
.box .content blockquote p {
|
663
|
+
font-size: 16px!important;
|
664
|
+
}
|
665
|
+
|
666
|
+
.box .content p {
|
667
|
+
font-size: 12px!important;
|
668
|
+
margin: 0 0 10px 0!important;
|
669
|
+
}
|
670
|
+
|
671
|
+
.box .content ul {
|
672
|
+
margin: 0 0 10px 20px!important;
|
673
|
+
}
|
674
|
+
|
675
|
+
.box .metadata {
|
676
|
+
float: left;
|
677
|
+
width: 350px;
|
678
|
+
}
|
679
|
+
|
680
|
+
.box .metadata ul {
|
681
|
+
margin: 0!important;
|
682
|
+
padding: 0!important;
|
683
|
+
}
|
684
|
+
|
685
|
+
.box .metadata ul li {
|
686
|
+
list-style: none!important;
|
687
|
+
}
|
688
|
+
|
689
|
+
.box .actions {
|
690
|
+
float: right;
|
691
|
+
position: relative;
|
692
|
+
top: 0;
|
693
|
+
right: 0;
|
694
|
+
text-align: right;
|
695
|
+
}
|
696
|
+
|
697
|
+
.box .actions ul {
|
698
|
+
margin: 0!important;
|
699
|
+
}
|
700
|
+
|
701
|
+
.box .actions ul li {
|
702
|
+
display: inline;
|
703
|
+
list-style: none!important;
|
704
|
+
}
|
705
|
+
|
706
|
+
/* @end */
|
707
|
+
|
708
|
+
/* @group Clean Me */
|
709
|
+
|
710
|
+
.box_relationships {
|
711
|
+
border-top: 1px dotted #D3D3D3;
|
712
|
+
padding: 1.5em 0em;
|
713
|
+
}
|
714
|
+
|
715
|
+
/* @end */
|
716
|
+
|
717
|
+
/* @group Hacks */
|
718
|
+
|
719
|
+
.clear {
|
720
|
+
clear: both;
|
721
|
+
}
|
722
|
+
|
723
|
+
.tip {
|
724
|
+
color: #666;
|
725
|
+
font-size: 10px;
|
726
|
+
margin: -10px 0 10px 0!important;
|
727
|
+
}
|
728
|
+
|
729
|
+
/* @end */
|