!(MISSING)important fmt.Sprintf

I need to convert html and css into one line string this is my code

var buffer bytes.Buffer
buffer.WriteString(fmt.Sprintf("<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'> <html xmlns='http://www.w3.org/1999/xhtml'><head> <meta name='viewport' content='width=device-width, initial-scale=1.0' /> <meta http-equiv='Content-Type' content='text/html; charset=UTF-8' /> <style type='text/css' rel='stylesheet' media='all'> *:not(br):not(tr):not(html) { font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif; -webkit-box-sizing: border-box; box-sizing: border-box; } body { width: 100%% !important; height: 100%%; margin: 0; line-height: 1.4; background-color: #F2F4F6; color: #74787E; -webkit-text-size-adjust: none; } a { color: #3869D4; } .email-wrapper { width: 100%%; margin: 0; padding: 0; background-color: #F2F4F6; } .email-content { width: 100%%; margin: 0; padding: 0; } .email-masthead { padding: 25px 0; text-align: center; } .email-masthead_logo { max-width: 400px; border: 0; } .email-masthead_name { font-size: 16px; font-weight: bold; color: #2F3133; text-decoration: none; text-shadow: 0 1px 0 white; } .email-logo { max-height: 50px; } .email-body { width: 100%%; margin: 0; padding: 0; border-top: 1px solid #EDEFF2; border-bottom: 1px solid #EDEFF2; background-color: #FFF; } .email-body_inner { width: 570px; margin: 0 auto; padding: 0; } .email-footer { width: 570px; margin: 0 auto; padding: 0; text-align: center; } .email-footer p { color: #AEAEAE; } .body-action { width: 100%%; margin: 30px auto; padding: 0; text-align: center; } .body-dictionary { width: 100%%; overflow: hidden; margin: 20px auto 10px; padding: 0; } .body-dictionary dd { margin: 0 0 10px 0; } .body-dictionary dt { clear: both; color: #000; font-weight: bold; } .body-dictionary dd { margin-left: 0; margin-bottom: 10px; } .body-sub { margin-top: 25px; padding-top: 25px; border-top: 1px solid #EDEFF2; table-layout: fixed; } .body-sub a { word-break: break-all; } .content-cell { padding: 35px; } .align-right { text-align: right; } h1 { margin-top: 0; color: #2F3133; font-size: 19px; font-weight: bold; } h2 { margin-top: 0; color: #2F3133; font-size: 16px; font-weight: bold; } h3 { margin-top: 0; color: #2F3133; font-size: 14px; font-weight: bold; } blockquote { margin: 1.7rem 0; padding-left: 0.85rem; border-left: 10px solid #F0F2F4; } blockquote p { font-size: 1.1rem; color: #999; } blockquote cite { display: block; text-align: right; color: #666; font-size: 1.2rem; } cite { display: block; font-size: 0.925rem; } cite:before { content: '\2014 \0020'; } p { margin-top: 0; color: #74787E; font-size: 16px; line-height: 1.5em; } p.sub { font-size: 12px; } p.center { text-align: center; } table { width: 100%%; } th { padding: 0px 5px; padding-bottom: 8px; border-bottom: 1px solid #EDEFF2; } th p { margin: 0; color: #9BA2AB; font-size: 12px; } td { padding: 10px 5px; color: #74787E; font-size: 15px; line-height: 18px; } .content { align: center; padding: 0; } .data-wrapper { width: 100%%; margin: 0; padding: 35px 0; } .data-table { width: 100%%; margin: 0; } .data-table th { text-align: left; padding: 0px 5px; padding-bottom: 8px; border-bottom: 1px solid #EDEFF2; } .data-table th p { margin: 0; color: #9BA2AB; font-size: 12px; } .data-table td { padding: 10px 5px; color: #74787E; font-size: 15px; line-height: 18px; } .button { display: inline-block; width: 200px; background-color: #3869D4; border-radius: 3px; color: #ffffff; font-size: 15px; line-height: 45px; text-align: center; text-decoration: none; -webkit-text-size-adjust: none; mso-hide: all; } @media only screen and (max-width: 600px) { .email-body_inner, .email-footer { width: 100%% !important; } } @media only screen and (max-width: 500px) { .button { width: 100%% !important; } } </style> </head><body dir='ltr'> <table class='email-wrapper' width='100%%' cellpadding='0' cellspacing='0'> <tr> <td class='content'> <table class='email-content' width='100%%' cellpadding='0' cellspacing='0'><tr> <td class='email-masthead'> <a class='email-masthead_name' href='https://example-hermes.com/' target='_blank'><img src='https://unie-assets.ams3.digitaloceanspaces.com/images/logo-unie.png' class='email-logo' /></a> </td> </tr><tr> <td class='email-body' width='100%%'> <table class='email-body_inner' align='center' width='570' cellpadding='0' cellspacing='0'>"))

and it returns an invalid string I found one error in css

 .button {
            width: 100% !important;
 }

and in the out put it looks like this

    .button { width: 100% !!(MISSING)important;}

Why are you using fmt.Sprintf there? Looks like you are not giving it any more arguments other than your string.

By the way, from the topics you have created recently it looks like perhaps you should take a look at html/template https://golang.org/pkg/html/template/

That’s a much better way of dealing with HTML and the things you look to be doing :slight_smile:

2 Likes

Hi

You must have done something else afterwards with the buffer because you little snippet works without producing the “missing” string

https://goplay.space/#vHW5dD7Z8wB

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.