Table of contents -->
-
Style Guide
Topic Post Formatting Using Tags and Categories
Extra Bold Text
Tiny Text
Copy-Paste Symbols
Image Float
Boxed Content
Embed a PDF from Google Drive
Popup Content - Inline Footnotes 1
Scrollable Content 2
What is Open Source Culture?
Openness and Sharing
Remote Communication
Abbreviations and Slang
Volunteerism and Gift Economies
Otter.ai Embeds
Otter.ai 1 Audio Posts
iPhone Video Embeds
YouTube Embed 1
Vimeo Embeds
External iFrame
Jump Menu LiveFrame Selector
Auto-Scaling iFrame
Auto-Scaling Jump Menu LiveFrame Selector
Word Cloud Generators
Auto Abbrify
Auto Linkify 1
Inline Audio Recorder
Clickable Topic
Docs Card Filter
Keyboard Text
Included [data-theme] CSS (in common.css)
Sub-sub Categories
Permanently Delete
Site Images (Uploaded)
Discourse on Github
This post is a quick reference tool for authors on this site.
All of the features, plugins, tools, code snippets and online services used in the Post Composer/Editor on this site are demonstrated and documented here.
Style Guide
Topic Post Formatting Using Tags and Categories
Extra Bold Text
****Extra Bold Text****
Tiny Text
[small]Tiny Text[/small]
Copy-Paste Symbols
→ ✎ ➤
https://www.dofactory.com/html/charset/symbols
https://www.toptal.com/designers/htmlarrows/symbols/
https://www.w3schools.com/charsets/ref_emoji.asp
https://www.rapidtables.com/web/html/html-codes.html
https://www.w3schools.com/html/html_symbols.asp
https://fonts.google.com/icons
Image Float
– Float Right

[floatr][/floatr]
– Float Left

[floatl][/floatl]
Boxed Content
– Uses CSS Box-Shadow
– Any content including HTML
<div data-theme-boxed>
<iframe src="https://microchic.com"></iframe>
</div>
– Option to add dash and following: 5, 10, 15, 20, 25, 30, 33, 35, 40, 5, 50, 55, 60, 65, 66, 70, 75, 80, 85, 90, 95
– Boxes can be nested as well
i.e. for 50% width use
<div data-theme-boxed-50>
<iframe src="https://microchic.com"></iframe>
</div>
Embed a PDF from Google Drive
(This is my preferred method for embedding PDFs because they are responsive to window resizing.)
- Share
- Copy Share Link
- Open Share Link in a New Tab
- Click the 3 Vertical Dots in the Top Right Corner
- Select Embed Item
- Copy the Displayed iFrame Code
- Paste it in the Discourse Editor
A Test PDF on Google Drive is embedded here below which you can also << Download Here >>
<iframe src="https://drive.google.com/file/d/1KQ-jn7R0NmZxw955QaPu3lvLFh5zpnDe/preview" width="640" height="480" allow="autoplay"></iframe>
Popup Content - Inline Footnotes
Text [1]
Text ^[Plain text here.]
Text and Image Upload [2]
Text and Image Upload [^1]
[^1]: Text and Image Upload

External iFrame [3]
External iFrame ^[<iframe src="https://microchic.com/">]
HTML Content [4]
^[<h2>HTML Content</h2>[floatr][/floatr]<p>When you...</p>]
Scrollable Content
What is Open Source Culture?

