mirror of https://github.com/Chocobozzz/PeerTube
				
				
				
			
		
			
				
	
	
		
			269 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			Plaintext
		
	
	
			
		
		
	
	
			269 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			Plaintext
		
	
	
//-
 | 
						||
  The email background color is defined in three places:
 | 
						||
  1. body tag: for most email clients
 | 
						||
  2. center tag: for Gmail and Inbox mobile apps and web versions of Gmail, GSuite, Inbox, Yahoo, AOL, Libero, Comcast, freenet, Mail.ru, Orange.fr
 | 
						||
  3. mso conditional: For Windows 10 Mail
 | 
						||
- var backgroundColor = "#fff";
 | 
						||
- var mainColor = "#f2690d";
 | 
						||
doctype html
 | 
						||
head
 | 
						||
  // This template is heavily adapted from the Cerberus Fluid template. Kudos to them!
 | 
						||
  meta(charset='utf-8')
 | 
						||
  //- utf-8 works for most cases
 | 
						||
  meta(name='viewport' content='width=device-width')
 | 
						||
  //- Forcing initial-scale shouldn't be necessary
 | 
						||
  meta(http-equiv='X-UA-Compatible' content='IE=edge')
 | 
						||
  //- Use the latest (edge) version of IE rendering engine
 | 
						||
  meta(name='x-apple-disable-message-reformatting')
 | 
						||
  //- Disable auto-scale in iOS 10 Mail entirely
 | 
						||
  meta(name='format-detection' content='telephone=no,address=no,email=no,date=no,url=no')
 | 
						||
  //- Tell iOS not to automatically link certain text strings.
 | 
						||
  meta(name='color-scheme' content='light')
 | 
						||
  meta(name='supported-color-schemes' content='light')
 | 
						||
  //- The title tag shows in email notifications, like Android 4.4.
 | 
						||
  title #{subject}
 | 
						||
  //- What it does: Makes background images in 72ppi Outlook render at correct size.
 | 
						||
  //if gte mso 9
 | 
						||
    xml
 | 
						||
      o:officedocumentsettings
 | 
						||
        o:allowpng
 | 
						||
          o:pixelsperinch 96
 | 
						||
  //- CSS Reset : BEGIN
 | 
						||
  style.
 | 
						||
    /* What it does: Tells the email client that only light styles are provided but the client can transform them to dark. A duplicate of meta color-scheme meta tag above. */
 | 
						||
    :root {
 | 
						||
      color-scheme: light;
 | 
						||
      supported-color-schemes: light;
 | 
						||
    }
 | 
						||
    /* What it does: Remove spaces around the email design added by some email clients. */
 | 
						||
    /* Beware: It can remove the padding / margin and add a background color to the compose a reply window. */
 | 
						||
    html,
 | 
						||
    body {
 | 
						||
      margin: 0 auto !important;
 | 
						||
      padding: 0 !important;
 | 
						||
      height: 100% !important;
 | 
						||
      width: 100% !important;
 | 
						||
    }
 | 
						||
    /* What it does: Stops email clients resizing small text. */
 | 
						||
    * {
 | 
						||
      -ms-text-size-adjust: 100%;
 | 
						||
      -webkit-text-size-adjust: 100%;
 | 
						||
    }
 | 
						||
    /* What it does: Centers email on Android 4.4 */
 | 
						||
    div[style*="margin: 16px 0"] {
 | 
						||
      margin: 0 !important;
 | 
						||
    }
 | 
						||
    /* What it does: forces Samsung Android mail clients to use the entire viewport */
 | 
						||
    #MessageViewBody, #MessageWebViewDiv{
 | 
						||
      width: 100% !important;
 | 
						||
    }
 | 
						||
    /* What it does: Stops Outlook from adding extra spacing to tables. */
 | 
						||
    table,
 | 
						||
    td {
 | 
						||
      mso-table-lspace: 0pt !important;
 | 
						||
      mso-table-rspace: 0pt !important;
 | 
						||
    }
 | 
						||
    /* What it does: Fixes webkit padding issue. */
 | 
						||
    table {
 | 
						||
      border-spacing: 0 !important;
 | 
						||
      border-collapse: collapse !important;
 | 
						||
      table-layout: fixed !important;
 | 
						||
      margin: 0 auto !important;
 | 
						||
    }
 | 
						||
    /* What it does: Uses a better rendering method when resizing images in IE. */
 | 
						||
    img {
 | 
						||
      -ms-interpolation-mode:bicubic;
 | 
						||
    }
 | 
						||
    /* What it does: Prevents Windows 10 Mail from underlining links despite inline CSS. Styles for underlined links should be inline. */
 | 
						||
    a {
 | 
						||
      text-decoration: none;
 | 
						||
    }
 | 
						||
    a:not(.nocolor) {
 | 
						||
      color: #{mainColor};
 | 
						||
    }
 | 
						||
    a.nocolor {
 | 
						||
      color: inherit !important;
 | 
						||
    }
 | 
						||
    /* What it does: A work-around for email clients meddling in triggered links. */
 | 
						||
    a[x-apple-data-detectors],  /* iOS */
 | 
						||
    .unstyle-auto-detected-links a,
 | 
						||
    .aBn {
 | 
						||
      border-bottom: 0 !important;
 | 
						||
      cursor: default !important;
 | 
						||
      color: inherit !important;
 | 
						||
      text-decoration: none !important;
 | 
						||
      font-size: inherit !important;
 | 
						||
      font-family: inherit !important;
 | 
						||
      font-weight: inherit !important;
 | 
						||
      line-height: inherit !important;
 | 
						||
    }
 | 
						||
    /* What it does: Prevents Gmail from displaying a download button on large, non-linked images. */
 | 
						||
    .a6S {
 | 
						||
      display: none !important;
 | 
						||
      opacity: 0.01 !important;
 | 
						||
    }
 | 
						||
    /* What it does: Prevents Gmail from changing the text color in conversation threads. */
 | 
						||
    .im {
 | 
						||
      color: inherit !important;
 | 
						||
    }
 | 
						||
    /* If the above doesn't work, add a .g-img class to any image in question. */
 | 
						||
    img.g-img + div {
 | 
						||
      display: none !important;
 | 
						||
    }
 | 
						||
    /* What it does: Removes right gutter in Gmail iOS app: https://github.com/TedGoas/Cerberus/issues/89  */
 | 
						||
    /* Create one of these media queries for each additional viewport size you'd like to fix */
 | 
						||
    /* iPhone 4, 4S, 5, 5S, 5C, and 5SE */
 | 
						||
    @media only screen and (min-device-width: 320px) and (max-device-width: 374px) {
 | 
						||
      u ~ div .email-container {
 | 
						||
        min-width: 320px !important;
 | 
						||
      }
 | 
						||
    }
 | 
						||
    /* iPhone 6, 6S, 7, 8, and X */
 | 
						||
    @media only screen and (min-device-width: 375px) and (max-device-width: 413px) {
 | 
						||
      u ~ div .email-container {
 | 
						||
        min-width: 375px !important;
 | 
						||
      }
 | 
						||
    }
 | 
						||
    /* iPhone 6+, 7+, and 8+ */
 | 
						||
    @media only screen and (min-device-width: 414px) {
 | 
						||
      u ~ div .email-container {
 | 
						||
        min-width: 414px !important;
 | 
						||
      }
 | 
						||
    }
 | 
						||
  //- CSS Reset : END
 | 
						||
  //- CSS for PeerTube : START
 | 
						||
  style.
 | 
						||
    blockquote {
 | 
						||
      margin-left: 0;
 | 
						||
      padding-left: 20px;
 | 
						||
      border-left: 2px solid #f2690d;
 | 
						||
    }
 | 
						||
  //- CSS for PeerTube : END
 | 
						||
  //- Progressive Enhancements : BEGIN
 | 
						||
  style.
 | 
						||
    /* What it does: Hover styles for buttons */
 | 
						||
    .button-td,
 | 
						||
    .button-a {
 | 
						||
      transition: all 100ms ease-in;
 | 
						||
    }
 | 
						||
    .button-td-primary:hover,
 | 
						||
    .button-a-primary:hover {
 | 
						||
      background: #555555 !important;
 | 
						||
      border-color: #555555 !important;
 | 
						||
    }
 | 
						||
    /* Media Queries */
 | 
						||
    @media screen and (max-width: 600px) {
 | 
						||
      /* What it does: Adjust typography on small screens to improve readability */
 | 
						||
      .email-container p {
 | 
						||
        font-size: 17px !important;
 | 
						||
      }
 | 
						||
    }
 | 
						||
  //- Progressive Enhancements : END
 | 
						||
 | 
						||
