Flowerbox Headers on top and bottom of a header


Wont be an issue with horizontal rules, since you are checking this sequence:
\n\n + setext headers + \n + header text + \n + setext headers

horizontal rules would have newline on top and bottom.
\n\n + setext headers + \n\n

Jekyll style metadata header would be an issue however. But it would have to be a single line metadata, and I’m not sure if that is common enough to worry about. If it is, how would you tackle this? (but if we are going to use % for single line metadata, then why not %%% fencing?)



See Example 20 in the spec, a heading which is not surrounded by blank lines. So some rules would need to be changed, potentially breaking existing Markdown documents (but I am speculating here).

Regarding Jekyll-style meta data, it depends what you think is the more important feature. We already have three ways of writing second level headings, so perhaps this feature, while nice, is overkill.



I have a feeling I’ll be using this more. Since I do get pretty annoyed at trying to distinguish certain section headers.

Also instead of Jekyll syntax. We could perhaps use my current thought in this post Metadata in documents . Where I propose that we place metadata just under headers or rulers (assuming that these metadata is placed in attribute of an entire section.)

Alternatively, we could just use generic directive !metadata: (edit: maybe this presents the information in it’s own dedicated meta tag, while the other example above places it in the attributes).

Also no issue with example 20 . Not saying that we should remove the single setext version. Just saying to also detect double setext as well. (If you see setext text then text then setext, then it is a header. If text then setext, then it is also a header)


previous section with a line break below

Second level heading

There are potentially Markdown documents out there which would intend for the first --- to translate into a horizontal rule (closing off the previous section).



Hmmm… okay, say in a resume. Does flowerbox header indicate perhaps both a new “theme” <hr> and a header <h1>? For single setext, it’s just a normal header.

Have a look at this mock resume, and tell me what you think about double setext’s meaning.

Address:	32 tenne st, alighe, Cvornia 
Phone:		32334232
Email:		johnburen@example.com  


###	The University of Cvonia (Tertiary)
| Bachelor of Philosophy (2000 - current)
| Major in Cybernetics
###	Leage High School (LHS) (Secondary)
| CET: (SCORE 97.5)
| Slegddon top, North Walf

 Work / Volunteer Experience 

###	Clean up Cvonia Day (2012)
| Where we cleaned up all the rubbish etc...

Interests, Activities, Abilities

* Cats
* Dogs
* Birds
* Not ants

## References ##


Alternatively, we just chalk it up to progress yo and just implement it. Not very semantic to be placing horizontal lines too close to another header anyway.

The document declaration will help with choosing the right behaviour.



It looks nice, and I agree placing horizontal lines close together does not look visually appealing.

Breaking backward compatibility is problematic though and I’m opposed to document declarations for Markdown (or other programmer-like switches for enabling/disabling features). Refer to my post in the declaration tag topic.



Still falls back as text, so it’s not a horrible collapse on the original markdown parser.

