Merge pull request #176 from witzig/landingpage
Added screenshots and cleaned up landingpage
|
@ -8,12 +8,11 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"POT-Creation-Date: 2017-03-11 12:28+0000\n"
|
||||
"POT-Creation-Date: 2017-03-12 00:22+0000\n"
|
||||
|
||||
#: views/archive/layout.hbs:1
|
||||
#: views/layout.hbs:1
|
||||
#: views/subscription/layout.hbs:1
|
||||
#: routes/index.js:11
|
||||
msgid "Self hosted email newsletter app"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1035,22 +1034,10 @@ msgid "Subscribe"
|
|||
msgstr ""
|
||||
|
||||
#: views/index.hbs:1
|
||||
msgid "Official Mailtrain Partners"
|
||||
msgid "List Management"
|
||||
msgstr ""
|
||||
|
||||
#: views/index.hbs:2
|
||||
msgid "Free, open source mail server solution"
|
||||
msgstr ""
|
||||
|
||||
#: views/index.hbs:3
|
||||
msgid "A reliable SMTP server, easy integration, and 12,000 messages a month free"
|
||||
msgstr ""
|
||||
|
||||
#: views/index.hbs:4
|
||||
msgid "List management"
|
||||
msgstr ""
|
||||
|
||||
#: views/index.hbs:5
|
||||
msgid ""
|
||||
"Mailtrain allows you to easily manage even very large lists. Million "
|
||||
"subscribers? Not a problem. You can add subscribers manually, through the "
|
||||
|
@ -1058,87 +1045,91 @@ msgid ""
|
|||
"fields and merge tags as well."
|
||||
msgstr ""
|
||||
|
||||
#: views/index.hbs:3
|
||||
#: views/index.hbs:6
|
||||
msgid "Custom fields"
|
||||
#: views/index.hbs:9
|
||||
#: views/index.hbs:12
|
||||
#: views/index.hbs:15
|
||||
#: views/index.hbs:18
|
||||
#: views/index.hbs:21
|
||||
#: views/index.hbs:24
|
||||
#: views/index.hbs:27
|
||||
msgid "Show more"
|
||||
msgstr ""
|
||||
|
||||
#: views/index.hbs:7
|
||||
#: views/index.hbs:4
|
||||
#: views/lists/fields/create.hbs:3
|
||||
#: views/lists/fields/edit.hbs:3
|
||||
#: views/lists/fields/fields.hbs:3
|
||||
#: views/lists/fields/fields.hbs:5
|
||||
#: views/lists/view.hbs:5
|
||||
msgid "Custom Fields"
|
||||
msgstr ""
|
||||
|
||||
#: views/index.hbs:5
|
||||
msgid ""
|
||||
"Text fields, numbers, drop downs or checkboxes, Mailtrain has them all. "
|
||||
"Every custom field can be included in the generated newsletters through "
|
||||
"merge tags."
|
||||
msgstr ""
|
||||
|
||||
#: views/index.hbs:8
|
||||
msgid "List segmentation"
|
||||
#: views/index.hbs:7
|
||||
msgid "List Segmentation"
|
||||
msgstr ""
|
||||
|
||||
#: views/index.hbs:9
|
||||
#: views/index.hbs:8
|
||||
msgid ""
|
||||
"Send messages only to list subscribers that match predefined segmentation "
|
||||
"rules. No need to create separate lists with small differences."
|
||||
msgstr ""
|
||||
|
||||
#: views/index.hbs:10
|
||||
msgid "Donate to author"
|
||||
msgstr ""
|
||||
|
||||
#: views/index.hbs:11
|
||||
msgid ""
|
||||
"If you really like Mailtrain or your business benefits from it financially "
|
||||
"then I would really appreciate a small donation to keep the Mailtrain "
|
||||
"development engines running. You can either use Bitcoin or PayPal for "
|
||||
"donations. My Bitcoin wallet is"
|
||||
msgstr ""
|
||||
|
||||
#: views/index.hbs:12
|
||||
msgid "or donate using PayPal"
|
||||
msgstr ""
|
||||
|
||||
#: views/index.hbs:13
|
||||
msgid "RSS Campaigns"
|
||||
msgstr ""
|
||||
|
||||
#: views/index.hbs:14
|
||||
#: views/index.hbs:11
|
||||
msgid ""
|
||||
"Setup Mailtrain to track RSS feeds and if a new entry is detected in a feed "
|
||||
"then Mailtrain auto-generates a new campaign using entry data as message "
|
||||
"contents and sends it to selected subscribers."
|
||||
msgstr ""
|
||||
|
||||
#: views/index.hbs:15
|
||||
#: views/index.hbs:13
|
||||
msgid "GPG Encryption"
|
||||
msgstr ""
|
||||
|
||||
#: views/index.hbs:16
|
||||
#: views/index.hbs:14
|
||||
msgid ""
|
||||
"If a list has a custom field for a GPG Public Key set then subscribers can "
|
||||
"upload their GPG public key to receive encrypted messages from the list."
|
||||
msgstr ""
|
||||
|
||||
#: views/index.hbs:17
|
||||
msgid "Click stats"
|
||||
#: views/index.hbs:16
|
||||
msgid "Click Stats"
|
||||
msgstr ""
|
||||
|
||||
#: views/index.hbs:18
|
||||
#: views/index.hbs:17
|
||||
msgid ""
|
||||
"After a campaign is sent, check individual click statistics for every link "
|
||||
"included in the message."
|
||||
msgstr ""
|
||||
|
||||
#: views/index.hbs:19
|
||||
msgid "Open source"
|
||||
msgid "Template Editors"
|
||||
msgstr ""
|
||||
|
||||
#: views/index.hbs:20
|
||||
msgid "Mailtrain is available under GPLv3 license and completely open source."
|
||||
msgstr ""
|
||||
|
||||
#: views/index.hbs:21
|
||||
msgid "Send via any provider"
|
||||
msgid ""
|
||||
"Mailtrain ships with GrapeJS and Mosaico built in, two advanced template "
|
||||
"editors. Mailtrain also offers a code editor if you prefer to handcraft the "
|
||||
"HTML yourself."
|
||||
msgstr ""
|
||||
|
||||
#: views/index.hbs:22
|
||||
msgid "Send via Any Provider"
|
||||
msgstr ""
|
||||
|
||||
#: views/index.hbs:23
|
||||
msgid ""
|
||||
"Mailtrain recommends <a "
|
||||
"href=\"https://sendpulse.com/?utm_source=mailtrain&utm_medium=providerlist\""
|
||||
|
@ -1148,16 +1139,49 @@ msgid ""
|
|||
"Postfix and ZoneMTA."
|
||||
msgstr ""
|
||||
|
||||
#: views/index.hbs:23
|
||||
msgid "Trigger based automation"
|
||||
#: views/index.hbs:25
|
||||
#: lib/tools.js:123
|
||||
msgid "Automation"
|
||||
msgstr ""
|
||||
|
||||
#: views/index.hbs:24
|
||||
#: views/index.hbs:26
|
||||
msgid ""
|
||||
"Define automation triggers to send specific messages when a user activates "
|
||||
"the trigger."
|
||||
msgstr ""
|
||||
|
||||
#: views/index.hbs:28
|
||||
msgid "Donate to Author"
|
||||
msgstr ""
|
||||
|
||||
#: views/index.hbs:29
|
||||
msgid "Mailtrain is available under GPLv3 license and completely open source."
|
||||
msgstr ""
|
||||
|
||||
#: views/index.hbs:30
|
||||
msgid ""
|
||||
"If you really like Mailtrain or your business benefits from it financially "
|
||||
"then I would really appreciate a small donation to keep the Mailtrain "
|
||||
"development engines running. You can either use Bitcoin or PayPal for "
|
||||
"donations. My Bitcoin wallet is"
|
||||
msgstr ""
|
||||
|
||||
#: views/index.hbs:31
|
||||
msgid "Or Donate Using Paypal"
|
||||
msgstr ""
|
||||
|
||||
#: views/index.hbs:32
|
||||
msgid "Official Mailtrain Partners"
|
||||
msgstr ""
|
||||
|
||||
#: views/index.hbs:33
|
||||
msgid "A reliable SMTP server, easy integration, and 12,000 messages a month free"
|
||||
msgstr ""
|
||||
|
||||
#: views/index.hbs:34
|
||||
msgid "Free, open source mail server solution"
|
||||
msgstr ""
|
||||
|
||||
#: views/layout.hbs:2
|
||||
msgid "Toggle navigation"
|
||||
msgstr ""
|
||||
|
@ -1202,7 +1226,7 @@ msgid "Sign in"
|
|||
msgstr ""
|
||||
|
||||
#: views/layout.hbs:10
|
||||
msgid "Self hosted newsletter app built on top of Nodemailer"
|
||||
msgid "Self Hosted Newsletter App Built on Top of Nodemailer"
|
||||
msgstr ""
|
||||
|
||||
#: views/layout.hbs:11
|
||||
|
@ -1211,7 +1235,7 @@ msgid "Source on GitHub"
|
|||
msgstr ""
|
||||
|
||||
#: views/layout.hbs:12
|
||||
msgid "Subscribe to our newsletter"
|
||||
msgid "Subscribe to Our Newsletter"
|
||||
msgstr ""
|
||||
|
||||
#: views/lists/create.hbs:2
|
||||
|
@ -1272,14 +1296,6 @@ msgstr ""
|
|||
msgid "Delete List"
|
||||
msgstr ""
|
||||
|
||||
#: views/lists/fields/create.hbs:3
|
||||
#: views/lists/fields/edit.hbs:3
|
||||
#: views/lists/fields/fields.hbs:3
|
||||
#: views/lists/fields/fields.hbs:5
|
||||
#: views/lists/view.hbs:5
|
||||
msgid "Custom Fields"
|
||||
msgstr ""
|
||||
|
||||
#: views/lists/fields/create.hbs:4
|
||||
msgid "Create Field"
|
||||
msgstr ""
|
||||
|
@ -1995,6 +2011,10 @@ msgid ""
|
|||
"text value used when <code>TAG_NAME</code> is empty."
|
||||
msgstr ""
|
||||
|
||||
#: views/partials/modal-carousel.hbs:1
|
||||
msgid "{{title}}"
|
||||
msgstr ""
|
||||
|
||||
#: views/partials/mosaico.hbs:2
|
||||
msgid "Open Mosaico"
|
||||
msgstr ""
|
||||
|
@ -3433,10 +3453,6 @@ msgstr ""
|
|||
msgid "Incorrect username or password"
|
||||
msgstr ""
|
||||
|
||||
#: lib/tools.js:123
|
||||
msgid "Automation"
|
||||
msgstr ""
|
||||
|
||||
#: lib/tools.js:133
|
||||
msgid "Blocked email address \"%s\""
|
||||
msgstr ""
|
||||
|
@ -3657,6 +3673,10 @@ msgstr ""
|
|||
msgid "Could not delete specified field"
|
||||
msgstr ""
|
||||
|
||||
#: routes/index.js:11
|
||||
msgid "Self Hosted Newsletter App"
|
||||
msgstr ""
|
||||
|
||||
#: routes/links.js:40
|
||||
msgid "Oops, we couldn't find a link for the URL you clicked"
|
||||
msgstr ""
|
||||
|
|
|
@ -24,3 +24,10 @@
|
|||
margin-left: 220px;
|
||||
}
|
||||
}
|
||||
|
||||
h2 .glyphicon {
|
||||
font-size: .75em;
|
||||
}
|
||||
h3 .glyphicon {
|
||||
font-size: .8em;
|
||||
}
|
||||
|
|
Before Width: | Height: | Size: 72 KiB |
Before Width: | Height: | Size: 108 KiB |
Before Width: | Height: | Size: 88 KiB |
Before Width: | Height: | Size: 90 KiB |
Before Width: | Height: | Size: 87 KiB |
Before Width: | Height: | Size: 71 KiB |
Before Width: | Height: | Size: 99 KiB |
Before Width: | Height: | Size: 95 KiB |
Before Width: | Height: | Size: 101 KiB |
3
public/images/screenshots/README.md
Normal file
|
@ -0,0 +1,3 @@
|
|||
Screenshots taken with:
|
||||
https://derailer.org/paparazzi/
|
||||
format=png w=1024 h=auto
|
BIN
public/images/screenshots/campaigns/campaigns.png
Normal file
After Width: | Height: | Size: 82 KiB |
BIN
public/images/screenshots/campaigns/clicked/view.png
Normal file
After Width: | Height: | Size: 92 KiB |
BIN
public/images/screenshots/campaigns/create-rss.png
Normal file
After Width: | Height: | Size: 126 KiB |
BIN
public/images/screenshots/campaigns/view-links.png
Normal file
After Width: | Height: | Size: 87 KiB |
BIN
public/images/screenshots/campaigns/view-rss.png
Normal file
After Width: | Height: | Size: 152 KiB |
BIN
public/images/screenshots/campaigns/view.png
Normal file
After Width: | Height: | Size: 123 KiB |
BIN
public/images/screenshots/fields/edit-option.png
Normal file
After Width: | Height: | Size: 113 KiB |
BIN
public/images/screenshots/fields/edit.png
Normal file
After Width: | Height: | Size: 136 KiB |
BIN
public/images/screenshots/fields/view.png
Normal file
After Width: | Height: | Size: 90 KiB |
BIN
public/images/screenshots/grapejs/editor-1.png
Normal file
After Width: | Height: | Size: 412 KiB |
BIN
public/images/screenshots/grapejs/editor-2.png
Normal file
After Width: | Height: | Size: 177 KiB |
BIN
public/images/screenshots/grapejs/editor-3.png
Normal file
After Width: | Height: | Size: 317 KiB |
BIN
public/images/screenshots/lists/lists.png
Normal file
After Width: | Height: | Size: 81 KiB |
BIN
public/images/screenshots/lists/subscription/edit.png
Normal file
After Width: | Height: | Size: 123 KiB |
BIN
public/images/screenshots/lists/view.png
Normal file
After Width: | Height: | Size: 113 KiB |
BIN
public/images/screenshots/mosaico/editor-1.png
Normal file
After Width: | Height: | Size: 539 KiB |
BIN
public/images/screenshots/mosaico/editor-2.png
Normal file
After Width: | Height: | Size: 455 KiB |
BIN
public/images/screenshots/mosaico/editor-3.png
Normal file
After Width: | Height: | Size: 494 KiB |
BIN
public/images/screenshots/segments/create.png
Normal file
After Width: | Height: | Size: 78 KiB |
BIN
public/images/screenshots/segments/rules/configure.png
Normal file
After Width: | Height: | Size: 72 KiB |
BIN
public/images/screenshots/segments/rules/create.png
Normal file
After Width: | Height: | Size: 74 KiB |
BIN
public/images/screenshots/segments/view.png
Normal file
After Width: | Height: | Size: 92 KiB |
BIN
public/images/screenshots/settings.png
Normal file
After Width: | Height: | Size: 598 KiB |
BIN
public/images/screenshots/subscription/create.png
Normal file
After Width: | Height: | Size: 64 KiB |
BIN
public/images/screenshots/templates/create.png
Normal file
After Width: | Height: | Size: 90 KiB |
BIN
public/images/screenshots/templates/edit/grapejs.png
Normal file
After Width: | Height: | Size: 233 KiB |
BIN
public/images/screenshots/templates/edit/mosaico.png
Normal file
After Width: | Height: | Size: 296 KiB |
BIN
public/images/screenshots/triggers/create-select.png
Normal file
After Width: | Height: | Size: 70 KiB |
BIN
public/images/screenshots/triggers/create.png
Normal file
After Width: | Height: | Size: 141 KiB |
BIN
public/images/screenshots/users/api.png
Normal file
After Width: | Height: | Size: 452 KiB |
|
@ -6,9 +6,9 @@ let _ = require('../lib/translate')._;
|
|||
|
||||
/* GET home page. */
|
||||
router.get('/', (req, res) => {
|
||||
res.render('index-2', {
|
||||
res.render('index', {
|
||||
indexPage: true,
|
||||
title: _('Self hosted email newsletter app')
|
||||
title: _('Self Hosted Newsletter App')
|
||||
});
|
||||
});
|
||||
|
||||
|
|
|
@ -1,215 +0,0 @@
|
|||
<style>
|
||||
h2 .glyphicon {
|
||||
font-size: .75em;
|
||||
}
|
||||
h3 .glyphicon {
|
||||
font-size: .8em;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<h2><span class="glyphicon glyphicon-list-alt"></span> {{#translate}}List management{{/translate}}</h2>
|
||||
<p>{{#translate}}Mailtrain allows you to easily manage even very large lists. Million subscribers? Not a problem. You can add subscribers manually, through the API or import from a CSV file. All lists come with support for custom fields and merge tags as well.{{/translate}}</p>
|
||||
<button type="button" class="btn btn-default btn-xs" data-toggle="modal" data-target=".modal-list-management">{{#translate}}Show more{{/translate}}</button>
|
||||
{{> modal_carousel
|
||||
title='List management'
|
||||
cls='modal-list-management'
|
||||
img01='/images/img01.png'
|
||||
img02='/images/img02.png'
|
||||
img03='/images/img03.png'
|
||||
img04='/images/img04.png'
|
||||
}}
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<h2><span class="glyphicon glyphicon-tasks"></span> {{#translate}}Custom fields{{/translate}}</h2>
|
||||
<p>{{#translate}}Text fields, numbers, drop downs or checkboxes, Mailtrain has them all. Every custom field can be included in the generated newsletters through merge tags.{{/translate}}</p>
|
||||
<button type="button" class="btn btn-default btn-xs" data-toggle="modal" data-target=".modal-custom-fields">{{#translate}}Show more{{/translate}}</button>
|
||||
{{> modal_carousel
|
||||
title='Custom fields'
|
||||
cls='modal-custom-fields'
|
||||
img01='/images/img01.png'
|
||||
img02='/images/img02.png'
|
||||
img03='/images/img03.png'
|
||||
img04='/images/img04.png'
|
||||
img05='/images/img05.png'
|
||||
img06='/images/img06.png'
|
||||
img07='/images/img07.png'
|
||||
img08='/images/img08.png'
|
||||
img09='/images/img09.png'
|
||||
}}
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<h2><span class="glyphicon glyphicon-filter"></span> {{#translate}}List segmentation{{/translate}}</h2>
|
||||
<p>{{#translate}}Send messages only to list subscribers that match predefined segmentation rules. No need to create separate lists with small differences.{{/translate}}</p>
|
||||
<button type="button" class="btn btn-default btn-xs" data-toggle="modal" data-target=".modal-list-segmentation">{{#translate}}Show more{{/translate}}</button>
|
||||
{{> modal_carousel
|
||||
title='List segmentation'
|
||||
cls='modal-list-segmentation'
|
||||
img01='/images/img01.png'
|
||||
img02='/images/img02.png'
|
||||
img03='/images/img03.png'
|
||||
img04='/images/img04.png'
|
||||
img05='/images/img05.png'
|
||||
img06='/images/img06.png'
|
||||
img07='/images/img07.png'
|
||||
img08='/images/img08.png'
|
||||
img09='/images/img09.png'
|
||||
}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<h2><span class="glyphicon glyphicon-star"></span> {{#translate}}RSS Campaigns{{/translate}}</h2>
|
||||
<p>{{#translate}}Setup Mailtrain to track RSS feeds and if a new entry is detected in a feed then Mailtrain auto-generates a new campaign using entry data as message contents and sends it to selected subscribers.{{/translate}}</p>
|
||||
<button type="button" class="btn btn-default btn-xs" data-toggle="modal" data-target=".modal-rss-campaigns">{{#translate}}Show more{{/translate}}</button>
|
||||
{{> modal_carousel
|
||||
title='RSS Campaigns'
|
||||
cls='modal-rss-campaigns'
|
||||
img01='/images/img01.png'
|
||||
img02='/images/img02.png'
|
||||
img03='/images/img03.png'
|
||||
img04='/images/img04.png'
|
||||
img05='/images/img05.png'
|
||||
img06='/images/img06.png'
|
||||
img07='/images/img07.png'
|
||||
img08='/images/img08.png'
|
||||
img09='/images/img09.png'
|
||||
}}
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<h2><span class="glyphicon glyphicon-lock"></span> {{#translate}}GPG Encryption{{/translate}}</h2>
|
||||
<p>{{#translate}}If a list has a custom field for a GPG Public Key set then subscribers can upload their GPG public key to receive encrypted messages from the list.{{/translate}}</p>
|
||||
<button type="button" class="btn btn-default btn-xs" data-toggle="modal" data-target=".modal-gpg-encryption">{{#translate}}Show more{{/translate}}</button>
|
||||
{{> modal_carousel
|
||||
title='GPG Encryption'
|
||||
cls='modal-gpg-encryption'
|
||||
img01='/images/img01.png'
|
||||
img02='/images/img02.png'
|
||||
img03='/images/img03.png'
|
||||
img04='/images/img04.png'
|
||||
img05='/images/img05.png'
|
||||
img06='/images/img06.png'
|
||||
img07='/images/img07.png'
|
||||
img08='/images/img08.png'
|
||||
img09='/images/img09.png'
|
||||
}}
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<h2><span class="glyphicon glyphicon-stats"></span> {{#translate}}Click stats{{/translate}}</h2>
|
||||
<p>{{#translate}}After a campaign is sent, check individual click statistics for every link included in the message.{{/translate}}</p>
|
||||
<button type="button" class="btn btn-default btn-xs" data-toggle="modal" data-target=".modal-click-stats">{{#translate}}Show more{{/translate}}</button>
|
||||
{{> modal_carousel
|
||||
title='Click stats'
|
||||
cls='modal-click-stats'
|
||||
img01='/images/img01.png'
|
||||
img02='/images/img02.png'
|
||||
img03='/images/img03.png'
|
||||
img04='/images/img04.png'
|
||||
img05='/images/img05.png'
|
||||
img06='/images/img06.png'
|
||||
img07='/images/img07.png'
|
||||
img08='/images/img08.png'
|
||||
img09='/images/img09.png'
|
||||
}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<h2><span class="glyphicon glyphicon-eye-open"></span> {{#translate}}Open source{{/translate}}</h2>
|
||||
<p>{{#translate}}Mailtrain is available under GPLv3 license and completely open source.{{/translate}}</p>
|
||||
<button type="button" class="btn btn-default btn-xs" data-toggle="modal" data-target=".modal-open-source">{{#translate}}Show more{{/translate}}</button>
|
||||
{{> modal_carousel
|
||||
title='Open source'
|
||||
cls='modal-open-source'
|
||||
img01='/images/img01.png'
|
||||
img02='/images/img02.png'
|
||||
img03='/images/img03.png'
|
||||
img04='/images/img04.png'
|
||||
img05='/images/img05.png'
|
||||
img06='/images/img06.png'
|
||||
img07='/images/img07.png'
|
||||
img08='/images/img08.png'
|
||||
img09='/images/img09.png'
|
||||
}}
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<h2><span class="glyphicon glyphicon-envelope"></span> {{#translate}}Send via any provider{{/translate}}</h2>
|
||||
<p>{{#translate}}Mailtrain recommends <a href="https://sendpulse.com/?utm_source=mailtrain&utm_medium=providerlist">SendPulse</a> even though you can use any provider that supports SMTP protocol to send out your newsletters. Bounce and complaints handling via webhooks is supported for SES, SparkPost, SendGrid and Mailgun, also for Postfix and ZoneMTA.{{/translate}}</p>
|
||||
<button type="button" class="btn btn-default btn-xs" data-toggle="modal" data-target=".modal-send-via-any-provider">{{#translate}}Show more{{/translate}}</button>
|
||||
{{> modal_carousel
|
||||
title='Send via any provider'
|
||||
cls='modal-send-via-any-provider'
|
||||
img01='/images/img01.png'
|
||||
img02='/images/img02.png'
|
||||
img03='/images/img03.png'
|
||||
img04='/images/img04.png'
|
||||
img05='/images/img05.png'
|
||||
img06='/images/img06.png'
|
||||
img07='/images/img07.png'
|
||||
img08='/images/img08.png'
|
||||
img09='/images/img09.png'
|
||||
}}
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<h2><span class="glyphicon glyphicon-cog"></span> {{#translate}}Trigger based automation{{/translate}}</h2>
|
||||
<p>{{#translate}}Define automation triggers to send specific messages when a user activates the trigger.{{/translate}}</p>
|
||||
<button type="button" class="btn btn-default btn-xs" data-toggle="modal" data-target=".modal-trigger-based-automation">{{#translate}}Show more{{/translate}}</button>
|
||||
{{> modal_carousel
|
||||
title='Trigger based automation'
|
||||
cls='modal-trigger-based-automation'
|
||||
img01='/images/img01.png'
|
||||
img02='/images/img02.png'
|
||||
img03='/images/img03.png'
|
||||
img04='/images/img04.png'
|
||||
img05='/images/img05.png'
|
||||
img06='/images/img06.png'
|
||||
img07='/images/img07.png'
|
||||
img08='/images/img08.png'
|
||||
img09='/images/img09.png'
|
||||
}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<p><br></p>
|
||||
|
||||
<div class="row" style="background: #eee;">
|
||||
<div class="col-md-8">
|
||||
<h3>{{#translate}}Donate to author{{/translate}}</h3>
|
||||
<p>{{#translate}}If you really like Mailtrain or your business benefits from it financially then I would really appreciate a small donation to keep the Mailtrain development engines running. You can either use Bitcoin or PayPal for donations. My Bitcoin wallet is{{/translate}} <code>15Z8ADxhssKUiwP3jbbqJwA21744KMCfTM</code></p>
|
||||
<p style="margin-bottom: 20px;"><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=DB26KWR2BQX5W" class="btn btn-info">{{#translate}}or donate using PayPal{{/translate}}</a></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<p><br></p>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<h3>{{#translate}}Official Mailtrain Partners{{/translate}}</h3>
|
||||
<hr />
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<p>
|
||||
<a href="https://sendpulse.com/?utm_source=mailtrain&utm_medium=logo">
|
||||
<img class="media-object" src="/images/sendpulse-logo.png" alt="SendPulse">
|
||||
</a>
|
||||
</p>
|
||||
<p>{{#translate}}A reliable SMTP server, easy integration, and 12,000 messages a month free{{/translate}}</p>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<p>
|
||||
<a href="http://www.iredmail.org/">
|
||||
<img class="media-object" src="/images/iredmail-logo.png" alt="iRedMail">
|
||||
</a>
|
||||
</p>
|
||||
<p>{{#translate}}Free, open source mail server solution{{/translate}}</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<p><br><br><br></p>
|
233
views/index.hbs
|
@ -1,61 +1,42 @@
|
|||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<h3>{{#translate}}Official Mailtrain Partners{{/translate}}</h3>
|
||||
<div class="media">
|
||||
<div class="media-left">
|
||||
<a href="http://www.iredmail.org/">
|
||||
<img class="media-object" src="/images/iredmail-logo-red-114.png" alt="iRedMail">
|
||||
</a>
|
||||
</div>
|
||||
<div class="media-body">
|
||||
<h4 class="media-heading"><a href="http://www.iredmail.org/">iRedMail</a></h4> {{#translate}}Free, open source mail server solution{{/translate}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
<h3> </h3>
|
||||
<div class="media">
|
||||
<div class="media-left">
|
||||
<a href="https://sendpulse.com/?utm_source=mailtrain&utm_medium=logo">
|
||||
<img class="media-object" src="/images/sendpulse.jpg" alt="SendPulse">
|
||||
</a>
|
||||
</div>
|
||||
<div class="media-body">
|
||||
<h4 class="media-heading"><a href="https://sendpulse.com/?utm_source=mailtrain&utm_medium=logo">SendPulse</a></h4> {{#translate}}A reliable SMTP server, easy integration, and 12,000 messages a month free{{/translate}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<h2>{{#translate}}List management{{/translate}}</h2>
|
||||
<h2><span class="glyphicon glyphicon-list-alt"></span> {{#translate}}List Management{{/translate}}</h2>
|
||||
<p>{{#translate}}Mailtrain allows you to easily manage even very large lists. Million subscribers? Not a problem. You can add subscribers manually, through the API or import from a CSV file. All lists come with support for custom fields and merge tags as well.{{/translate}}</p>
|
||||
<button type="button" class="btn btn-default btn-xs" data-toggle="modal" data-target=".modal-list-management">{{#translate}}Show more{{/translate}}</button>
|
||||
{{> modal_carousel
|
||||
title='List Management'
|
||||
cls='modal-list-management'
|
||||
img01='/images/screenshots/lists/lists.png'
|
||||
img02='/images/screenshots/lists/view.png'
|
||||
img03='/images/screenshots/lists/subscription/edit.png'
|
||||
img04='/images/screenshots/subscription/create.png'
|
||||
img05='/images/screenshots/users/api.png'
|
||||
}}
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<h2>{{#translate}}Custom fields{{/translate}}</h2>
|
||||
<h2><span class="glyphicon glyphicon-tasks"></span> {{#translate}}Custom Fields{{/translate}}</h2>
|
||||
<p>{{#translate}}Text fields, numbers, drop downs or checkboxes, Mailtrain has them all. Every custom field can be included in the generated newsletters through merge tags.{{/translate}}</p>
|
||||
<button type="button" class="btn btn-default btn-xs" data-toggle="modal" data-target=".modal-custom-fields">{{#translate}}Show more{{/translate}}</button>
|
||||
{{> modal_carousel
|
||||
title='Custom Fields'
|
||||
cls='modal-custom-fields'
|
||||
img01='/images/screenshots/fields/view.png'
|
||||
img02='/images/screenshots/fields/edit.png'
|
||||
img03='/images/screenshots/fields/edit-option.png'
|
||||
}}
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
<h2>{{#translate}}List segmentation{{/translate}}</h2>
|
||||
<h2><span class="glyphicon glyphicon-filter"></span> {{#translate}}List Segmentation{{/translate}}</h2>
|
||||
<p>{{#translate}}Send messages only to list subscribers that match predefined segmentation rules. No need to create separate lists with small differences.{{/translate}}</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-8">
|
||||
<h3>{{#translate}}Donate to author{{/translate}}</h3>
|
||||
<p>{{#translate}}If you really like Mailtrain or your business benefits from it financially then I would really appreciate a small donation to keep the Mailtrain development engines running. You can either use Bitcoin or PayPal for donations. My Bitcoin wallet is{{/translate}} <code>15Z8ADxhssKUiwP3jbbqJwA21744KMCfTM</code></p>
|
||||
|
||||
<p>
|
||||
<a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=DB26KWR2BQX5W" class="btn btn-info">{{#translate}}or donate using PayPal{{/translate}}</a>
|
||||
</p>
|
||||
|
||||
<button type="button" class="btn btn-default btn-xs" data-toggle="modal" data-target=".modal-list-segmentation">{{#translate}}Show more{{/translate}}</button>
|
||||
{{> modal_carousel
|
||||
title='List Segmentation'
|
||||
cls='modal-list-segmentation'
|
||||
img01='/images/screenshots/segments/create.png'
|
||||
img02='/images/screenshots/segments/rules/create.png'
|
||||
img03='/images/screenshots/segments/rules/configure.png'
|
||||
img04='/images/screenshots/segments/view.png'
|
||||
}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -63,92 +44,120 @@
|
|||
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<h2>{{#translate}}RSS Campaigns{{/translate}}</h2>
|
||||
<h2><span class="glyphicon glyphicon-star"></span> {{#translate}}RSS Campaigns{{/translate}}</h2>
|
||||
<p>{{#translate}}Setup Mailtrain to track RSS feeds and if a new entry is detected in a feed then Mailtrain auto-generates a new campaign using entry data as message contents and sends it to selected subscribers.{{/translate}}</p>
|
||||
<button type="button" class="btn btn-default btn-xs" data-toggle="modal" data-target=".modal-rss-campaigns">{{#translate}}Show more{{/translate}}</button>
|
||||
{{> modal_carousel
|
||||
title='RSS Campaigns'
|
||||
cls='modal-rss-campaigns'
|
||||
img01='/images/screenshots/campaigns/campaigns.png'
|
||||
img02='/images/screenshots/campaigns/create-rss.png'
|
||||
img03='/images/screenshots/campaigns/view-rss.png'
|
||||
}}
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<h2>{{#translate}}GPG Encryption{{/translate}}</h2>
|
||||
<h2><span class="glyphicon glyphicon-lock"></span> {{#translate}}GPG Encryption{{/translate}}</h2>
|
||||
<p>{{#translate}}If a list has a custom field for a GPG Public Key set then subscribers can upload their GPG public key to receive encrypted messages from the list.{{/translate}}</p>
|
||||
<button type="button" class="btn btn-default btn-xs" data-toggle="modal" data-target=".modal-gpg-encryption">{{#translate}}Show more{{/translate}}</button>
|
||||
{{> modal_carousel
|
||||
title='GPG Encryption'
|
||||
cls='modal-gpg-encryption'
|
||||
img01='/images/screenshots/subscription/create.png'
|
||||
img02='/images/screenshots/settings.png'
|
||||
}}
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<h2>{{#translate}}Click stats{{/translate}}</h2>
|
||||
<h2><span class="glyphicon glyphicon-stats"></span> {{#translate}}Click Stats{{/translate}}</h2>
|
||||
<p>{{#translate}}After a campaign is sent, check individual click statistics for every link included in the message.{{/translate}}</p>
|
||||
<button type="button" class="btn btn-default btn-xs" data-toggle="modal" data-target=".modal-click-stats">{{#translate}}Show more{{/translate}}</button>
|
||||
{{> modal_carousel
|
||||
title='Click Stats'
|
||||
cls='modal-click-stats'
|
||||
img01='/images/screenshots/campaigns/view.png'
|
||||
img02='/images/screenshots/campaigns/view-links.png'
|
||||
img03='/images/screenshots/campaigns/clicked/view.png'
|
||||
}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<h2>{{#translate}}Open source{{/translate}}</h2>
|
||||
<p>{{#translate}}Mailtrain is available under GPLv3 license and completely open source.{{/translate}}</p>
|
||||
<h2><span class="glyphicon glyphicon-edit"></span> {{#translate}}Template Editors{{/translate}}</h2>
|
||||
<p>{{#translate}}Mailtrain ships with GrapeJS and Mosaico built in, two advanced template editors. Mailtrain also offers a code editor if you prefer to handcraft the HTML yourself.{{/translate}}</p>
|
||||
<button type="button" class="btn btn-default btn-xs" data-toggle="modal" data-target=".modal-editors">{{#translate}}Show more{{/translate}}</button>
|
||||
{{> modal_carousel
|
||||
title='Template Editors'
|
||||
cls='modal-editors'
|
||||
img01='/images/screenshots/templates/create.png'
|
||||
img02='/images/screenshots/templates/edit/grapejs.png'
|
||||
img03='/images/screenshots/grapejs/editor-1.png'
|
||||
img04='/images/screenshots/grapejs/editor-2.png'
|
||||
img05='/images/screenshots/grapejs/editor-3.png'
|
||||
img06='/images/screenshots/templates/edit/mosaico.png'
|
||||
img07='/images/screenshots/mosaico/editor-1.png'
|
||||
img08='/images/screenshots/mosaico/editor-2.png'
|
||||
img09='/images/screenshots/mosaico/editor-3.png'
|
||||
}}
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<h2>{{#translate}}Send via any provider{{/translate}}</h2>
|
||||
<h2><span class="glyphicon glyphicon-send"></span> {{#translate}}Send via Any Provider{{/translate}}</h2>
|
||||
<p>{{#translate}}Mailtrain recommends <a href="https://sendpulse.com/?utm_source=mailtrain&utm_medium=providerlist">SendPulse</a> even though you can use any provider that supports SMTP protocol to send out your newsletters. Bounce and complaints handling via webhooks is supported for SES, SparkPost, SendGrid and Mailgun, also for Postfix and ZoneMTA.{{/translate}}</p>
|
||||
<button type="button" class="btn btn-default btn-xs" data-toggle="modal" data-target=".modal-send-via-any-provider">{{#translate}}Show more{{/translate}}</button>
|
||||
{{> modal_carousel
|
||||
title='Send via Any Provider'
|
||||
cls='modal-send-via-any-provider'
|
||||
img01='/images/screenshots/settings.png'
|
||||
}}
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<h2>{{#translate}}Trigger based automation{{/translate}}</h2>
|
||||
<h2><span class="glyphicon glyphicon-cog"></span> {{#translate}}Automation{{/translate}}</h2>
|
||||
<p>{{#translate}}Define automation triggers to send specific messages when a user activates the trigger.{{/translate}}</p>
|
||||
<button type="button" class="btn btn-default btn-xs" data-toggle="modal" data-target=".modal-automation">{{#translate}}Show more{{/translate}}</button>
|
||||
{{> modal_carousel
|
||||
title='Automation'
|
||||
cls='modal-automation'
|
||||
img01='/images/screenshots/triggers/create-select.png'
|
||||
img02='/images/screenshots/triggers/create.png'
|
||||
}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<p></p>
|
||||
<p><br></p>
|
||||
|
||||
<div class="row" style="background: #eee;">
|
||||
<div class="col-md-8">
|
||||
<h3>{{#translate}}Donate to Author{{/translate}}</h3>
|
||||
<p>{{#translate}}Mailtrain is available under GPLv3 license and completely open source.{{/translate}}</p>
|
||||
<p>{{#translate}}If you really like Mailtrain or your business benefits from it financially then I would really appreciate a small donation to keep the Mailtrain development engines running. You can either use Bitcoin or PayPal for donations. My Bitcoin wallet is{{/translate}}: <code>15Z8ADxhssKUiwP3jbbqJwA21744KMCfTM</code></p>
|
||||
<p style="margin-bottom: 20px;"><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=DB26KWR2BQX5W" class="btn btn-info">{{#translate}}Or Donate Using Paypal{{/translate}}</a></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<p><br></p>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-1"></div>
|
||||
<div class="col-md-10">
|
||||
|
||||
<div id="carousel-example-generic" class="carousel slide" data-ride="carousel">
|
||||
<!-- Indicators -->
|
||||
<ol class="carousel-indicators">
|
||||
<li data-target="#carousel-example-generic" data-slide-to="0" class="active"></li>
|
||||
<li data-target="#carousel-example-generic" data-slide-to="1"></li>
|
||||
<li data-target="#carousel-example-generic" data-slide-to="2"></li>
|
||||
</ol>
|
||||
|
||||
<!-- Wrapper for slides -->
|
||||
<div class="carousel-inner" role="listbox">
|
||||
<div class="item active">
|
||||
<img src="/images/img01.png">
|
||||
</div>
|
||||
<div class="item">
|
||||
<img src="/images/img02.png">
|
||||
</div>
|
||||
<div class="item">
|
||||
<img src="/images/img03.png">
|
||||
</div>
|
||||
<div class="item">
|
||||
<img src="/images/img04.png">
|
||||
</div>
|
||||
<div class="item">
|
||||
<img src="/images/img05.png">
|
||||
</div>
|
||||
<div class="item">
|
||||
<img src="/images/img06.png">
|
||||
</div>
|
||||
<div class="item">
|
||||
<img src="/images/img07.png">
|
||||
</div>
|
||||
<div class="item">
|
||||
<img src="/images/img08.png">
|
||||
</div>
|
||||
<div class="item">
|
||||
<img src="/images/img09.png">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Controls -->
|
||||
<a class="left carousel-control" href="#carousel-example-generic" role="button" data-slide="prev">
|
||||
<span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
|
||||
<span class="sr-only">Previous</span>
|
||||
</a>
|
||||
<a class="right carousel-control" href="#carousel-example-generic" role="button" data-slide="next">
|
||||
<span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
|
||||
<span class="sr-only">Next</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="col-md-12">
|
||||
<h3>{{#translate}}Official Mailtrain Partners{{/translate}}</h3>
|
||||
<hr />
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<p>
|
||||
<a href="https://sendpulse.com/?utm_source=mailtrain&utm_medium=logo">
|
||||
<img class="media-object" src="/images/sendpulse-logo.png" alt="SendPulse">
|
||||
</a>
|
||||
</p>
|
||||
<p>{{#translate}}A reliable SMTP server, easy integration, and 12,000 messages a month free{{/translate}}</p>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<p>
|
||||
<a href="http://www.iredmail.org/">
|
||||
<img class="media-object" src="/images/iredmail-logo.png" alt="iRedMail">
|
||||
</a>
|
||||
</p>
|
||||
<p>{{#translate}}Free, open source mail server solution{{/translate}}</p>
|
||||
</div>
|
||||
<div class="col-md-1"></div>
|
||||
</div>
|
||||
|
||||
<p></p>
|
||||
<p><br><br><br></p>
|
||||
|
|
|
@ -122,11 +122,11 @@
|
|||
</div>
|
||||
|
||||
<h1><img class="img-responsive" src="/mailtrain-header.png"></h1>
|
||||
<p>{{#translate}}Self hosted newsletter app built on top of Nodemailer{{/translate}}</p>
|
||||
<p>{{#translate}}Self Hosted Newsletter App Built on Top of Nodemailer{{/translate}}</p>
|
||||
<p>
|
||||
<a class="btn btn-info btn-md" href="https://github.com/andris9/mailtrain" role="button"><span class="glyphicon glyphicon-cloud-download" aria-hidden="true"></span> {{#translate}}Source on GitHub{{/translate}}</a>
|
||||
|
||||
<a class="btn btn-success btn-md" href="http://mailtrain.org/subscription/EysIv8sAx" role="button"><span class="glyphicon glyphicon-envelope" aria-hidden="true"></span> {{#translate}}Subscribe to our newsletter{{/translate}}</a>
|
||||
<a class="btn btn-success btn-md" href="http://mailtrain.org/subscription/EysIv8sAx" role="button"><span class="glyphicon glyphicon-envelope" aria-hidden="true"></span> {{#translate}}Subscribe to Our Newsletter{{/translate}}</a>
|
||||
</p>
|
||||
<div class="clearfix"></div>
|
||||
|
||||
|
|
|
@ -1,11 +1,27 @@
|
|||
<style>
|
||||
#carousel-{{cls}} > * {
|
||||
z-index: 2;
|
||||
}
|
||||
#carousel-{{cls}}:after {
|
||||
display: block;
|
||||
position: absolute;
|
||||
z-index: 1;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
line-height: 500px;
|
||||
text-align: center;
|
||||
content: 'Loading ...';
|
||||
}
|
||||
</style>
|
||||
|
||||
<div class="modal fade {{cls}}" tabindex="-1" role="dialog">
|
||||
<div class="modal-dialog" style="width: 999px;" role="document">
|
||||
<div class="modal-dialog" style="width: auto; max-width: 1026px !important;" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title">{{#translate}}{{title}}{{/translate}}</h4>
|
||||
</div>
|
||||
<div id="carousel-{{cls}}" class="carousel slide" data-ride="carousel">
|
||||
<div id="carousel-{{cls}}" class="carousel slide" data-interval="false" style="min-height: 500px;">
|
||||
<!-- Indicators -->
|
||||
<ol class="carousel-indicators">
|
||||
<li data-target="#carousel-{{cls}}" data-slide-to="0" class="active"></li>
|
||||
|
@ -18,76 +34,89 @@
|
|||
|
||||
{{#if img01}}
|
||||
<div class="item active">
|
||||
<img src="{{img01}}">
|
||||
<img data-src="{{img01}}">
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if img02}}
|
||||
<div class="item">
|
||||
<img src="{{img02}}">
|
||||
<img data-src="{{img02}}">
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if img03}}
|
||||
<div class="item">
|
||||
<img src="{{img03}}">
|
||||
<img data-src="{{img03}}">
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if img04}}
|
||||
<div class="item">
|
||||
<img src="{{img04}}">
|
||||
<img data-src="{{img04}}">
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if img05}}
|
||||
<div class="item">
|
||||
<img src="{{img05}}">
|
||||
<img data-src="{{img05}}">
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if img06}}
|
||||
<div class="item">
|
||||
<img src="{{img06}}">
|
||||
<img data-src="{{img06}}">
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if img07}}
|
||||
<div class="item">
|
||||
<img src="{{img07}}">
|
||||
<img data-src="{{img07}}">
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if img08}}
|
||||
<div class="item">
|
||||
<img src="{{img08}}">
|
||||
<img data-src="{{img08}}">
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if img09}}
|
||||
<div class="item">
|
||||
<img src="{{img09}}">
|
||||
<img data-src="{{img09}}">
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if img10}}
|
||||
<div class="item">
|
||||
<img src="{{img10}}">
|
||||
<img data-src="{{img10}}">
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Controls -->
|
||||
<a class="left carousel-control" href="#carousel-{{cls}}" role="button" data-slide="prev">
|
||||
<span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
|
||||
<span class="sr-only">Previous</span>
|
||||
</a>
|
||||
<a class="right carousel-control" href="#carousel-{{cls}}" role="button" data-slide="next">
|
||||
<span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
|
||||
<span class="sr-only">Next</span>
|
||||
</a>
|
||||
{{#if img02}}
|
||||
<!-- Controls -->
|
||||
<a class="left carousel-control" href="#carousel-{{cls}}" role="button" data-slide="prev">
|
||||
<span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
|
||||
<span class="sr-only">Previous</span>
|
||||
</a>
|
||||
<a class="right carousel-control" href="#carousel-{{cls}}" role="button" data-slide="next">
|
||||
<span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
|
||||
<span class="sr-only">Next</span>
|
||||
</a>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
$('.modal.{{cls}}').on('show.bs.modal', function() {
|
||||
$(this).find('img[data-src]').each(function() {
|
||||
$(this).attr('src', $(this).data('src'));
|
||||
$(this).removeAttr('data-src');
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
|