body(width="100%" style="margin: 0; padding: 0 !important; mso-line-height-rule: exactly; background-color: #{backgroundColor};")
 | 
						||
  center(role='article' aria-roledescription='email' lang='en' style='width: 100%; background-color: #{backgroundColor};')
 | 
						||
    //if mso | IE
 | 
						||
      table(role='presentation' border='0' cellpadding='0' cellspacing='0' width='100%' style='background-color: #fff;')
 | 
						||
        tr
 | 
						||
          td
 | 
						||
    //- Visually Hidden Preheader Text : BEGIN
 | 
						||
    div(style='max-height:0; overflow:hidden; mso-hide:all;' aria-hidden='true')
 | 
						||
      block preheader
 | 
						||
    //- Visually Hidden Preheader Text : END
 | 
						||
 | 
						||
    //- Create white space after the desired preview text so email clients don’t pull other distracting text into the inbox preview. Extend as necessary.
 | 
						||
    //- Preview Text Spacing Hack : BEGIN
 | 
						||
    div(style='display: none; font-size: 1px; line-height: 1px; max-height: 0px; max-width: 0px; opacity: 0; overflow: hidden; mso-hide: all; font-family: sans-serif;')
 | 
						||
      | ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌
 | 
						||
    //- Preview Text Spacing Hack : END
 | 
						||
 | 
						||
    //-
 | 
						||
      Set the email width. Defined in two places:
 | 
						||
      1. max-width for all clients except Desktop Windows Outlook, allowing the email to squish on narrow but never go wider than 600px.
 | 
						||
      2. MSO tags for Desktop Windows Outlook enforce a 600px width.
 | 
						||
    .email-container(style='max-width: 600px; margin: 0 auto;')
 | 
						||
      //if mso
 | 
						||
        table(align='center' role='presentation' cellspacing='0' cellpadding='0' border='0' width='600')
 | 
						||
          tr
 | 
						||
            td
 | 
						||
      //- Email Body : BEGIN
 | 
						||
      table(align='center' role='presentation' cellspacing='0' cellpadding='0' border='0' width='100%' style='margin: auto;')
 | 
						||
        //- 1 Column Text + Button : BEGIN
 | 
						||
        tr
 | 
						||
          td(style='background-color: #ffffff;')
 | 
						||
            table(role='presentation' cellspacing='0' cellpadding='0' border='0' width='100%')
 | 
						||
              tr
 | 
						||
                td(style='padding: 20px; font-family: sans-serif; font-size: 15px; line-height: 20px; color: #555555;')
 | 
						||
                  table(role="presentation" border="0" cellpadding="0" cellspacing="0" width="100%")
 | 
						||
                    tr
 | 
						||
                      td(width="40px")
 | 
						||
                        img(src=`${WEBSERVER.URL}/client/assets/images/icons/icon-192x192.png` width="auto" height="30px" alt="" border="0" style="height: 30px; background: #ffffff; font-family: sans-serif; font-size: 15px; line-height: 15px; color: #555555;")
 | 
						||
                      td
 | 
						||
                        h1(style='margin: 10px 0 10px 0; font-family: sans-serif; font-size: 25px; line-height: 30px; color: #333333; font-weight: normal;')
 | 
						||
                          block title
 | 
						||
                            if title
 | 
						||
                              | #{title}
 | 
						||
                            else
 | 
						||
                              | Something requires your attention
 | 
						||
                  p(style='margin: 0;')
 | 
						||
                    block body
 | 
						||
              if action
 | 
						||
                tr
 | 
						||
                  td(style='padding: 0 20px;')
 | 
						||
                    //- Button : BEGIN
 | 
						||
                    table(align='center' role='presentation' cellspacing='0' cellpadding='0' border='0' style='margin: auto;')
 | 
						||
                      tr
 | 
						||
                        td.button-td.button-td-primary(style='border-radius: 4px; background: #222222;')
 | 
						||
                          a.button-a.button-a-primary(href=action.url style='background: #222222; border: 1px solid #000000; font-family: sans-serif; font-size: 15px; line-height: 15px; text-decoration: none; padding: 13px 17px; color: #ffffff; display: block; border-radius: 4px;') #{action.text}
 | 
						||
                    //- Button : END
 | 
						||
        //- 1 Column Text + Button : END
 | 
						||
        //- Clear Spacer : BEGIN
 | 
						||
        tr
 | 
						||
          td(aria-hidden='true' height='20' style='font-size: 0px; line-height: 0px;')
 | 
						||
        br
 | 
						||
        //- Clear Spacer : END
 | 
						||
        //- 1 Column Text : BEGIN
 | 
						||
        if username
 | 
						||
          tr
 | 
						||
            td(style='background-color: #cccccc;')
 | 
						||
              table(role='presentation' cellspacing='0' cellpadding='0' border='0' width='100%')
 | 
						||
                tr
 | 
						||
                  td(style='padding: 20px; font-family: sans-serif; font-size: 15px; line-height: 20px; color: #555555;')
 | 
						||
                    p(style='margin: 0;')
 | 
						||
                      | You are receiving this email as part of your notification settings on #{instanceName} for your account #{username}.
 | 
						||
        //- 1 Column Text : END
 | 
						||
      //- Email Body : END
 | 
						||
      //- Email Footer : BEGIN
 | 
						||
      unless hideNotificationPreferences
 | 
						||
        table(align='center' role='presentation' cellspacing='0' cellpadding='0' border='0' width='100%' style='margin: auto;')
 | 
						||
          tr
 | 
						||
            td(style='padding: 20px; padding-bottom: 0px; font-family: sans-serif; font-size: 12px; line-height: 15px; text-align: center; color: #888888;')
 | 
						||
              webversion
 | 
						||
                a.nocolor(href=`${WEBSERVER.URL}/my-account/notifications` style='color: #cccccc; font-weight: bold;') View in your notifications
 | 
						||
              br
 | 
						||
          tr
 | 
						||
            td(style='padding: 20px; padding-top: 10px; font-family: sans-serif; font-size: 12px; line-height: 15px; text-align: center; color: #888888;')
 | 
						||
              unsubscribe
 | 
						||
                a.nocolor(href=`${WEBSERVER.URL}/my-account/settings#notifications` style='color: #888888;') Manage your notification preferences in your profile
 | 
						||
              br
 | 
						||
      //- Email Footer : END
 | 
						||
      //if mso
 | 
						||
    //- Full Bleed Background Section : BEGIN
 | 
						||
    table(role='presentation' cellspacing='0' cellpadding='0' border='0' width='100%' style=`background-color: ${mainColor};`)
 | 
						||
      tr
 | 
						||
        td
 | 
						||
          .email-container(align='center' style='max-width: 600px; margin: auto;')
 | 
						||
            //if mso
 | 
						||
              table(role='presentation' cellspacing='0' cellpadding='0' border='0' width='600' align='center')
 | 
						||
                tr
 | 
						||
                  td
 | 
						||
            table(role='presentation' cellspacing='0' cellpadding='0' border='0' width='100%')
 | 
						||
              tr
 | 
						||
                td(style='padding: 20px; text-align: left; font-family: sans-serif; font-size: 12px; line-height: 20px; color: #ffffff;')
 | 
						||
                  table(role="presentation" border="0" cellpadding="0" cellspacing="0" width="100%")
 | 
						||
                    tr
 | 
						||
                      td(valign="top") #[a(href="https://github.com/Chocobozzz/PeerTube" style="color: white !important") PeerTube © 2015-#{new Date().getFullYear()}] #[a(href="https://github.com/Chocobozzz/PeerTube/blob/master/CREDITS.md" style="color: white !important") PeerTube Contributors]
 | 
						||
            //if mso
 | 
						||
    //- Full Bleed Background Section : END
 | 
						||
    //if mso | IE
 |