E.g. this is how it actually fails (according to http://spec.commonmark.org/dingus.html)




Is rendered like:

START OF EXAMPLE___________________________

=================== JOHN BUREN ===================



END OF EXAMPLE_________________________________

And this is reasonable, especially for the second example. For commonmark. Well we are still not V1 yet, so all the more reason to get this in.

In current markdown parsers out there, my approach is:

# Header  1 #

## Header 2 ##

But i prefer the flowerbox header (since I rather not render horizontal lines for every header)

edit: more distinctive naming for header type.



Setext headers do not go on the top and bottom, they are exclusively on the bottom of the heading. Requesting this change diverges in a significant way from the original markdown spec. I’m more of a purist in that I’d like to keep the core spec as close to the original as possible, with the edge cases explicitly called out.

I think this would make a reasonable extension request so long as you give it a different name. Calling it “setext headers” is misleading. I would call it “flowerboxing headers”.



Box header perhaps? Then again flowerbox header is more distinctive, so we can go with that.

About keeping to markdown. We can either keep to original spec like fundamentalist, or we can improve upon it like progressives (reminds me of religion). Both has it’s importance.

In this case however, there is an advantage in readability (easier to see important header divisions) that is bigger than the divergence from baseline spec.



I’m not against making changes, I’m of the opinion that significant changes should be called out as optional extensions so that existing valid implementations continue to be valid implementations.

Of course there will likely be minor bugs in the spec, or edge cases that get called out that a valid implementor would need to address to stay valid, but these should be minimal.



Fair enough, that’s a very valid point. Hmmm… so again my core point is that this is really only a minor extension to the original setext header, but the cost is offsetted by the advantage of being able to clearly make distinction between major header sections in a document.



I’d not do that at all.

To achive this kind of format might be better use the block attribute extension.


# NAME {.box}


I was editing some markup yesterday (wikitext, but the principle is the same) and came across a document formatted like this:

Paragraph Text
Paragraph Text

There are only single line breaks between headings and paragraphs. This demonstrates that there are existing documents are formatted is this way. If backward compatibility is a concern, it is dangerous to change the behaviour, even as an extension (which we should aim to degrade gracefully).

From the front page of commonmark.org, the description of CommonMark is (emphasis added):

A strongly specified, highly compatible implementation of Markdown.

And this:

We propose a standard, unambiguous syntax specification for Markdown, along with a suite of comprehensive tests to validate Markdown implementations against this specification. We believe this is necessary, even essential, for the future of Markdown.

For better or worse, this is a conservative goal, not a progressive one. To formalise Markdown, not progress the language in a way that breaks backward compatibility.



The flowerbox header is an alias of setext header. It has no styling.

I see. :confused: well hopefully there is a home for this concept then. Like an official commonmark extended specification, that can afford to break compatibility in the name of progressing towards the spirit of markdown (visual readability).



It isn’t that readable having additional visual elements (I’m one that would keep just the # notation…)



When doing text resumes, or presentable text files. I do find # to be rather ugly. And when you have a large document that consist of purely of # &/or setext headers, it can be rather hard to distinguish between sections unless you use horizontal rules. But horizontal rules is more of a hack. And I don’t like hacks.



the heading do not say much about sections and we do not have explicit section-markers =/

1 Like



Well, what’s not to say that this flowerbox header could be a way to provide both “section” and “header” at the same time? (thus if you don’t want sections, you use normal setext. If you want sections, you use flowerbox headers):

The World Wide Fund for Nature (WWF) is...

leads to

  <p>The World Wide Fund for Nature (WWF) is....</p>

If the objection is that it takes 3 lines. Then the other alternative is to do this:

# header 1 #

## header 2 ##

### header 3 ###



As extension looks neat. but you need an end-section as well.

so we’d be back to




okay. Well how shall we treat documents that look like http://www.textfiles.com/uploads/oxiclean.txt


                       The Truth Behind OxiClean

                             by The Keeper

			  September 20, 1999


After sitting through about 15 minutes of the OxiClean infomercial the
other night, I sensed that they weren't telling me the whole truth. For
one thing, they kept insisting on the "naturalness" of the product and
how safe it was for everything, because it was non-toxic. I started
thinking "What kind of product exists that is natural, yet unheard of,
for cleaning - and contains oxygen?". What immediately came to my mind,
was, of course, nothing more than hydrogen peroxide...

Hydrogen peroxide? Could it be that simple? I figured I would do a bit
of research on the web the following morning (I watched the commercial
very late at night or early in the morning, depending on how you look
at it). I also knew that baking soda/peroxide was a dental favorite, so
the concept looked promising.

First off, I bypassed the OxiClean site (http://www.oxiclean.com/, in
case you are interested) immediately, and went straight to my favorite
search engine. Once there, I did searches on the words "oxiclean",
"hydrogen peroxide", and "stains". Most hits were from pages apparently
selling OxiClean. One interesting page came up about a product called
Oxi-Boost (http://www.execpc.com/~naturalc/links.htm). From what I could
gather, this product is the same as OxiClean - however, these pages also
contained a FAQ about Oxy-Boost, what it is, and how it compares to 
OxiClean. The following is from that FAQ (my comments will be contained
in brackets []. Also, the FAQ has been formatted by myself to better
conform to a text file layout):

The Oxy-Boost FAQ

1.Does Oxy-Boost contain any fillers? 

  Oxy-Boost has 100% active ingredients (sodium percarbonate) with ab-
  solutely no fillers, fragrances or other additives. It is the same as
  other top performing oxygen bleaching products as advertised nationally
  on Infomercials or the internet. Oxy-Boost is made from the natural
  mineral, sodium carbonate, and will give exactly the same performance
  as any other advertised sodium percarbonate oxygen bleachng product,

  [Hmm! Sodium Percarbonate? What is that? Then, sodium carbonate (baking
  powder). More hmm...]

2.Why does Oxy-Boost cost so much less than Infomercial Advertised Oxygen

  The simple answer is that we charge a fair price and receive a fair
  profit for a great product. The price that people are paying for Info-
  mercial Advertised Oxygen Bleach is extremely overpriced considering
  what it is!! Also, Natural Choices doesn't have to pay for the infomer-


  Oxygen Bleach #1

    1 pound  - $15.00
  2.5 pounds - $22.00
    9 pounds - $59.00 

  Oxygen Bleach #2

    1 pound  - $19.95
    2 pounds - $38.95
    4 pounds - $49.95 

  Natural Choices Oxy-Boost

    1 pound  - $6.00
    6 pounds - $25.00
   20 pounds - $69.00 
  [Ok, from this price breakdown, we can deduce that Oxygen Bleach #1 is
   OxiClean, based on its price, and comparing to the prices on the
   OxiClean homepage. Oxygen Bleach #2 is unknown (anybody know it?), but
   damn! - it's expensive! Then there is Oxy-Boost - which, from what I
   can see, seems more resonable - or is it?]

3.Why should I buy Oxy-Boost instead of Infomercial Advertised Oxygen

  Natural Choices has been marketing oxygen bleach technology for four
  years. We have over 20 years of formulating experience with consumer
  and industrial products. We provide complete customer and technical 
  service. We encourage you to contact us with a question or a problem.
  Our money back guarantee is good at any time after you purchase the
  product, not just 30 days as Infomercial Advertised Oxygen Bleach has.

  [Heck, why should I buy any product from sombody trying to make a
   profit off of me? Especially one that is seeming more and more likely
   to be something I can either get even cheaper, or MAKE at home!]

4.Who is Natural Choices? 

  Natural Choices was started in 1995 by Catherine Myers. She is the 
  mother of four young children and was concerned about the cleaning 
  products used in and around the home. After researching available
  cleaning product technologies she knew that she could offer consumers
  safer to use cleaning products at a reasonable price. Natural Choices 
  is operated by Catherine and her husband, Marion (Mack).

  Natural Choices also markets Orange Power, a concentrated linonene
  (orange oil) cleaner and (soon) Oxy-Prime and Oxy-Prime Plus Laundry

  [Ok, these people seem like they are trying to do the "right thing",
   while making a little money for themselves. However, I am going to
   do them one better - what you are reading is my attempt to provide
   the knowledge behind these products, so that you can do the same as
   Mrs. Myers did - that is, the research and finding of how these
   products can be done by anyone. I mean, if this housewife can do it,
   anybody can - for free.]

5.What is Oxy-Boost? 

  Oxy-Boost is sodium percarbonate; a solid form of hydrogen peroxide
  bonded with natural soda ash. It is a white, odorless, free flowing
  powder. It is activated by water where it releases oxygen which prov-
  ides cleaning and stain removal. Unlike chlorine based bleaches, sod-
  ium percarbonate is non-toxic and biodegradable.

  [Alright, if OxiClean is Oxy-Boost is sodium percarbonate, we can de-
   duce that OxiClean is sodium percarbonate. We can also tell by this
   statement that sodium percarbonate is a "solid form of hydrogen per-
   oxide bonded with natural soda ash" - in other words, it is hydrogen
   peroxide and baking powder (soda ash), bonded together in some way.]

6.Why should you use Oxy-Boost to clean carpets and upholstery? 

  It improves the performance of conventional detergents and shampoos
  on stubborn stains. It is a gentle stain remover for synthetic carpet-
  ing and upholstery fabrics. It saves time by allowing cleaning in one
  pass that would perhaps have taken two or three passes with a carpet
  cleaner that uses shampoo only. It improves personal safety by elimin-
  ating the need to use harsher cleaning or stain removal products. Oxy-
  Boost is environmentally safer to use. It is also non-toxic as it de-
  composes into water, oxygen and soda ash. Oxy-Boost is a very effective
  deodorizer. It also eliminates the need for expensive prespotters and
  stain removers. It prolongs carpet cleaner machine life by reducing the
  use of harsh and corrosive products.

  [No argument here - anyone who has seen the OxiClean commercials knows
   the "WOW" factor of this product...]

7.What Are Oxygen Based Cleaning Products? 

  Home Safe Oxy-Boost is based on a safe oxygen bleaching ingredient
  called peroxyhydrated carbonate of soda, or better known in the in-
  dustry as sodium percarbonate. Chemically it could be considered a
  solid form of hydrogen peroxide which releases oxygen when added to
  water. In fact, sodium percarbonate is made by treating the natural
  mineral sodium carbonate with hydrogen peroxide. 

  [Ah, a little more scientific type info. Here, it talks about what the
   chemical that makes up the products OxiClean and Oxy-Boost is known
   by in the industry, and how it is made - "by treating the natural
   mineral sodium carbonate with hydrogen peroxide" - we can read this as
   "by treating baking powder (sodium carbonate) with hydrogen peroxide".
   In chemistry, the word "treating" can generally mean "mixing", but it
   is sometimes more than this. However, for this product, I would be
   willing to bet that it is made by creating a saturated solution of
   sodium carbonate in hydrogen peroxide, then either letting the hydro-
   gen peroxide evaporate and collecting the crystals left behind, or
   filtering the solution, letting the filter dry, then collecting the
   resulting precipitate. Of course, I could be wrong on both of these
   methods, as I am not a chemist by any means. This speculation is just
   based on what I think is happening, and how to get to it via simple
   high school chemistry.]
8.How Do Oxygen Based Cleaning Products Work? 

  Traditional household cleaning bleaching products are based on chlor-
  ine. While effective in bleaching, destaining, deodorizing, etc., they
  are very toxic and are harmful to people, pets, plants, and the envir-
  onment, as well as detrimental to fabrics over time. Oxygen based
  bleaching products are just as effective as chlorine based products,
  but will not hurt people, animals, plants, or the environment. Also,
  they will not harm the fabric or surface they are used on. Upon add-
  ition to water they release oxygen which does the destaining and deod-
  orizing. In fact, unlike chlorine bleach which can merely cover up a
  stain, Oxy-Boost attacks and breaks down organic stains to totally re-
  move them from the garment. 

  [No arguments here.]

9.Where Can I Use Oxygen Based Cleaning Products? 

  Oxygen bleach is excellent for cleaning and removing organic stains
  (such as coffee, tea, wine, fruit juices, foods, sauces, grass and 
  blood) from fabrics, plastics, fiberglass, porcelain, ceramics, wood,
  carpets, asphalt, concrete, etc. Oxygen bleach containing products can
  be used in any place in or around the house that need to be destained
  and deodorized; they are efficient, safe and economical. 

  Home Safe cleaners are versatile products for the environmentally con-
  scious consumer. They are non-toxic, environmentally safe, biodegrad-
  able, and leave no harmful by-products or residues which can harm the 

  [Ok, so these product (OxiClean and Oxy-Boost) can't remove grease a
   grease stain. This is good info to know - I think that is why this
   same company also sells Orange Power, and the company that sells
   OxiClean has Orange Clean. Maybe in the future I will write a text
   file on how to find or make these products, as well.]


So what have we learned? We have learned that these products consist of
nothing more that hydrogen peroxide and baking powder, in a solid form,
that when activated with water, release oxygen, which can clean just
about any organic (non-greasy) stain. I continued with my searching on
the web, this time with the intent of finding out more about the chem-
icals "Sodium Percarbonate", "Sodium Carbonate", and "Hydrogen Peroxide",
and how they are used in the cleaning industry.

I found that Sodium Percarbonate is actually considered a "staple" in the
janitorial business. It was noted to be an "extremely soluble color safe
bleach base" and "excellent for liquid injection systems" - otherwise
known as a steam vacuum cleaner - aka, the Rug Doctor.

So, you should be able to go down to a local janitorial supply house (one
that sells to the public - call before you go, unless you have a business
license), and either buy right there or order the stuff in whatever size
you need - probably for a lot less than Natural Choices can get it at.
You might also be able to get it from a chemical supply house - for even
cheaper if you buy in bulk (most of these places do not sell to the pub-
lic. However, they will sell if you buy enough of the stuff. Remember,
they are a business, in the business to make money. They will sell to
anyone who wants to buy in bulk, who also has the right amount of cash).

A little more searching turned up the following stain removal tip:



1 cup of Hydrogen Peroxide
1 teaspoon of ammonia 

Use within 1/2 hour of mixing. Solution is no good after that. 

Dab the mixture onto the stain. Take white paper towel (do not use a paper
towel with a colored design) and place the paper towel over the stain.
Weigh it down with something. 

Leave for 2 to 3 hours. Lift, and the stain will be gone. 


Through all of this - the theme of Hydrogen Peroxide shines through - my
original suspicions are confirmed. What we are left with is what exactly
is OxiClean. So, as a final breakdown, here it is:

1. It is a dry chemical, that is activated by water.
2. It has oxygen, that cleans the stain.
3. The oxygen is released on contact with an organic stain.
4. When you are done, all that is left is water, soda ash, and oxygen.

With this and what we know of the chemical makeup behind these products,
we can probably safely say that OxiClean and Oxy-Boost, in liquid form
(that is, after mixed with water), are probably the same as a solution of
Hydrogen Peroxide mixed with sodium carbonate. Adding water dilutes the
mixture to whatever "strength" that is desired. In fact, I would wager
that just using straight Hydrogen Peroxide from the bottle on a stain
would be just as effective, since the oxygen in it will activate on con-
tact with the stain anyway (pour some Hydrogen Peroxide on a cut and
watch it bubble! Those bubble are the oxygen "cleaning" the wound!). In
fact, if the oxygen was released on addition to the water (as the info-
mercial claims), the solution in the bottle would fizz like a shaken up
soda (think of adding baking powder to vinegar)!

So, is any of this right? I don't know - I don't have a stain to try it
on yet (my girlfriend just recently steam cleaned the carpets - they all
look great now). But I am sure you do. Give it a shot - try some of these
suggestions on an inconspicous area first and see what happens. The worst
case is that the stain will only change or not go away. Or, the stain may
disappear. Go out and try to buy some regular Sodium Percarbonate from a
janitorial supply house or Chemical Supply House - they might sell it to
you are tell you to go away, but you won't know until you ask.

Above all - be informed. All of the information I have given you I found
on the internet, using a very casual search method. I am sure if I really
dug around I could have found the exact process for making the chemical
Sodium Percarbonate.

Now, on to Orange Clean...

Notice that it uses:

The Oxy-Boost FAQ