git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jakub Narebski <jnareb@gmail.com>
To: git@vger.kernel.org
Subject: Re: gitweb refactoring
Date: Thu, 22 Jun 2006 20:37:48 +0200	[thread overview]
Message-ID: <e7eo1r$j87$1@sea.gmane.org> (raw)
In-Reply-To: e7ed1r$9ve$1@sea.gmane.org

Another approach to refactoring gitweb would be to look at it's output.
Currently (with the exception of summary view), we have four main types of
views:

1. 'short listing' view, using zebra tables, which list "objects", each with
some number of columns usually not hyperlinked, object name/title,
sometimes shortened, sometimes post-processed which is link to the object,
then some object related links. Actions using this type of view: shortlog,
history, tree, tags, heads, blame; files affected part of commit view.
Examples of columns:
  Age, Author, Title[*1*] (link), commit|commitdiff    for shortlog
  Mode, Filename (link), tree or blob|history          for tree

2. 'single object' view, with fixed number of blocks. Actions using this
type of view: commit, tag.

3. 'long listing' view, which list "object"; description of each object
takes more than one line. Actions using this type of view: log, search.

4. 'large object' view, in which "object", optionally with some header, is
written line by line, with some syntax highlighting, sometimes with line
numbering, with at least one div per line. Actions using this type of view:
blob, commitdiff, blobdiff. Currently diffs are not splitted into chunks at
the HTML level (chunks are not encompassed in div; perhaps they should,
perhaps not - HTML like header structure vs DocBook nesting).

5. 'other' non HTML output, including blob_plain, commitdiff_plain,
blobdiff_plain, rss, opml, git_logo; perhaps in the future commitdiff_email
(for git-am or sending to the list), snapshot (tar, tar.gz, tar.bz2),
git_favicon.


Some views have subviews of other type.


Page as whole consist of:
* page header (which includes searchbox, what is not obvious) with 
  breadcrumbs up to action, 
* two part navigation bar: 
  - first part is always single hash action listing
      summary | shortlog | log | commit | commitdiff | tree 
    with and exception of base (first) commit which doesn't have commitdiff.
  - second part is either "pager" for log and shortlog, i.e.
      HEAD . prev . next
    or "type selection" for commitdiff, blobdiff and blob, sometimes
    including head (why not HEAD?).
* sometimes empty title of current hash or hash_base (current commit),
  or empty and linking to summary page.
* path (filename) header for tree and blob
* body of the page
* page footer with project description, and RSS link.


[*1*] Processed and shortened title (first line of commit), tooltip using
title attribute of link if shortened (gitweb-xmms2 broke that with
ntroduction of committags), tags which references this commit shown (now
only for summary I think, and tag(s) length is not taken into account when
shortening title/oneline description)

-- 
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git

      reply	other threads:[~2006-06-22 18:38 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-06-22 15:30 gitweb refactoring Jakub Narebski
2006-06-22 18:37 ` Jakub Narebski [this message]

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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='e7eo1r$j87$1@sea.gmane.org' \
    --to=jnareb@gmail.com \
    --cc=git@vger.kernel.org \
    /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.
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 NNTP newsgroup(s).