The source code editor lets you edit the HTML source of articles and content blocks for the help center. This lets you customize and style help center content in ways that aren't possible using the standard WYSIWYG editor.
Edit the article source code
You can customize your help center articles by using the article source code editor to edit the HTML of your articles.
- In the help center or Guide admin, create or edit an article or content block.
- In the article or content block, click the source code icon (
) on the toolbar.
- In the source code editor, create or edit the source code you want to use. See Supported HTML for help center articles for a list of
supported elements.
- Click Apply to save your edits and close the source code view.
Clean up styles in the article source code
When you copy and paste content from an HTML page into your help article, you may bring along undesired styles that clutter your article source code and compromise the consistency of your help center. You can use the Clean up styles button in the Source code editor to strip out any inline styles that are not essential for the article editor to work. The Clean up styles button does not affect CSS classes or theming, nor does it affect inline styles that are necessary for the article editor (for example, font foreground and background and table cell heights and widths).
- In the help center or Guide admin, create or edit an article or content block.
- In the article or content block, click the source code icon (
) on the toolbar.
The source code editor opens, displaying all code and inline styles.
- In the source code editor, click Clean up styles.
The unsupported inline styles are removed from the source code view.
- Click Apply to save your edits and close the source code view.
- Click Save to save your changes.
Important considerations when editing source code
Empty HTML container elements
Zendesk automatically removes most empty container elements, such as i
or span
. These elements typically must contain content to be rendered.
Zendesk doesn't remove empty p
tags. Instead, Zendesk inserts
as the element's content. Example:
<p> </p>
Unsafe HTML
By default, Zendesk considers the following HTML elements to be unsafe.
applet, button, embed, form, input, object, script, textarea, style
Handling unsafe HTML in articles
For articles, the source code editor doesn't remove unsafe HTML elements or unsupported HTML attributes. Instead, they're excluded in the HTTP responses used to render the help center articles. As a result, articles might not render as intended.
Allowing unsafe HTML in articles
You can override the default setting to allow unsafe HTML in help center articles.
Warning: Making this change will allow potentially malicious code to be executed when users open an article in a browser.
To allow unsafe HTML in HTTP responses
- In Guide, click the Settings icon (
) in the sidebar.
- Under Security, select the Display Unsafe Content option.
- Click Update.
Handling unsafe HTML in content blocks
For content blocks, the source code editor removes unsafe HTML elements and unsupported
attributes. The content inside an unsafe element is placed in a p
element as described in Unknown HTML.
Unknown HTML
HTML elements that are not supported are considered unknown. Unsupported HTML is handled differently, based on whether you are editing a content block or a help center article.
If you're editing a content block, HTML blocks recognize unsupported content and wrap it in an HTML block. You can click the HTML block in the content block editor to open a source code editor that only displays the code for that block. You can use this focused view to manipulate the HTML for your selected content without scrolling through the source code for the entire content block. See Using HTML blocks to edit code in content blocks.
mytag
element.<mytag>Hello world!</mytag>
In the HTTP responses used to render the help center, the mytag
element
is removed. Its content is instead placed in a p
element.
<p>Hello world!</p>
Styling HTML in help articles
Where possible, Zendesk recommends the class
attribute and related CSS
classes to style HTML in help center articles. The CSS classes should be defined in the
help center theme. For more information, see Customizing your help center theme.
When creating CSS rules for your help center theme, avoid using nested selectors, such as
div.container > p > img
. Such rules are difficult to maintain and can
target unintended elements. Instead, use selectors that directly style a class, such as
.container-image
. Then directly add the class to affected HTML elements
using the class
element. For example: <img
class="container-image" ...>
Avoid using the style
attribute to apply inline styling to HTML
elements. Inline styling is difficult to maintain and can result in inconsistent
styling.
22 comments
Julia Shyshliuk
Hi Zendesk Team, can I find any general resources at all to learn how to use the iframes in Zendesk Guide articles?
0
Russell Chee
Hey Julia,
Thanks for reaching out to Zendesk Support about your query, I hope you are doing well. I would like to set expectations that at this current time using iframe on Zendesk Guide articles are not supported as an intended workflow. There are third party resources that may be able to assist as a workaround but unfortunately we do not have any native articles that could assist on this. Let me know if you have any other questions or need anything else!
Russell
0
Kat Thorson
So what in this coding is considered "unsafe" since it seems to be used everywhere for creating a note or warning box? When I use this code for creating note boxes, it won't appear in the published article because "display unsafe content is off.
<section>
<div style="background-color: #daf0ff; padding: 15px;">
<p>Example text is here</p>
</div>
</section>
1
Dave Dyson
Hi Kat,
As the article says, any tag or attribute that's not included in the lists above is considered unsafe; in your case, this would include the section tag, and the background-color and padding attributes.
However, you can achieve much the same result without having to enable unsafe content, by adding a class to your theme's style.css file, and then referencing that in the article (since the class tag is considered safe). For example, if you add the following to the style.css file:
.warning-box {
background-color: #daf0ff;
padding: 15px;
}
And then replace the your article html with this:
<div class="warning-box">
<p>Example text is here</p>
</div>
Your warning box should then appear in your published article:
1
Kath
Hi,
Our help center is set to display unsafe and together with that we are using css of
to hide some content we are readying prior to a release.
This works great in the browser and the articles are not showing the hidden content. However, the Help Web Widget displayed on our pages is displaying the hidden content when displaying an article and the css is being stripped out.
Any suggestions to prevent hidden content displaying via the web widget?
0
Greg Katechis
Hi Kath! One way that you could accomplish this is by filtering your help center content in the widget. It's an inclusive filter, so it's a bit of a pain in the neck, but you could section off the content that you want hidden into its own category and then only display content from other categories. You can see how to accomplish that in this article.
0
Kath
Hi Greg,
Thank you. The content we are hiding is in an article where we wish the remainder of the article to show so we are using -
<div class="oashide">hidden text here</div>
Your response, if I am understanding, suggests it would need to be in a separate article in a separate category which we want to avoid. So am I correct in assuming that the the help center web widget will strip out this css? I'm confused as all articles I have found say that using css rather than html to hide content should work.
0
Greg Katechis
Ah, my apologies...I somehow zeroed in on one aspect of your comment and missed the crux of what you were asking. My solution is definitely not what you're looking for in that case.
To be honest, I haven't encountered the widget doing anything different with the CSS, but it's entirely possible that it does. I'm going to run some tests in my account to see if I can come up with something here that will work for you. I'll get back to you one way or the other within the hour!
0
Greg Katechis
Just so that I can make sure we are using the same settings, do you have a link to a page where your widget is deployed? If it's not something that you can share here, let me know and I can create a private ticket for us.
0
Kath
Thank you. I would have to give you login access to our test database so a private ticket would be great and then I will give you a link the tutorial/article in the kb browser and a login so that you can search for same tutorial in web widget.
0
Valentine
Hi,
I added the class in style.css file, and then used it in an article, following the instruction from Dave Dyson. It is now correct in my help center however this code is not showing on the web widget help center..
Is there a specific manipulation to do in order to make sure that the web widget shows the same as my help center?
Thanks for your help.
0
Operations Support
UPDATE: To find this setting it is actually
1. In Guide, on the sidebar, click the Settings icon.
2. Under Guide Setting > Security, click Display Unsafe Content check box.
3. Click Update.
0
Stefano Volpe
Hi! Are safe tags and attributes for tickets the same as the ones listed here? Or perhaps there are two different lists for those altogether?
0
Gorka Cardona-Lauridsen
@... take a look at Welcome to WhatsApp in Zendesk Support.
If you can't find what you need there you should contact our support using the chat in the bottom right corner.
![](/hc/user_images/g1F5QEv-64Rus3-6iGGfYA.png)
1
David Bjorgen
The "safe" list is missing a few semantic HTML elements:
1
Alan Blair
Does anyone know of any workarounds/resolutions to this?
0
David Bjorgen
Alan Blair you can wrap Font Awesome in <span> tags instead of <i> tags. In certain cases, such as tables, empty <span> tags are removed, so you have to add a non-breaking space ( ) inside the <span>.
1
Felix Tilgner
Hi, I was wondering if it is possible to add custom options to the WYSIWYG editor?
I have certain elements that I want to use consistent formatting, which is not available via the editor. For this purpose, I have created custom classes in the CSS style file, but I am not able to use these classes without having to open the source code every time.
0
Paolo
Currently, the options in the editor are fixed. If you can't find the specific option you need for your article, you can always add it in the source code or theme code. Providing this feedback would be really helpful for us to improve our product.
I suggest creating a new post in the General Product Feedback topic in our community. This way, you can connect with other users who might have similar needs and explore potential workarounds together. Engaging in discussions with a lot of users can catch the attention of our product managers during roadmap planning. Thank you.
Best,
Paolo | Technical Support Engineer | Zendesk
0
Oleksandr Nebylytsia
Hi.
I see <script> as unsafe HTML elements. But how can i implement Schema markup with Json-LD script? It is totally safe script which i need to make my articles more accesible for Google.
0
David Bjorgen
Oleksandr Nebylytsia you'll need to navigate to the “Security” section in your Guide settings and make sure the “Display unsafe content” option is checked.
0
John Jarvie
Hello,
During the initial migration to Zendesk, embedded code from the previous HC provider was included in the articles. It doesn't impact the functionality, but I would like to avoid future problems. Is there a way of searching for and stripping all of that code automatically? It is a long manual process because I have to get into the code of each article individually.
0