When you encounter an open source group for the first time, it may be a bewildering experience. Whether posting to a mailing list for the first time, blogging about the project you’re taking on or hanging out on an IRC channel - the way people interact, and what they expect from each other is pretty different than in classroom or with friends and family.
Openness and Sharing
Open source communication can vary a lot. A core value held in common is that sharing code is good. Regardless of license, language or indentation style, open source developers create, share and modify source code together.
Working on code together means a lot of things: transparency, directness and cooperation are words that are often mentioned by developers when describing the process. It can involve bug reports, code refactoring, implementing new features, documentation, project management and advocacy.
Amazingly, the ways in which people actually share code are as varied as the individuals involved. Even if you have previous experience with other open source projects, keep in mind that you still need to take the time to learn how the new open source project works, and acquaint yourself with their particular brand of sharing.
One aspect of “open culture” is that people are informal. People address each other by first name. They tend to speak directly to one another, regardless of social status or formal title. Disagreements about code, whether as profound as which algorithm is most appropriate, or as seemingly mundane as how many spaces are used for indentation, are aired in public. This process is very intimidating to newcomers, who might be concerned about having their words immortalized on the Internet, and worse, saying something wrong or embarrassing. The only way to get over this fear is to practice and participate publicly.
Although “open culture” is generally informal, it is important to remember that you still need to mind your manners when participating in conversations.
Remote Communication
Many projects involve individuals who are working not only in different cities, countries and continents, but collaborating across major cultural and language differences. And rather than having procedures or policies on how to interact with one another handed down from HR departments or other authorities, communication practices evolve between individuals over time.
Because there are few rules around working together on open source projects, there is a lot of freedom to share directly with one another. This freedom is at the core of what attracts many people to open source software. Multi-cultural projects offer an incredible opportunity to share knowledge between individuals directly. With sharing, however, comes a responsibility to inform new participants about expectations for communication and ways to solve misunderstandings to the benefit of all.
Be mindful of cultural assumptions about race, gender, sexual orientation and disability. People often make assumptions, have stereotypes or are biased in ways that no one can control. The best practice is to assume that people don’t mean any harm, and when they’re told respectfully that they’ve offended or hurt someone, that they’ll stop whatever it is that they are doing that is harmful.
All that tolerant rhetoric aside, it is never productive for an open source project to allow individuals who consistently try to cause harm to others to do so. If you are causing undue problems don’t be surprised if you are asked to discontinue your participation regardless of your contributions. It’s often better for an open source project to ask someone to leave, than to allow them to harm others and in turn, cause other productive members of your team to depart.
Abbreviations and Slang
People come up with abbreviations and slang that are meaningful inside the group, but not necessarily to outsiders. Ask questions when you don’t understand a term, a joke or some arcane bit of project lore.
Here are a few useful resources for teasing out meaning from initialisms, acronyms and abbreviations:
- Urban Dictionary (http://www.urbandictionary.com)
- Webster’s Online Dictionary (http://www.websters-online-dictionary.org/)
- Acronym Finder (http://www.acronymfinder.com/)
- A to Z word finder (http://www.a2zwordfinder.com/)
Volunteerism and Gift Economies
Donated time is the life blood of open source projects. Many individuals contribute their time and energy without any expectation of compensation or even a simple “thank you” in return.
Contributions to projects are often self-directed, with developers having a personal itch to scratch in the form of a new feature, by correcting a bug that they’ve encountered or by implementing something from a TODO list. Projects operating in this way may seem chaotic if you are only familiar with top-down management - where teachers, professors or bosses tell you what to do and when. Of course, some projects do have clearly defined project management, with milestones and tasks meted out carefully.
Because many (or in some cases all) contributors are volunteering, methods of coercion available to businesses are not available. The best way to collaborate is to behave in a way that encourages others, and ultimately, makes people want to contribute. Some easy ways to encourage volunteerism include:
- Saying thank you
- Giving compliments when they are deserved, regularly and in public
- Publicizing cool hacks and features as they are implemented, in blog posts and on the mailing lists
- Promptly committing useful code
- Responding promptly to requests for information
- Clearly defining ways to contribute to your project (TODO lists are great!)
Consider treating every patch like it is a gift. Being grateful is good for both the giver and the receiver, and invigorates the cycle of virtuous giving.
Overall, your goal is to help create and maintain an atmosphere around contribution that is enjoyable. What that means will vary significantly depending on the project, but certainly the above points apply to any project.
Otter.ai Embeds
<div data-theme-otter>
<iframe src="https://otter.ai/u/vfCA85nskUffo_kZ5_NhfdAg2BA?noGapBottom=true"></iframe>
</div>
Otter.ai Audio Posts
<iframe src="https://framer.cc/our-journey-together/"></iframe>
iPhone Video Embeds
85-year old Gloria filled 33 (55-gallon) trash bags cleaning up our yard today…
- Capture on my iPhone
- Download the .mov file from my iCloud Photos
- Upload the .mov file to Adobe’s free online .mov to .mp4 converter and download the .mp4
- Upload the .mp4 to my Cloudinary Media Library
- Copy the Cloudinary Share Link directly into the Topic Post
- Enjoy!
YouTube Embed
<iframe src="https://microchic.dev/blockchain-simplified/"></iframe>
Vimeo Embeds
https://player.vimeo.com/video/743344591
External iFrame
<iframe src="https://microchic.fm" width="600px" height="500px"></iframe>
<iframe src="https://framer.cc/jumpy-liveframe-selector/" width="600px" height="540px"></iframe>
Auto-Scaling iFrame
<iframe src="https://framer.cc/scaling-iframe-css-transforms/"></iframe>
Auto-Scaling Jump Menu LiveFrame Selector
<iframe src="https://framer.cc/auto-scaling-jumpy-liveframes/"></iframe>
Word Cloud Generators
Copy-Paste Text to Generate SVG (or other image)
URL or Copy-Paste Text to Generate PNG
Otter.ai (Also has an option/feature to Generate Word Cloud from Transcripts)
Auto Abbrify
– What is AI? ← Hover Over
– Affects Topics, not Replies
Auto Linkify
Inline Audio Recorder
Clickable Topic
Docs Card Filter
Keyboard Text
– Can also use for creating boxed links Keyboard Text Here
Included [data-theme] CSS (in common.css)
div[data-theme-boxed] {
border-left: 0;
background-color: #F5F2EF;
padding: 1em;
box-shadow: 0 1.36px 8.896px #c4b59d, 0 0 1px !important;
border-radius: 4px;
}
div[data-theme-boxed-95] {
width: 95%;
border-left: 0;
background-color: #F5F2EF;
padding: 1em;
box-shadow: 0 1.36px 8.896px #c4b59d, 0 0 1px !important;
border-radius: 4px;
}
div[data-theme-boxed-90] {
width: 90%;
border-left: 0;
background-color: #F5F2EF;
padding: 1em;
box-shadow: 0 1.36px 8.896px #c4b59d, 0 0 1px !important;
border-radius: 4px;
}
div[data-theme-boxed-85] {
width: 85%;
border-left: 0;
background-color: #F5F2EF;
padding: 1em;
box-shadow: 0 1.36px 8.896px #c4b59d, 0 0 1px !important;
border-radius: 4px;
}
div[data-theme-boxed-80] {
width: 80%;
border-left: 0;
background-color: #F5F2EF;
padding: 1em;
box-shadow: 0 1.36px 8.896px #c4b59d, 0 0 1px !important;
border-radius: 4px;
}
div[data-theme-boxed-75] {
width: 75%;
border-left: 0;
background-color: #F5F2EF;
padding: 1em;
box-shadow: 0 1.36px 8.896px #c4b59d, 0 0 1px !important;
border-radius: 4px;
}
div[data-theme-boxed-70] {
width: 70%;
border-left: 0;
background-color: #F5F2EF;
padding: 1em;
box-shadow: 0 1.36px 8.896px #c4b59d, 0 0 1px !important;
border-radius: 4px;
}
div[data-theme-boxed-66] {
width: 66.666%;
border-left: 0;
background-color: #F5F2EF;
padding: 1em;
box-shadow: 0 1.36px 8.896px #c4b59d, 0 0 1px !important;
border-radius: 4px;
}
div[data-theme-boxed-65] {
width: 65%;
border-left: 0;
background-color: #F5F2EF;
padding: 1em;
box-shadow: 0 1.36px 8.896px #c4b59d, 0 0 1px !important;
border-radius: 4px;
}
div[data-theme-boxed-60] {
width: 60%;
border-left: 0;
background-color: #F5F2EF;
padding: 1em;
box-shadow: 0 1.36px 8.896px #c4b59d, 0 0 1px !important;
border-radius: 4px;
}
div[data-theme-boxed-55] {
width: 55%;
border-left: 0;
background-color: #F5F2EF;
padding: 1em;
box-shadow: 0 1.36px 8.896px #c4b59d, 0 0 1px !important;
border-radius: 4px;
}
div[data-theme-boxed-50] {
width: 50%;
border-left: 0;
background-color: #F5F2EF;
padding: 1em;
box-shadow: 0 1.36px 8.896px #c4b59d, 0 0 1px !important;
border-radius: 4px;
}
div[data-theme-boxed-45] {
width: 45%;
border-left: 0;
background-color: #F5F2EF;
padding: 1em;
box-shadow: 0 1.36px 8.896px #c4b59d, 0 0 1px !important;
border-radius: 4px;
}
div[data-theme-boxed-40] {
width: 40%;
border-left: 0;
background-color: #F5F2EF;
padding: 1em;
box-shadow: 0 1.36px 8.896px #c4b59d, 0 0 1px !important;
border-radius: 4px;
}
div[data-theme-boxed-35] {
width: 35%;
border-left: 0;
background-color: #F5F2EF;
padding: 1em;
box-shadow: 0 1.36px 8.896px #c4b59d, 0 0 1px !important;
border-radius: 4px;
}
div[data-theme-boxed-33] {
width: 33.333%;
border-left: 0;
background-color: #F5F2EF;
padding: 1em;
box-shadow: 0 1.36px 8.896px #c4b59d, 0 0 1px !important;
border-radius: 4px;
}
div[data-theme-boxed-30] {
width: 30%;
border-left: 0;
background-color: #F5F2EF;
padding: 1em;
box-shadow: 0 1.36px 8.896px #c4b59d, 0 0 1px !important;
border-radius: 4px;
}
div[data-theme-boxed-25] {
width: 25%;
border-left: 0;
background-color: #F5F2EF;
padding: 1em;
box-shadow: 0 1.36px 8.896px #c4b59d, 0 0 1px !important;
border-radius: 4px;
}
div[data-theme-boxed-20] {
width: 20%;
border-left: 0;
background-color: #F5F2EF;
padding: 1em;
box-shadow: 0 1.36px 8.896px #c4b59d, 0 0 1px !important;
border-radius: 4px;
}
div[data-theme-boxed-15] {
width: 15%;
border-left: 0;
background-color: #F5F2EF;
padding: 1em;
box-shadow: 0 1.36px 8.896px #c4b59d, 0 0 1px !important;
border-radius: 4px;
}
div[data-theme-boxed-10] {
width: 10%;
border-left: 0;
background-color: #F5F2EF;
padding: 1em;
box-shadow: 0 1.36px 8.896px #c4b59d, 0 0 1px !important;
border-radius: 4px;
}
div[data-theme-boxed-5] {
width: 5%;
border-left: 0;
background-color: #F5F2EF;
padding: 1em;
box-shadow: 0 1.36px 8.896px #c4b59d, 0 0 1px !important;
border-radius: 4px;
}
div[data-theme-otter] {
overflow:hidden;
box-shadow: 0 1.36px 8.896px #c4b59d, 0 0 1px !important;
border-radius: 4px;
border-top: 10px solid #fff;
border-right: 10px solid #fff;
border-bottom: 3px solid #fff;
padding-top: 30px;
}
.cooked div[data-theme-otter] {
iframe {
box-shadow: none !important;
}
}
div[data-theme-otter] {
iframe {
margin: -90px 0 0;
height: 440px !important;
}
}
[data-theme="jonebox"] {
border: 5px solid var(--primary-low);
margin: 1em 0;
padding: 1em;
font-size: var(--font-0);
background: var(--secondary);
width: 40%;
}
div[data-theme-hide-details] {
details {
display: none;
}
}
Inline TOC Bookmarklet
Allow Admins to Permanently Delete
There is a hidden site setting permanently_delete
…
cd /var/discourse
./launcher enter app
rails c
SiteSetting.can_permanently_delete=true
exit
exit
Allow Discourse in iFrames
There is a hidden site setting allow_embedding_site_in_an_iframe
…
cd /var/discourse
./launcher enter app
rails c
SiteSetting.allow_embedding_site_in_an_iframe=true
exit
exit
Allow Sub-sub Categories
There is a hidden site setting max_category_nesting
…
cd /var/discourse/
./launcher enter app
rails c
SiteSetting.max_category_nesting = 3
exit
exit
Discourse on Github
https://github.com/discourse/all-the-themes/tree/main/themes
Extra Site Images (Jen’s Uploaded)
Plain text here. ↩︎
Text and Image Upload
↩︎
HTML Content
When you encounter an open source group for the first time, it may be a bewildering experience. Whether posting to a mailing list for the first time, blogging about the project you’re taking on or hanging out on an IRC channel - the way people interact, and what they expect from each other is pretty different than in classroom or with friends and family.
Openness and Sharing
Open source communication can vary a lot. A core value held in common is that sharing code is good. Regardless of license, language or indentation style, open source developers create, share and modify source code together.
Working on code together means a lot of things: transparency, directness and cooperation are words that are often mentioned by developers when describing the process. It can involve bug reports, code refactoring, implementing new features, documentation, project management and advocacy.
Amazingly, the ways in which people actually share code are as varied as the individuals involved. Even if you have previous experience with other open source projects, keep in mind that you still need to take the time to learn how the new open source project works, and acquaint yourself with their particular brand of sharing.
One aspect of “open culture” is that people are informal. People address each other by first name. They tend to speak directly to one another, regardless of social status or formal title.
Disagreements about code, whether as profound as which algorithm is most appropriate, or as seemingly mundane as how many spaces are used for indentation, are aired in public. This process is very intimidating to newcomers, who might be concerned about having their words immortalized on the Internet, and worse, saying something wrong or embarrassing. The only way to get over this fear is to practice and participate publicly.
Although “open culture” is generally informal, it is important to remember that you still need to mind your manners when participating in conversations.
Remote Communication
Many projects involve individuals who are working not only in different cities, countries and continents, but collaborating across major cultural and language differences. And rather than having procedures or policies on how to interact with one another handed down from HR departments or other authorities, communication practices evolve between individuals over time.
Because there are few rules around working together on open source projects, there is a lot of freedom to share directly with one another. This freedom is at the core of what attracts many people to open source software. Multi-cultural projects offer an incredible opportunity to share knowledge between individuals directly. With sharing, however, comes a responsibility to inform new participants about expectations for communication and ways to solve misunderstandings to the benefit of all.
Be mindful of cultural assumptions about race, gender, sexual orientation and disability. People often make assumptions, have stereotypes or are biased in ways that no one can control. The best practice is to assume that people don’t mean any harm, and when they’re told respectfully that they’ve offended or hurt someone, that they’ll stop whatever it is that they are doing that is harmful.
All that tolerant rhetoric aside, it is never productive for an open source project to allow individuals who consistently try to cause harm to others to do so. If you are causing undue problems don’t be surprised if you are asked to discontinue your participation regardless of your contributions. It’s often better for an open source project to ask someone to leave, than to allow them to harm others and in turn, cause other productive members of your team to depart.
Abbreviations and Slang
People come up with abbreviations and slang that are meaningful inside the group, but not necessarily to outsiders. Ask questions when you don’t understand a term, a joke or some arcane bit of project lore.
Here are a few useful resources for teasing out meaning from initialisms, acronyms and abbreviations:
- Urban Dictionary (http://www.urbandictionary.com)
- Webster’s Online Dictionary (http://www.websters-online-dictionary.org/)
- Acronym Finder (http://www.acronymfinder.com/)
- A to Z word finder (http://www.a2zwordfinder.com/)
Volunteerism and Gift Economies
Donated time is the life blood of open source projects. Many individuals contribute their time and energy without any expectation of compensation or even a simple “thank you” in return.
Contributions to projects are often self-directed, with developers having a personal itch to scratch in the form of a new feature, by correcting a bug that they’ve encountered or by implementing something from a TODO list. Projects operating in this way may seem chaotic if you are only familiar with top-down management - where teachers, professors or bosses tell you what to do and when. Of course, some projects do have clearly defined project management, with milestones and tasks meted out carefully.
Because many (or in some cases all) contributors are volunteering, methods of coercion available to businesses are not available. The best way to collaborate is to behave in a way that encourages others, and ultimately, makes people want to contribute. Some easy ways to encourage volunteerism include:
- Saying thank you
- Giving compliments when they are deserved, regularly and in public
- Publicizing cool hacks and features as they are implemented, in blog posts and on the mailing lists
- Promptly committing useful code
- Responding promptly to requests for information
- Clearly defining ways to contribute to your project (TODO lists are great!)
Consider treating every patch like it is a gift. Being grateful is good for both the giver and the receiver, and invigorates the cycle of virtuous giving.
Overall, your goal is to help create and maintain an atmosphere around contribution that is enjoyable. What that means will vary significantly depending on the project, but certainly the above points apply to any project.
↩︎