diff options
Diffstat (limited to 'modules')
-rw-r--r-- | modules/markup/html.go | 10 | ||||
-rw-r--r-- | modules/markup/html_internal_test.go | 14 | ||||
-rw-r--r-- | modules/markup/html_test.go | 4 | ||||
-rw-r--r-- | modules/markup/markdown/markdown_test.go | 4 | ||||
-rw-r--r-- | modules/markup/sanitizer.go | 3 |
5 files changed, 19 insertions, 16 deletions
diff --git a/modules/markup/html.go b/modules/markup/html.go index 2c6773bce4..1c73f03df1 100644 --- a/modules/markup/html.go +++ b/modules/markup/html.go @@ -636,11 +636,11 @@ func fullIssuePatternProcessor(ctx *postProcessCtx, node *html.Node) { if matchOrg == ctx.metas["user"] && matchRepo == ctx.metas["repo"] { // TODO if m[4]:m[5] is not nil, then link is to a comment, // and we should indicate that in the text somehow - replaceContent(node, m[0], m[1], createLink(link, id, "issue")) + replaceContent(node, m[0], m[1], createLink(link, id, "ref-issue")) } else { orgRepoID := matchOrg + "/" + matchRepo + id - replaceContent(node, m[0], m[1], createLink(link, orgRepoID, "issue")) + replaceContent(node, m[0], m[1], createLink(link, orgRepoID, "ref-issue")) } } @@ -676,7 +676,7 @@ func issueIndexPatternProcessor(ctx *postProcessCtx, node *html.Node) { reftext := node.Data[ref.RefLocation.Start:ref.RefLocation.End] if exttrack && !ref.IsPull { ctx.metas["index"] = ref.Issue - link = createLink(com.Expand(ctx.metas["format"], ctx.metas), reftext, "issue") + link = createLink(com.Expand(ctx.metas["format"], ctx.metas), reftext, "ref-issue") } else { // Path determines the type of link that will be rendered. It's unknown at this point whether // the linked item is actually a PR or an issue. Luckily it's of no real consequence because @@ -686,9 +686,9 @@ func issueIndexPatternProcessor(ctx *postProcessCtx, node *html.Node) { path = "pulls" } if ref.Owner == "" { - link = createLink(util.URLJoin(setting.AppURL, ctx.metas["user"], ctx.metas["repo"], path, ref.Issue), reftext, "issue") + link = createLink(util.URLJoin(setting.AppURL, ctx.metas["user"], ctx.metas["repo"], path, ref.Issue), reftext, "ref-issue") } else { - link = createLink(util.URLJoin(setting.AppURL, ref.Owner, ref.Name, path, ref.Issue), reftext, "issue") + link = createLink(util.URLJoin(setting.AppURL, ref.Owner, ref.Name, path, ref.Issue), reftext, "ref-issue") } } diff --git a/modules/markup/html_internal_test.go b/modules/markup/html_internal_test.go index 2746dec2cf..7e4bb6f22f 100644 --- a/modules/markup/html_internal_test.go +++ b/modules/markup/html_internal_test.go pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight .c { color: #888888 } /* Comment */
.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
.highlight .k { color: #008800; font-weight: bold } /* Keyword */
.highlight .ch { color: #888888 } /* Comment.Hashbang */
.highlight .cm { color: #888888 } /* Comment.Multiline */
.highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */
.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
.highlight .c1 { color: #888888 } /* Comment.Single */
.highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */
.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .gr { color: #aa0000 } /* Generic.Error */
.highlight .gh { color: #333333 } /* Generic.Heading */
.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #555555 } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #666666 } /* Generic.Subheading */
.highlight .gt { color: #aa0000 } /* Generic.Traceback */
.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #008800 } /* Keyword.Pseudo */
.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */
.highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */
.highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */
.highlight .na { color: #336699 } /* Name.Attribute */
.highlight .nb { color: #003388 } /* Name.Builtin */
.highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */
.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
.highlight .nd { color: #555555 } /* Name.Decorator */
.highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */
.highlight .nl { color: #336699; font-style: italic } /* Name.Label */
.highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */
.highlight .py { color: #336699; font-weight: bold } /* Name.Property */
.highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #336699 } /* Name.Variable */
.highlight .ow { color: #008800 } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */
.highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */
.highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */
.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
.highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */
.highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */
.highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */
.highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */
.highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */
.highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */
.highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */
.highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */
.highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */
.highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */
.highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */
.highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */
.highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */
.highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */
.highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */
.highlight .vc { color: #336699 } /* Name.Variable.Class */
.highlight .vg { color: #dd7700 } /* Name.Variable.Global */
.highlight .vi { color: #3333bb } /* Name.Variable.Instance */
.highlight .vm { color: #336699 } /* Name.Variable.Magic */
.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */ ---
title: Background
order: 5
layout: page
---
[[intro.background]]
= Background
The Vaadin Framework was not written overnight. After working with web user
interfaces since the beginning of the Web, a group of developers got together in
2000 to form IT Mill. The team had a desire to develop a new programming
paradigm that would support the creation of real user interfaces for real
applications using a real programming language.
The library was originally called Millstone Library. The first version was used
in a large production application that IT Mill designed and implemented for an
international pharmaceutical company. IT Mill made the application already in
the year 2001 and it is still in use. Since then, the company has produced
dozens of large business applications with the library and it has proven its
ability to solve hard problems easily.
The next generation of the library, IT Mill Toolkit Release 4, was released in
2006. It introduced an entirely new AJAX-based presentation engine. This allowed
the development of AJAX applications without the need to worry about
communications between the client and the server.
[[intro.background.toolkit-5]]
== Release 5 Into the Open
((("IT Mill
Toolkit")))
((("AJAX")))
IT Mill Toolkit 5, released initially at the end of 2007, took a significant
step further into AJAX. The client-side rendering of the user interface was
completely rewritten using GWT, the Google Web Toolkit. ((("Google Web
Toolkit")))
IT Mill Toolkit 5 introduced many significant improvements both in the
server-side API and in the functionality. Rewriting the Client-Side Engine with
GWT allowed the use of Java both on the client and the server-side. The
transition from JavaScript to GWT made the development and integration of custom
components and customization of existing components much easier than before, and
it also allows easy integration of existing GWT components. The adoption of GWT
on the client-side did not, by itself, cause any changes in the server-side API,
because GWT is a browser technology that is hidden well behind the API. Also
theming was completely revised in IT Mill Toolkit 5.
The Release 5 was published under the Apache License 2, an unrestrictive open
source license, to create faster expansion of the user base and to make the
formation of a developer community possible.
[[intro.background.vaadin6]]
== Birth of Vaadin Release 6
IT Mill Toolkit was renamed as __Vaadin Framework__, or Vaadin in short, in
spring 2009. Later IT Mill, the company, was also renamed as Vaadin Ltd. Vaadin
means an adult female semi-domesticated mountain reindeer in Finnish.
With Vaadin 6, the number of developers using the framework exploded. Together
with the release, the Vaadin Plugin for Eclipse was released, helping the
creation of Vaadin projects. The introduction of Vaadin Directory in early 2010
gave it a further boost, as the number of available components multiplied almost
overnight. Many of the originally experimental components have since then
matured and are now used by thousands of developers. In 2013, we are seeing
tremendous growth in the ecosystem around Vaadin. The size of the user
community, at least if measured by forum activity, has already gone past the
competing server-side frameworks and even GWT.
[[intro.background.vaadin7]]
== The Major Revision with Vaadin 7
Vaadin 7 was a major revision that changed the Vaadin API much more than Vaadin
6 did. It is certainly more web-oriented than Vaadin 6 was. We are doing
everything we can to help Vaadin rise high in the web universe. Some of this
work is easy and almost routine - fixing bugs and implementing features. But
going higher also requires standing firmer. That was one of the aims of Vaadin 7
- redesigning the product so that the new architecture enables Vaadin to reach
over many long-standing challenges. Many of the changes required breaking API
compatibility with Vaadin 6, especially in the |