Commit graph

60 commits

Author SHA1 Message Date
Kailash Nadh 82894e50be Simplify default e-mail template. 2024-02-04 11:37:25 +05:30
Kailash Nadh 0c9dc07479 Add a ?v=hash cache breaker (that changes on restart) to static assets. 2023-12-31 22:20:37 +05:30
relikd 52ee79bf86
chore: noreferrer for listmonk url in footer (#1601)
* chore: noreferrer for listmonk url in footer

* chore: noreferrer for email templates
2023-11-23 06:29:31 +05:30
Kailash Nadh ef084956b4 Make the unsub form on opt-in confirmation e-mail open 'manage' by default. Closes #1515. 2023-11-11 20:28:42 +05:30
Kailash Nadh f4f51d11c5 Add classes to public forms to make them scriptable. 2023-08-07 23:57:29 +05:30
Kailash Nadh 215aae5366 Fix public preference manage page's list style. 2023-02-26 12:36:06 +05:30
Ronan LE MEILLAT 80592f60c6
Translate the subject of the email sent with personnal datas (#1193) 2023-02-20 20:33:44 +05:30
kosssi 3513988a07
[i18n] Add translation of the term Powered by (#1168) 2023-02-07 14:43:25 +05:30
Kailash Nadh 8985e5c24a
Add hCaptcha.com support to public subscription form. (#1152)
Bots easily bypass the simple `nonce` hack. This commit adds support
for the hcaptcha.com widget.

- New `Security` tab in the admin settings UI.
- Enable/disable CAPTCHA.
- Render CAPTCHA on the public subscription form.

Closes #1116.
2023-01-23 21:50:10 +05:30
Shrilakshmi Shastry 7832248a08
Fix label/input accessibility on subscription form (#1134) 2023-01-06 15:29:26 +05:30
Kailash Nadh 1f693b80f7 Add a default public archive template. 2022-12-25 16:07:12 +05:30
Kailash Nadh 1e90feecaf Show send_at on archive page for scheduled campaigns. Closes #1036. 2022-11-18 23:12:53 +05:30
Kailash Nadh af4b532a00 Add version to public css for cache busting. 2022-11-10 23:43:59 +05:30
Kailash Nadh d1307c6a2c Add missing RSS icon. 2022-11-10 23:30:53 +05:30
Kailash Nadh 818f2c9d8e Add public archive on/off toggle to settings. 2022-11-10 23:30:53 +05:30
Kailash Nadh f958f3d24b Add RSS feed to the public mailing list archive. 2022-11-10 23:30:53 +05:30
Kailash Nadh 438568eeb0 Add global site name setting to render name on public pages. 2022-11-10 23:30:53 +05:30
Kailash Nadh 23fb178ec4 Add subscription/archive links to public pages. 2022-11-10 23:30:53 +05:30
Kailash Nadh 56a9836e86 Integrate paginator library in place of custom pagination function. 2022-11-10 23:30:50 +05:30
Kailash Nadh 9add728b08 WIP: Add support for publishing campaigns to publish archives. 2022-11-10 23:30:11 +05:30
Kailash Nadh ef1f84ee7c Add new description field to lists. Closes #925. 2022-11-01 21:04:35 +05:30
Kailash Nadh 3b0083190e Add ability for subscribers to manage preferences on the unsub form.
- Ability to change name.
- Ability to unsubscribe from individual lists.
- Toggle option to enable this in Admin Settings -> Privacy.

Closes #455.
2022-10-29 15:23:28 +05:30
Kailash Nadh 278d5bf74e Merge branch 'test-smtp' 2022-07-11 19:46:03 +05:30
Kailash Nadh ee448170ef Add support for testing SMTP connections in the settings UI. 2022-07-11 19:44:44 +05:30
Kailash Nadh 463e92d1e1 Add transactional (tx) messaging capability.
This commit adds a new API `POST /api/tx` that sends an ad-hoc message
to a subscriber based on a pre-defined transactional template. This is
a large commit that adds the following:

- New campaign / tx template types on the UI. tx templates have an
  additional subject field.
- New fields `type` and `subject` to the templates table.
- Refactor template CRUD operations and models.
- Refactor template func assignment in manager.
- Add pre-compiled template caching to manager runtime.
- Pre-compile all tx templates into memory on program boot to avoid
  expensive template compilation on ad-hoc tx messages.
2022-07-09 10:36:12 +05:30
Kailash Nadh 481d6ef0a2 Move bundled fonts to a better location. 2022-02-12 13:24:18 +05:30
Kailash Nadh 4ddd3e803f Add 'View in browser' link to the default email template. Closes #540. 2022-01-15 17:25:45 +05:30
Kailash Nadh 3f026090ca Add unsubscribe link to opt-in confirmation e-mail. Closes #573. 2022-01-15 16:41:48 +05:30
Kailash Nadh fabe06e339 Add support for custom CSS/JS in settings for admin and public pages.
This feature was originally authored by @sweetppro in PR #438.
However, since the PR ended up in an unclean state with
multiple master merges (instead of rebase) from the upstream, there are
several commits that are out of order and can can no longer be be
squashed for a clean feature merge.

This commit aggregates the changes from the original PR and applies the
following fixes on top of it.

- Add custom admin JS box to appearance UI.
- Refactor i18n language strings.
- Add handlers and migrations for the new `appearance.admin.custom_js`
  field.
- Fix migration version to `v2.1.0`
- Load custom appearance CSS/JS bytes into global constants during boot
  instead of making a DB call on every request.
- Fix and canonicalize URIs from `/api/custom*` to `/public/*.css`
  and `/admin/*.css`. Add proxy paths to yarn proxy config.
- Remove redundant HTTP handlers for different custom appearance files
  and refactor into a single handler `serveCustomApperance()`
- Fix content-type and UTF8 encoding headers for different file types.
- Fix incorrect registration of public facing custom CSS/JS handlers
  in the authenticated admin URI group.
- Fix merge conflicts in `Settings.vue`.
- Minor HTML and style fixes.
- Remove the `AppearanceEditor` component and use the existing
  `HTMLEditor` component instead.
- Add `language` prop to the `HTMLEditor` component.

Co-authored-by: SweetPPro <sweetppro@users.noreply.github.com>
2021-12-18 15:38:42 +05:30
natekfl 575d007575
Fix alert email urls (#595) 2021-11-19 21:05:46 +05:30
MickGe ebf6af2f81
Clear placeholder on focus
Because it could be disturbing for people who are not confident with forms not being able to delete words before writing.
2021-11-09 00:20:30 +01:00
Kailash Nadh 1ece738613 Fix incorrect container width on public page responsive view. 2021-10-31 11:57:00 +05:30
Kailash Nadh 1054c019ce Hide 'Back' button when it is superfluous on public pages. 2021-10-30 12:46:10 +05:30
Kailash Nadh 9dd8592fdd Prevent images from being squished in the default e-mail template. Closes #548. 2021-10-28 22:55:12 +05:30
Kailash Nadh b163b1305b Add a "Back" button the public subscription/message page.
On a successful form submission, error message etc., check if there's
browser history and render a button that takes the user back to
a meaningful origin from the dead-end message page.

Closes #527.
2021-10-23 11:39:39 +05:30
Kailash Nadh ca51c48474 Fix duplicate class attr in optin e-mail. Closes #524. 2021-10-19 20:10:40 +05:30
Kailash Nadh f0b033b889 Add missing home template. 2021-09-27 21:17:23 +05:30
Kailash Nadh 98ed4fb384 Add a landing login page and a logout option.
BasicAuth without an explicit landing page or a logout option has
sometimes been confusing to users. This commit adds a static
landing page on / with a login link and a logout option in the admin
that "logs out" BasicAuth session by posting invalid credentials to
the server to obtain a 401.
2021-09-26 23:42:57 +05:30
Kailash Nadh 9d2bc9c41d Add HTML syntax highlighted editing to the template editor.
- Refactor codeflask HTML editor into a standalone html-editor
  component.
- Replace the plaintext box in the template editor with html-editor.
- Replace codeflask in the campaign editor with the new html-editor.
- Refactor templates Cypress tests to test the new editor.
- Refactor campaigns Cypress tests to test the new editor and also
  test switching between different editors and content formats.
2021-09-26 21:56:53 +05:30
Kailash Nadh d86438bde9 Introduce @TrackLink shorthand for generating tracking links.
The default `{{ TrackLink "https://listmonk.app" }}` template function
is clumsy to write and does breaks WYSIWYG editors and HTML syntax
highlighting because of the quotes. The new syntax doesn't break HTML
and is easier to write.

Eg: `<a href="https://listmonk.app@TrackLink">Link</a>`

- Introduce @TrackLink shorthand.
- Add first-class support for tracking links in the WYSIWYG (TinyMCE)
  editor by introducing an on/off checkbox on the link dialog.
- Improve default dummy campaign content to highlight this.
2021-09-26 16:03:05 +05:30
Kailash Nadh 956e990fe6 Improve codeflask HTML syntax highlighting colours. 2021-09-19 17:11:48 +05:30
Kailash Nadh 3135bfc12a Upgrade and refactor global theme.
- Change public and admin frontend primary colours.
- Change images.
- Refactor and fix styling on public pages.
- Remove CSS grid lib from public pages.
- Update Buefy and fix broken component styles (modal, toast).
2021-09-16 17:46:39 +05:30
Kailash Nadh ccee852e33 Remove incorrect RootURL link from e-mail template. Closes #432 2021-08-14 13:51:41 +05:30
Justin Beaty a7f7016b4e Fix RootURL in campaign-status.html 2021-07-13 17:18:40 -07:00
Kailash Nadh fe61e898a3 Add hidden nonce (honeypot) field to filter bot autofills on subs page 2021-04-21 14:01:32 +05:30
Kailash Nadh ad0a0e0841 Add preconfirm_subscriptions=true/falsenew subs API.
Sending th optional flag as `trunue` in the POST /api/subscrirs
body will skip sending opt-iconfirmation e-mails to subscribers
and mark list subscriptions in the request a`confirmed`.
2021-04-17 13:34:37 +05:30
TomBoss 82f033b1da
corr. template 2021-02-17 15:41:59 +01:00
Kailash Nadh 2f05d4ef5b Fix broken opt-in campaign template 2021-02-13 13:28:39 +05:30
Kailash Nadh c7500f9be3 Fix campaign update email title i18n 2021-02-02 17:06:27 +05:30
Kailash Nadh 2235d30063 Add a new public page for end users to subscribe to public lists.
In addition to generating HTML forms for selected public lists,
the form page now shows a URL (/subscription/form) that can be
publicly shared to solicit subscriptions. The page lists all
public lists in the database. This page can be disabled on the
Settings UI.
2021-01-31 16:19:39 +05:30