locomotivecms 3.0.0.pre.alpha.2 → 3.0.0.pre.alpha.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +3 -2
- data/README.md +1 -1
- data/app/api/locomotive/api/forms/membership_form.rb +13 -0
- data/app/api/locomotive/api/resources/membership_resource.rb +5 -3
- data/app/assets/javascripts/locomotive.js +2 -0
- data/app/assets/javascripts/locomotive/utils/backbone_patches.js.coffee +15 -1
- data/app/assets/javascripts/locomotive/utils/file.js.coffee +20 -0
- data/app/assets/javascripts/locomotive/utils/nprogress.js.coffee +5 -0
- data/app/assets/javascripts/locomotive/utils/rails_ujs.js.coffee +36 -0
- data/app/assets/javascripts/locomotive/utils/wysihtml5.js.coffee +1 -1
- data/app/assets/javascripts/locomotive/views/content_assets/picker_view.js.coffee +9 -17
- data/app/assets/javascripts/locomotive/views/editable_elements/edit_view.js.coffee +39 -0
- data/app/assets/javascripts/locomotive/views/editable_elements/index_view.js.coffee +104 -1
- data/app/assets/javascripts/locomotive/views/inputs/file_view.js.coffee +79 -10
- data/app/assets/javascripts/locomotive/views/inputs/rte/file_view.js.coffee +24 -4
- data/app/assets/javascripts/locomotive/views/inputs/rte_view.js.coffee.erb +18 -0
- data/app/assets/javascripts/locomotive/views/pages/new_view.js.coffee +3 -6
- data/app/assets/javascripts/locomotive/views/shared/drawer_view.js.coffee +24 -8
- data/app/assets/javascripts/locomotive/views/shared/form_view.js.coffee +21 -148
- data/app/assets/stylesheets/locomotive/application.scss +6 -0
- data/app/assets/stylesheets/locomotive/base/_form.scss +1 -0
- data/app/assets/stylesheets/locomotive/base/form/_base.scss +9 -0
- data/app/assets/stylesheets/locomotive/base/form/_file_input.scss +1 -1
- data/app/assets/stylesheets/locomotive/base/form/_link.scss +13 -0
- data/app/assets/stylesheets/locomotive/base/form/_select2.scss +28 -1
- data/app/assets/stylesheets/locomotive/components/_drawer.scss +8 -18
- data/app/assets/stylesheets/locomotive/components/_live_editing.scss +83 -0
- data/app/assets/stylesheets/locomotive/components/_transitions.scss +63 -1
- data/app/assets/stylesheets/locomotive/components/header/_base.scss +5 -1
- data/app/assets/stylesheets/locomotive/components/misc/_notify.scss +5 -7
- data/app/assets/stylesheets/locomotive/globals/_bootstrap.scss +4 -4
- data/app/assets/stylesheets/locomotive/globals/_mixins.scss +16 -0
- data/app/assets/stylesheets/locomotive/globals/_nprogress.scss +3 -0
- data/app/assets/stylesheets/locomotive/globals/_variables.scss +57 -49
- data/app/assets/stylesheets/locomotive/layouts/_live_editing.scss +29 -0
- data/app/controllers/locomotive/editable_elements_controller.rb +49 -2
- data/app/controllers/locomotive/pages_controller.rb +2 -2
- data/app/helpers/locomotive/custom_fields_helper.rb +1 -1
- data/app/helpers/locomotive/editable_elements_helper.rb +40 -0
- data/app/helpers/locomotive/pages_helper.rb +0 -1
- data/app/inputs/locomotive/array_input.rb +1 -1
- data/app/inputs/locomotive/file_input.rb +35 -7
- data/app/inputs/locomotive/rte_input.rb +2 -1
- data/app/inputs/locomotive/toggle_input.rb +1 -1
- data/app/models/locomotive/concerns/content_entry/localized.rb +4 -4
- data/app/models/locomotive/concerns/content_type/sync.rb +0 -5
- data/app/models/locomotive/concerns/page/redirect.rb +1 -1
- data/app/models/locomotive/content_entry.rb +5 -11
- data/app/models/locomotive/content_type.rb +22 -0
- data/app/models/locomotive/editable_control.rb +12 -27
- data/app/models/locomotive/editable_element.rb +8 -0
- data/app/models/locomotive/editable_file.rb +0 -1
- data/app/models/locomotive/editable_text.rb +10 -10
- data/app/models/locomotive/page.rb +1 -1
- data/app/policies/locomotive/page_policy.rb +1 -1
- data/app/services/locomotive/editable_element_service.rb +47 -0
- data/app/services/locomotive/page_parsing_service.rb +85 -31
- data/app/uploaders/locomotive/editable_file_uploader.rb +5 -1
- data/app/views/locomotive/editable_elements/_edit.html.haml +49 -0
- data/app/views/locomotive/editable_elements/_edit_with_content_entry.html.haml +21 -0
- data/app/views/locomotive/editable_elements/_form.html.haml +23 -0
- data/app/views/locomotive/editable_elements/index.html.haml +8 -2
- data/app/views/locomotive/editable_elements/index_without_preview.html.haml +33 -0
- data/app/views/locomotive/layouts/{preview.html.haml → live_editing.html.haml} +9 -9
- data/app/views/locomotive/my_account/form/_main.html.haml +1 -1
- data/app/views/locomotive/pages/form/_actions.html.haml +8 -1
- data/app/views/locomotive/pages/form/_main.html.haml +1 -1
- data/app/views/locomotive/pages/form/_tabs.html.haml +2 -2
- data/app/views/locomotive/pages/new.html.haml +1 -1
- data/app/views/locomotive/shared/header/_site.html.haml +1 -1
- data/app/views/locomotive/shared/rte/_image_popover.html.haml +2 -2
- data/app/views/locomotive/shared/rte/_link_popover.html.haml +1 -1
- data/app/views/locomotive/shared/sidebar/_page.html.haml +5 -2
- data/config/locales/admin_ui.en.yml +10 -16
- data/config/locales/inputs.en.yml +18 -11
- data/config/locales/simple_form.en.yml +13 -1
- data/config/routes.rb +3 -1
- data/lib/locomotive.rb +1 -1
- data/lib/locomotive/action_controller/responder.rb +16 -0
- data/lib/locomotive/carrierwave/patches.rb +54 -0
- data/lib/locomotive/dependencies.rb +1 -0
- data/lib/locomotive/engine.rb +9 -3
- data/lib/locomotive/middlewares.rb +1 -1
- data/lib/locomotive/middlewares/page_editing.rb +41 -0
- data/lib/locomotive/middlewares/site.rb +2 -0
- data/lib/locomotive/simple_form.rb +6 -5
- data/lib/locomotive/steam_adaptor.rb +2 -0
- data/lib/locomotive/version.rb +1 -1
- data/lib/tasks/development.rake +4 -0
- data/spec/dummy/config/environments/production.rb +2 -0
- data/spec/dummy/config/initializers/devise.rb +2 -0
- data/spec/dummy/config/mongoid.yml +2 -2
- data/spec/models/locomotive/content_entry_spec.rb +11 -2
- data/spec/support/factories.rb +0 -1
- data/vendor/assets/javascripts/locomotive/history.js +2122 -0
- data/vendor/assets/javascripts/locomotive/subscribe.js +206 -329
- metadata +44 -127
- data/lib/locomotive/middlewares/permalink.rb +0 -22
- data/lib/locomotive/previous_liquid/asset_host.rb +0 -51
- data/lib/locomotive/previous_liquid/drops/base.rb +0 -40
- data/lib/locomotive/previous_liquid/drops/content_entry.rb +0 -78
- data/lib/locomotive/previous_liquid/drops/content_types.rb +0 -119
- data/lib/locomotive/previous_liquid/drops/current_user.rb +0 -21
- data/lib/locomotive/previous_liquid/drops/page.rb +0 -115
- data/lib/locomotive/previous_liquid/drops/proxy_collection.rb +0 -64
- data/lib/locomotive/previous_liquid/drops/session_proxy.rb +0 -16
- data/lib/locomotive/previous_liquid/drops/site.rb +0 -29
- data/lib/locomotive/previous_liquid/drops/uploader.rb +0 -21
- data/lib/locomotive/previous_liquid/errors.rb +0 -8
- data/lib/locomotive/previous_liquid/filters/base.rb +0 -61
- data/lib/locomotive/previous_liquid/filters/date.rb +0 -82
- data/lib/locomotive/previous_liquid/filters/html.rb +0 -117
- data/lib/locomotive/previous_liquid/filters/misc.rb +0 -75
- data/lib/locomotive/previous_liquid/filters/resize.rb +0 -18
- data/lib/locomotive/previous_liquid/filters/text.rb +0 -53
- data/lib/locomotive/previous_liquid/filters/translate.rb +0 -38
- data/lib/locomotive/previous_liquid/patches.rb +0 -21
- data/lib/locomotive/previous_liquid/tags/consume.rb +0 -104
- data/lib/locomotive/previous_liquid/tags/csrf.rb +0 -40
- data/lib/locomotive/previous_liquid/tags/editable.rb +0 -4
- data/lib/locomotive/previous_liquid/tags/editable/base.rb +0 -88
- data/lib/locomotive/previous_liquid/tags/editable/control.rb +0 -41
- data/lib/locomotive/previous_liquid/tags/editable/file.rb +0 -43
- data/lib/locomotive/previous_liquid/tags/editable/text.rb +0 -79
- data/lib/locomotive/previous_liquid/tags/extends.rb +0 -47
- data/lib/locomotive/previous_liquid/tags/fetch_page.rb +0 -36
- data/lib/locomotive/previous_liquid/tags/google_analytics.rb +0 -39
- data/lib/locomotive/previous_liquid/tags/hybrid.rb +0 -25
- data/lib/locomotive/previous_liquid/tags/inherited_block.rb +0 -31
- data/lib/locomotive/previous_liquid/tags/inline_editor.rb +0 -40
- data/lib/locomotive/previous_liquid/tags/javascript.rb +0 -16
- data/lib/locomotive/previous_liquid/tags/link_to.rb +0 -43
- data/lib/locomotive/previous_liquid/tags/locale_switcher.rb +0 -83
- data/lib/locomotive/previous_liquid/tags/model_form.rb +0 -75
- data/lib/locomotive/previous_liquid/tags/nav.rb +0 -164
- data/lib/locomotive/previous_liquid/tags/paginate.rb +0 -114
- data/lib/locomotive/previous_liquid/tags/path_helper.rb +0 -85
- data/lib/locomotive/previous_liquid/tags/path_to.rb +0 -21
- data/lib/locomotive/previous_liquid/tags/seo.rb +0 -72
- data/lib/locomotive/previous_liquid/tags/session_assign.rb +0 -39
- data/lib/locomotive/previous_liquid/tags/snippet.rb +0 -75
- data/lib/locomotive/previous_liquid/tags/with_scope.rb +0 -65
- data/spec/fixtures/portfolio/Gemfile +0 -21
- data/spec/fixtures/portfolio/app/content_types/messages.yml +0 -57
- data/spec/fixtures/portfolio/app/content_types/projects.yml +0 -74
- data/spec/fixtures/portfolio/app/views/pages/404.liquid.haml +0 -10
- data/spec/fixtures/portfolio/app/views/pages/index.liquid.haml +0 -213
- data/spec/fixtures/portfolio/app/views/snippets/footer.liquid.haml +0 -2
- data/spec/fixtures/portfolio/config.ru +0 -3
- data/spec/fixtures/portfolio/config/deploy.yml +0 -18
- data/spec/fixtures/portfolio/config/site.yml +0 -33
- data/spec/fixtures/portfolio/config/translations.yml +0 -8
- data/spec/fixtures/portfolio/data/messages.yml +0 -1
- data/spec/fixtures/portfolio/data/projects.yml +0 -41
- data/spec/fixtures/portfolio/icon.png +0 -0
- data/spec/fixtures/portfolio/public/javascripts/bootstrap.min.js +0 -6
- data/spec/fixtures/portfolio/public/javascripts/cbpAnimatedHeader.js +0 -44
- data/spec/fixtures/portfolio/public/javascripts/cbpAnimatedHeader.min.js +0 -11
- data/spec/fixtures/portfolio/public/javascripts/classie.js +0 -80
- data/spec/fixtures/portfolio/public/javascripts/contact_me.js +0 -65
- data/spec/fixtures/portfolio/public/javascripts/freelancer.js +0 -37
- data/spec/fixtures/portfolio/public/javascripts/jqBootstrapValidation.js +0 -912
- data/spec/fixtures/portfolio/public/samples/portfolio/cabin.png +0 -0
- data/spec/fixtures/portfolio/public/samples/portfolio/cake.png +0 -0
- data/spec/fixtures/portfolio/public/samples/portfolio/circus.png +0 -0
- data/spec/fixtures/portfolio/public/samples/portfolio/game.png +0 -0
- data/spec/fixtures/portfolio/public/samples/portfolio/safe.png +0 -0
- data/spec/fixtures/portfolio/public/samples/portfolio/submarine.png +0 -0
- data/spec/fixtures/portfolio/public/samples/profile.png +0 -0
- data/spec/fixtures/portfolio/public/stylesheets/bootstrap.min.css +0 -7
- data/spec/fixtures/portfolio/public/stylesheets/freelancer.css +0 -445
- data/spec/lib/locomotive/liquid/tags/editable/file_spec.rb +0 -72
- data/spec/lib/locomotive/liquid/tags/editable/text_spec.rb +0 -85
- data/spec/lib/locomotive/liquid/tags/extends_spec.rb +0 -58
- data/vendor/assets/javascripts/locomotive/editable_field.js +0 -50
- data/vendor/assets/javascripts/locomotive/form_submit_notification.js +0 -39
- data/vendor/assets/javascripts/locomotive/slugify.js +0 -47
@@ -1,21 +0,0 @@
|
|
1
|
-
# source 'https://rubygems.org'
|
2
|
-
#
|
3
|
-
# gem 'locomotivecms_wagon', '1.5.0.rc2'
|
4
|
-
#
|
5
|
-
# group :development do
|
6
|
-
# # Mac OS X
|
7
|
-
# gem 'rb-fsevent', '~> 0.9.1', require: RUBY_PLATFORM.include?('darwin') && 'rb-fsevent'
|
8
|
-
#
|
9
|
-
# # Unix
|
10
|
-
# gem 'therubyracer', require: 'v8', platforms: :ruby unless RUBY_PLATFORM.include?('darwin')
|
11
|
-
# gem 'rb-inotify', '~> 0.9', require: RUBY_PLATFORM.include?('linux') && 'rb-inotify'
|
12
|
-
#
|
13
|
-
# # Windows
|
14
|
-
# gem 'wdm', '>= 0.1.0', require: RUBY_PLATFORM =~ /mswin|mingw/i && 'wdm'
|
15
|
-
# end
|
16
|
-
#
|
17
|
-
# group :misc do
|
18
|
-
# # Add your extra gems here
|
19
|
-
# # gem 'susy', require: 'susy'
|
20
|
-
# # gem 'redcarpet', require: 'redcarpet'
|
21
|
-
# end
|
@@ -1,57 +0,0 @@
|
|
1
|
-
# Human readable name of this type
|
2
|
-
name: Messages
|
3
|
-
|
4
|
-
# Lowercase, underscored handle used to access this type
|
5
|
-
slug: messages
|
6
|
-
|
7
|
-
# Explanatory text displayed in the back-office
|
8
|
-
description: A description of the content type for the editors
|
9
|
-
|
10
|
-
# Slug of field used to identify entries by default, such as the title
|
11
|
-
label_field_name: name
|
12
|
-
|
13
|
-
# Valid values: manually, created_at, updated_at, or the slug of any field
|
14
|
-
order_by: manually
|
15
|
-
|
16
|
-
# Valid values: asc (ascending) and desc (descending). Set to asc by default.
|
17
|
-
# order_direction: asc
|
18
|
-
|
19
|
-
# Specify a field slug to group entries by that field in the back-office.
|
20
|
-
# group_by: <your field>
|
21
|
-
|
22
|
-
# Activate public 'create' API (e.g for a contact form)
|
23
|
-
public_submission_enabled: true
|
24
|
-
|
25
|
-
# Array of emails to be notified of new entries made with the public API
|
26
|
-
# public_submission_accounts: ['john@example.com']
|
27
|
-
|
28
|
-
# A list describing each field
|
29
|
-
fields:
|
30
|
-
- name: # The lowercase, underscored name of the field
|
31
|
-
label: Name # Human readable name of the field
|
32
|
-
type: string
|
33
|
-
required: true
|
34
|
-
hint: Explanatory text displayed in the back office
|
35
|
-
localized: false
|
36
|
-
|
37
|
-
- email: # The lowercase, underscored name of the field
|
38
|
-
label: Email # Human readable name of the field
|
39
|
-
type: email
|
40
|
-
required: false
|
41
|
-
hint: Explanatory text displayed in the back office
|
42
|
-
localized: false
|
43
|
-
|
44
|
-
- phone: # The lowercase, underscored name of the field
|
45
|
-
label: Phone # Human readable name of the field
|
46
|
-
type: string
|
47
|
-
required: false
|
48
|
-
hint: Explanatory text displayed in the back office
|
49
|
-
localized: false
|
50
|
-
|
51
|
-
- message: # The lowercase, underscored name of the field
|
52
|
-
label: Message # Human readable name of the field
|
53
|
-
type: text
|
54
|
-
required: false
|
55
|
-
hint: Explanatory text displayed in the back office
|
56
|
-
localized: false
|
57
|
-
# text_formatting: html # html (uses rich text editor) or text (uses plain text editor)
|
@@ -1,74 +0,0 @@
|
|
1
|
-
# Human readable name of this type
|
2
|
-
name: Projects
|
3
|
-
|
4
|
-
# Lowercase, underscored handle used to access this type
|
5
|
-
slug: projects
|
6
|
-
|
7
|
-
# Explanatory text displayed in the back-office
|
8
|
-
description: A description of the content type for the editors
|
9
|
-
|
10
|
-
# Slug of field used to identify entries by default, such as the title
|
11
|
-
label_field_name: name
|
12
|
-
|
13
|
-
# Valid values: manually, created_at, updated_at, or the slug of any field
|
14
|
-
order_by: manually
|
15
|
-
|
16
|
-
# Valid values: asc (ascending) and desc (descending). Set to asc by default.
|
17
|
-
# order_direction: asc
|
18
|
-
|
19
|
-
# Specify a field slug to group entries by that field in the back-office.
|
20
|
-
# group_by: <your field>
|
21
|
-
|
22
|
-
# Activate public 'create' API (e.g for a contact form)
|
23
|
-
# public_submission_enabled: false
|
24
|
-
|
25
|
-
# Array of emails to be notified of new entries made with the public API
|
26
|
-
# public_submission_accounts: ['john@example.com']
|
27
|
-
|
28
|
-
# A list describing each field
|
29
|
-
fields:
|
30
|
-
- name: # The lowercase, underscored name of the field
|
31
|
-
label: Name # Human readable name of the field
|
32
|
-
type: string
|
33
|
-
required: true
|
34
|
-
hint: Explanatory text displayed in the back office
|
35
|
-
localized: false
|
36
|
-
|
37
|
-
- description: # The lowercase, underscored name of the field
|
38
|
-
label: Description # Human readable name of the field
|
39
|
-
type: text
|
40
|
-
required: false
|
41
|
-
hint: Explanatory text displayed in the back office
|
42
|
-
localized: false
|
43
|
-
text_formatting: html # html (uses rich text editor) or text (uses plain text editor)
|
44
|
-
|
45
|
-
- image: # The lowercase, underscored name of the field
|
46
|
-
label: Image # Human readable name of the field
|
47
|
-
type: file
|
48
|
-
required: false
|
49
|
-
hint: Explanatory text displayed in the back office
|
50
|
-
localized: false
|
51
|
-
|
52
|
-
- client: # The lowercase, underscored name of the field
|
53
|
-
label: "Client's name" # Human readable name of the field
|
54
|
-
type: string
|
55
|
-
required: false
|
56
|
-
hint: Explanatory text displayed in the back office
|
57
|
-
localized: false
|
58
|
-
|
59
|
-
- date: # The lowercase, underscored name of the field
|
60
|
-
label: Date # Human readable name of the field
|
61
|
-
type: date
|
62
|
-
required: false
|
63
|
-
hint: Explanatory text displayed in the back office
|
64
|
-
localized: false
|
65
|
-
|
66
|
-
- category: # The lowercase, underscored name of the field
|
67
|
-
label: Category # Human readable name of the field
|
68
|
-
type: select
|
69
|
-
required: false
|
70
|
-
hint: Explanatory text displayed in the back office
|
71
|
-
localized: false # if localized, use
|
72
|
-
# en: ['option1_en', 'option2_en']
|
73
|
-
# fr: ['option1_fr', 'option2_fr']
|
74
|
-
select_options: ['Hardware', 'Interface', 'Marketing']
|
@@ -1,213 +0,0 @@
|
|
1
|
-
---
|
2
|
-
title: My portfolio
|
3
|
-
published: true
|
4
|
-
---
|
5
|
-
!!!
|
6
|
-
%html{lang: "en"}
|
7
|
-
%head
|
8
|
-
%meta{content: "text/html; charset=UTF-8", "http-equiv" => "content-type"}/
|
9
|
-
%meta{charset: "utf-8"}/
|
10
|
-
%title {{ site.name }}
|
11
|
-
%meta{content: "width=device-width, initial-scale=1, maximum-scale=1", name: "viewport"}/
|
12
|
-
|
13
|
-
%link{ href: "http://fonts.googleapis.com/css?family=Montserrat:400,700", rel: "stylesheet", type: "text/css" }
|
14
|
-
%link{ href: "http://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic", rel: "stylesheet", type: "text/css" }
|
15
|
-
%link{ href: "//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css", rel: "stylesheet", type: "text/css" }
|
16
|
-
|
17
|
-
|
18
|
-
{{ 'bootstrap.min.css' | stylesheet_tag }}
|
19
|
-
{{ 'freelancer.css' | stylesheet_tag }}
|
20
|
-
/[if lt IE 9]
|
21
|
-
<script src="//html5shim.googlecode.com/svn/trunk/html5.js"></script>
|
22
|
-
|
23
|
-
{% inline_editor %}
|
24
|
-
|
25
|
-
%body#page-top.index
|
26
|
-
%nav.navbar.navbar-default.navbar-fixed-top
|
27
|
-
.container
|
28
|
-
/ Brand and toggle get grouped for better mobile display
|
29
|
-
.navbar-header.page-scroll
|
30
|
-
%button.navbar-toggle{"data-target" => "#bs-example-navbar-collapse-1", "data-toggle" => "collapse", type: "button"}
|
31
|
-
%span.sr-only Toggle navigation
|
32
|
-
%span.icon-bar
|
33
|
-
%span.icon-bar
|
34
|
-
%span.icon-bar
|
35
|
-
%a.navbar-brand{href: "#page-top" } {{ site.name }}
|
36
|
-
/ Collect the nav links, forms, and other content for toggling
|
37
|
-
.collapse.navbar-collapse#bs-example-navbar-collapse-1
|
38
|
-
%ul.nav.navbar-nav.navbar-right
|
39
|
-
%li.hidden
|
40
|
-
%a{href: "#page-top"}
|
41
|
-
%li
|
42
|
-
%a{href: "#portfolio"} Portfolio
|
43
|
-
%li
|
44
|
-
%a{href: "#about"} About
|
45
|
-
%li
|
46
|
-
%a{href: "#contact"} Contact
|
47
|
-
|
48
|
-
%header
|
49
|
-
.container
|
50
|
-
.row
|
51
|
-
.col-lg-12
|
52
|
-
{% block header %}
|
53
|
-
%img.img-responsive{ src: "{% editable_file picture %}http://placehold.it/256x256{% endeditable_file %}" }
|
54
|
-
.intro-text
|
55
|
-
%span.name {% editable_text name, format: raw, rows: 1 %}John Doe{% endeditable_text %}
|
56
|
-
%hr.star-light
|
57
|
-
%span.skills {% editable_text skills format: raw, rows: 1 %}Web Developer - Wagon user{% endeditable_text %}
|
58
|
-
{% endblock %}
|
59
|
-
|
60
|
-
%section#portfolio
|
61
|
-
.container
|
62
|
-
.row
|
63
|
-
.col-lg-12.text-center
|
64
|
-
%h2 Portfolio
|
65
|
-
%hr.star-primary
|
66
|
-
|
67
|
-
.row
|
68
|
-
{% for project in contents.projects %}
|
69
|
-
.col-sm-4.portfolio-item
|
70
|
-
%a.portfolio-link{ href: "#portfolioModal{{ project._position }}", data: { toggle: 'modal' } }
|
71
|
-
.caption
|
72
|
-
.caption-content
|
73
|
-
%i.fa.fa-search-plus.fa-3x
|
74
|
-
%img.img-responsive{ src: "{{ project.image.url }}" }
|
75
|
-
{% endfor %}
|
76
|
-
|
77
|
-
%section.success#about
|
78
|
-
.container
|
79
|
-
{% block about %}
|
80
|
-
.row
|
81
|
-
.col-lg-12.text-center
|
82
|
-
%h2 About
|
83
|
-
%hr.star-light
|
84
|
-
.row
|
85
|
-
.col-lg-4.col-lg-offset-2
|
86
|
-
{% editable_text column_1, format: html %}
|
87
|
-
%p Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus tempus sapien sed varius tempus. Vivamus viverra arcu nec augue blandit, in ultricies nibh lobortis. Aliquam erat volutpat.
|
88
|
-
{% endeditable_text %}
|
89
|
-
.col-lg-4
|
90
|
-
{% editable_text column_2, format: html %}
|
91
|
-
%p Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus tempus sapien sed varius tempus. Vivamus viverra arcu nec augue blandit, in ultricies nibh lobortis. Aliquam erat volutpat.
|
92
|
-
{% endeditable_text %}
|
93
|
-
{% endblock %}
|
94
|
-
|
95
|
-
%section#contact
|
96
|
-
.container
|
97
|
-
.row
|
98
|
-
.col-lg-12.text-center
|
99
|
-
%h2 Contact Me
|
100
|
-
%hr.star-primary
|
101
|
-
.row
|
102
|
-
.col-lg-8.col-lg-offset-2
|
103
|
-
%form#contactForm{name: "sentMessage", novalidate: "", action: '{{contents.messages.public_submission_url}}.json' }
|
104
|
-
{% csrf_param %}
|
105
|
-
%input{ type: 'hidden', value: '/', name: 'success_callback' }
|
106
|
-
%input{ type: 'hidden', value: '/', name: 'error_callback' }
|
107
|
-
|
108
|
-
.row.control-group
|
109
|
-
.form-group.col-xs-12.floating-label-form-group.controls
|
110
|
-
%label Name
|
111
|
-
%input#name.form-control{"data-validation-required-message" => "Please enter your name.", placeholder: "Name", required: "", type: "text", name: 'content[name]'}
|
112
|
-
%p.help-block.text-danger
|
113
|
-
.row.control-group
|
114
|
-
.form-group.col-xs-12.floating-label-form-group.controls
|
115
|
-
%label Email Address
|
116
|
-
%input#email.form-control{"data-validation-required-message" => "Please enter your email address.", placeholder: "Email Address", required: "", type: "email", name: 'content[email]'}
|
117
|
-
%p.help-block.text-danger
|
118
|
-
.row.control-group
|
119
|
-
.form-group.col-xs-12.floating-label-form-group.controls
|
120
|
-
%label Phone Number
|
121
|
-
%input#phone.form-control{"data-validation-required-message" => "Please enter your phone number.", placeholder: "Phone Number", required: "", type: "tel", name: 'content[phone]'}
|
122
|
-
%p.help-block.text-danger
|
123
|
-
.row.control-group
|
124
|
-
.form-group.col-xs-12.floating-label-form-group.controls
|
125
|
-
%label Message
|
126
|
-
%textarea#message.form-control{"data-validation-required-message" => "Please enter a message.", placeholder: "Message", required: "", rows: "5", name: 'content[message]'}
|
127
|
-
%p.help-block.text-danger
|
128
|
-
%br
|
129
|
-
#success
|
130
|
-
.row
|
131
|
-
.form-group.col-xs-12
|
132
|
-
%button.btn.btn-success.btn-lg{type: "submit"} Send
|
133
|
-
|
134
|
-
|
135
|
-
%footer.text-center
|
136
|
-
.footer-above
|
137
|
-
{% block footer %}
|
138
|
-
.container
|
139
|
-
.row
|
140
|
-
.footer-col.col-md-4
|
141
|
-
{% editable_text location, format: html %}
|
142
|
-
%h3 Location
|
143
|
-
%p
|
144
|
-
700 South Laflin Street
|
145
|
-
%br
|
146
|
-
Chicago, IL 60607
|
147
|
-
{% endeditable_text %}
|
148
|
-
.footer-col.col-md-4
|
149
|
-
%h3 Around the web
|
150
|
-
%ul.list-inline
|
151
|
-
- %w(facebook google-plus twitter linkedin dribbble).each do |social|
|
152
|
-
%li
|
153
|
-
%a.btn-social.btn-outline{ href: "{% editable_text #{social} %}#{social}{% endeditable_text %}" }
|
154
|
-
%i.fa.fa-fw{ class: "fa-#{social}"}
|
155
|
-
.footer-col.col-md-4
|
156
|
-
{% editable_text about_freelancer %}
|
157
|
-
%h3 About Freelancer
|
158
|
-
%p
|
159
|
-
Freelance is a free to use, open source Bootstrap theme created by <a href="http://startbootstrap.com">Start Bootstrap</a>
|
160
|
-
{% endeditable_text %}
|
161
|
-
{% endblock %}
|
162
|
-
.footer-below
|
163
|
-
.container
|
164
|
-
.row
|
165
|
-
.col-lg-12
|
166
|
-
Copyright © John Doe {{ today | format_date: '%Y' }}
|
167
|
-
|
168
|
-
.scroll-top.page-scroll.visible-xs.visble-sm
|
169
|
-
%a.btn.btn-primary{ href: '#page-top' }
|
170
|
-
%i.fa.fa-chevron-up
|
171
|
-
|
172
|
-
{% for project in contents.projects %}
|
173
|
-
.portfolio-modal.modal.fade{ id: "portfolioModal{{ project._position }}", tabindex: -1, role: 'dialog', aria: { hidden: true } }
|
174
|
-
.modal-content
|
175
|
-
.close-modal{ data: { dismiss: 'modal' } }
|
176
|
-
.lr
|
177
|
-
.rl
|
178
|
-
.container
|
179
|
-
.row
|
180
|
-
.col-lg-8.col-lg-offset-2
|
181
|
-
.modal-body
|
182
|
-
%h2 {{ project.name }}
|
183
|
-
%hr.star-primary
|
184
|
-
%img.img-responsive.img-centered{ src: '{{ project.image.url }}' }
|
185
|
-
.text
|
186
|
-
{{ project.description }}
|
187
|
-
%ul.list-inline.item-details
|
188
|
-
%li
|
189
|
-
Client:
|
190
|
-
%strong {{ project.client }}
|
191
|
-
%li
|
192
|
-
Date:
|
193
|
-
%strong {{ project.date | format_date: '%B %Y' }}
|
194
|
-
%li
|
195
|
-
Category:
|
196
|
-
%strong {{ project.category }}
|
197
|
-
%button.btn.btn-default{ type: 'button', data: { dismiss: 'modal' } }
|
198
|
-
%i.fa.fa-times
|
199
|
-
Close
|
200
|
-
{% endfor %}
|
201
|
-
|
202
|
-
%script{src: "//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js", type: "text/javascript"}
|
203
|
-
{{ 'bootstrap.min.js' | javascript_tag }}
|
204
|
-
|
205
|
-
%script{src: "//cdnjs.cloudflare.com/ajax/libs/jquery-easing/1.3/jquery.easing.min.js", type: "text/javascript"}
|
206
|
-
|
207
|
-
{{ 'classie.js' | javascript_tag }}
|
208
|
-
{{ 'cbpAnimatedHeader.js' | javascript_tag }}
|
209
|
-
|
210
|
-
{{ 'jqBootstrapValidation.js' | javascript_tag }}
|
211
|
-
{{ 'contact_me.js' | javascript_tag }}
|
212
|
-
|
213
|
-
{{ 'freelancer.js' | javascript_tag }}
|
@@ -1,18 +0,0 @@
|
|
1
|
-
# development:
|
2
|
-
# host: dev.example.com
|
3
|
-
# email: john@doe.net
|
4
|
-
# password: apassword
|
5
|
-
# # api_key: <your api key here>
|
6
|
-
# staging:
|
7
|
-
# host: staging.example.com
|
8
|
-
# email: john@doe.net
|
9
|
-
# password: apassword
|
10
|
-
# # api_key: <your api key here>
|
11
|
-
# production:
|
12
|
-
# host: www.example.com
|
13
|
-
# email: john@doe.net
|
14
|
-
# password: apassword
|
15
|
-
# # api_key: <your api key here>
|
16
|
-
hosting:
|
17
|
-
host: pink-lighthouse-82.locomotivehosting.com
|
18
|
-
api_key: 79a4e02385e5d46da2a7ef7aeb5650f325c101a5
|
@@ -1,33 +0,0 @@
|
|
1
|
-
# The name of this site
|
2
|
-
# This text displays in the back-office and
|
3
|
-
# can be used in templates through the site.name global variable
|
4
|
-
name: "My portfolio"
|
5
|
-
|
6
|
-
# The site's subdomain
|
7
|
-
# This option is for sites on multi-site engines
|
8
|
-
# The value determines where the site can be accessed under the engine's primary domain
|
9
|
-
# subdomain: my-portfolio
|
10
|
-
|
11
|
-
# An array of domain aliases for the site
|
12
|
-
# This option is for sites on multi-site engines
|
13
|
-
# domains: [www.example.com, example.com]
|
14
|
-
|
15
|
-
# An array of locales (languages) the site is available in
|
16
|
-
# The locale listed first is the site's default locale
|
17
|
-
# Locales are specified using ISO language codes
|
18
|
-
# Possible locales include: en, de, fr, pl, pt-BR, it, nl, nb, es, ru, et, ja, zh-CN
|
19
|
-
locales: [en]
|
20
|
-
|
21
|
-
# The site's timezone
|
22
|
-
# This converts the server's time to the site's time zone in templates
|
23
|
-
# The TimeZone class from Rail's ActiveSupport is used to interpret the string
|
24
|
-
# Sample timezone strings: Tokyo, Beijing, Moscow, Cairo, Paris, Pacific Time (US & Canada)
|
25
|
-
# timezone: Paris
|
26
|
-
|
27
|
-
# For SEO purposes, sites may wish to add a relevant string to the <title> tag
|
28
|
-
# And include <meta type="keywords"> and <meta type="description">
|
29
|
-
# For this purpose you can set values for these variables here
|
30
|
-
# They can be accessed in templates through the site.seo_title, site.meta_keywords, and site.meta_description variables
|
31
|
-
seo_title: My portfolio
|
32
|
-
meta_keywords: "some meta keywords"
|
33
|
-
meta_description: "some meta description"
|