From: Jakub Narebski <jnareb@gmail.com>
To: "Giuseppe Bilotta" <giuseppe.bilotta@gmail.com>
Cc: git@vger.kernel.org
Subject: Re: [BUG/RFH] gitweb: Trouble with ref markers being hyperlinks because of illegally nested links
Date: Tue, 13 Jan 2009 01:13:54 +0100 [thread overview]
Message-ID: <200901130113.54517.jnareb@gmail.com> (raw)
In-Reply-To: <cb7bb73a0901111859q3a166d92k5176b27af2c4d256@mail.gmail.com>
On Mon, 12 Jan 2009, Giuseppe Bilotta wrote:
> On Sun, Jan 11, 2009 at 8:15 PM, Jakub Narebski <jnareb@gmail.com> wrote:
> > Commit 4afbaef by Giuseppe Bilotta (gitweb: ref markers link to named
> > shortlogs) turned ref markers for tags and heads into links to
> > appropriate views for the ref name.
> >
> > Unfortunately the code didn't take into account the fact that nesting
> > links (A elements) is illegal in (X)HTML:
> >
> > 12.2.2 Nested links are illegal
> >
> > Links and anchors defined by the A element must not be nested;
> > an A element must not contain any other A elements.
[...]
> > What is more complicated is the issue of ref marker from
> > git_print_header_div e.g. in 'commit'/'commitdiff' view, and in 'log'
> > view. There link is made into block element using "display: block;"
> > CSS rule (div.title, a.title), so that you can click _anywhere_ on the
> > header block. This breaks layout even worse, making hyperlinked ref
> > marker text appear *below* header div:
> >
> > -----------------------------------------------------------
> > |_Merge branch into maint_ [] |
> > -----------------------------------------------------------
> > _maint_
> >
> > To preserve current layout and behavior it would be needed to do some
> > deep HTML + CSS positioning hackery, perhaps with additional link block
> > without any text... But I don't know exactly how to do this; all [few]
> > experiments I did failed.
> >
> > I see possible the following alternate solutions:
> > * Ignore this issue (e.g. if it does not affect modern browsers)
>
> That would be my current choice until we find a better solution.
By the way, how common this error is? Could you check if _your_ web
browser (Firefox, Internet Explorer, Opera, Konqueror, Safari, Chrome)
does show this bug or not, please?
> > * Revert 4afbaef (we lose feature, but how often used is it?)
> > * Always use quirks mode, or check browser and use quirks mode if it
> > would break layout
> > * Use extra divs and links and CSS positioning to make layout which
> > looks like current one, and behaves as current one, but is more
> > complicated.
>
> I'm asking on #html, hopefully I'll get some interesting idea to try for this.
I have found _a_ solution. Perhaps not the best one, but it works.
And IMHO gives / can give even better visual.
Current version (line wrapped for better visibility):
<div class="header">
<a class="title" href="...">GIT 1.6.1
<span class="refs">
<span class="tag indirect" title="tags/v1.6.1">
<a href="...">v1.6.1</a>
</span>
</span>
</a>
</div>
Current CSS (relevant part):
a.title {
display: block;
padding: 6px 8px;
}
Current rendering:
-----------------------------------------------------------
|_GIT 1.6.1_ [] |
-----------------------------------------------------------
__v1.6.1__
Proposed code (line wrapped for better visibility, with CSS embedded,
which would change in final version of course). Only parts of style
related to positioning are shown.
<div class="header">
<a href="..." style="float: left; margin: 6px 1px 6px 8px;">GIT 1.6.1</a>
<div style="float: left; margin: 6px 1px;">
<span class="refs">
<span class="tag indirect" title="tags/v1.6.1">
<a href="...">v1.6.1</a>
</span>
</span>
</div>
<a href="..." style="display: block; padding: 6px 8px;"> </a>
</div>
Rendering with proposed code:
-----------------------------------------------------------
_|_GIT 1.6.1_ [_v1.6.1_] |_
-----------------------------------------------------------
I guess that instead of additional DIV element, we could use DIV for
.refs, or use "float: right" style with SPAN element. I have not
checked if other variations works: this one does.
What do you think?
--
Jakub Narebski
Poland
next prev parent reply other threads:[~2009-01-13 0:15 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-01-12 1:15 [BUG/RFH] gitweb: Trouble with ref markers being hyperlinks because of illegally nested links Jakub Narebski
2009-01-12 2:59 ` Giuseppe Bilotta
2009-01-13 0:13 ` Jakub Narebski [this message]
2009-01-13 0:59 ` Giuseppe Bilotta
2009-01-14 0:17 ` [RFC/PATCH] gitweb: Fix nested links problem with ref markers Jakub Narebski
2009-01-14 3:56 ` Giuseppe Bilotta
2009-01-14 10:39 ` Jakub Narebski
2009-01-14 13:52 ` Giuseppe Bilotta
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200901130113.54517.jnareb@gmail.com \
--to=jnareb@gmail.com \
--cc=git@vger.kernel.org \
--cc=giuseppe.bilotta@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).