aboutsummaryrefslogtreecommitdiff
path: root/views
Commit message (Collapse)AuthorAgeFilesLines
* embed_image_blob: retire reload of image blobEric Sunshine2015-01-131-1/+1
| | | | | | | | | | | | Historically, the 'blob' view was unconditionally handed cooked (utf8-encoded) blob content, so embed_image_blob(), which requires raw blob content, has been forced to reload the blob in raw form, which is ugly and expensive. However, now that the Blob returned by Repo.blob() is able to vend raw or cooked content, it is no longer necessary for embed_image_blob() to reload the blob to gain access to the raw content. Signed-off-by: Eric Sunshine <sunshine@sunshineco.com> Signed-off-by: Alberto Bertogli <albertito@blitiri.com.ar>
* git.py: introduce Blob abstractionEric Sunshine2015-01-131-4/+4
| | | | | | | | | | | | | | | | | | Some blob representations (such as embedded images) require raw blob content, however, the 'blob' view is unconditionally handed cooked (utf8-encoded) content, thus representations which need raw content are forced to reload the blob in raw form, which is ugly and expensive (due to shelling out to git-cat-file a second time). The ultimate goal is to eliminate the wasteful blob reloading when raw content is needed. As a first step, introduce a Blob abstraction to be returned by Repo.blob() rather than the cooked content. A subsequent change will flesh out Blob, allowing it to return raw or cooked content on demand without the client having to specify one or the other when invoking Repo.blob(). Signed-off-by: Eric Sunshine <sunshine@sunshineco.com> Signed-off-by: Alberto Bertogli <albertito@blitiri.com.ar>
* views: fix broken URLs involving hierarchical branch namesEric Sunshine2015-01-113-16/+21
| | | | | | | | | | | | | | | | | | | Git branch names can be hierarchical (for example, "wip/parser/fix"), however, git-arr does not take this into account when formulating URLs on branch, tree, and blobs pages. These URLs are dysfunctional because it is assumed incorrectly that a single "../" is sufficient to climb over the branch name when computing relative paths to resources higher in the hierarchy. This problem manifests as failure to load static resources (stylesheet, etc.), broken links to commits on branch pages, and malfunctioning breadcrumb trails. Fix this problem by computing the the proper number of "../" based upon the branch name, rather than assuming that a single "../" will work unconditionally. (This is analogous to the treatment already given to hierarchical pathnames in tree and blob views.) Signed-off-by: Eric Sunshine <sunshine@sunshineco.com> Signed-off-by: Alberto Bertogli <albertito@blitiri.com.ar>
* views: branch/paginate: teach "next" link to respect 'max_pages'Eric Sunshine2015-01-111-0/+1
| | | | | | | | | | | | | | | | | Pagination link "next" does not respect 'max_pages', thus it incorrectly remains enabled on the final page capped by 'max_pages'. When clicked, the user is taken to a "404 Page not found" error page, which makes for a poor user experience. Fix this problem by teaching the "next" link to respect 'max_pages'. (As a side-effect, this also causes 'serve' mode to respect 'max_pages', which was not previously the case. This change of behavior is appropriate since it brings 'serve' mode, which is intended primarily for testing, more in line with 'generate' mode.) Signed-off-by: Eric Sunshine <sunshine@sunshineco.com> Signed-off-by: Alberto Bertogli <albertito@blitiri.com.ar>
* views: branch/paginate: fix incorrectly enabled "next" linkEric Sunshine2015-01-112-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | When the number of commits on a branch page is less than 'commits_per_page', the pagination "next" link is disabled, indicating correctly that this is the final page. However, if the number of commits on the branch page is exactly 'commits_per_page', then the "next" link is incorrectly enabled, even on the final page. When clicked, the user is taken to a "404 Page not found" error page, which makes for a poor user experience. Fix this problem by reliably detecting when the branch page is the final one. Do so by asking for (but not displaying) one commit more than actually needed by the page. If the additional commit is successfully retrieved, then another page definitely follows this one. If not retrieved, then this is definitely the final page. (Unfortunately, the seemingly more expedient approach of checking if the final commit on the current page is a root commit -- has no parents -- is not a reliable indicator that this the final page since a branch may have multiple root commits due to merging.) Signed-off-by: Eric Sunshine <sunshine@sunshineco.com> Signed-off-by: Alberto Bertogli <albertito@blitiri.com.ar>
* views: summary: suppress extra horizontal rule when no "master" branchEric Sunshine2015-01-111-2/+1
| | | | | | | | | | | | | | When a repository has a "master" branch, a short summary of its most recent commits is shown, followed by a horizontal rule. If there is no "master" branch, then the commit summary is suppressed, however, the rule is shown unconditionally, which is ugly, particularly when there is already a rule following the web_url/git_url block. Therefore, suppress the "master" branch horizontal rule when not needed. (This is analogous to how the rule following the web_url/git_url block is suppressed when that information is not shown). Signed-off-by: Eric Sunshine <sunshine@sunshineco.com> Signed-off-by: Alberto Bertogli <albertito@blitiri.com.ar>
* views/tree.html: Fix lambda syntax0.13Alberto Bertogli2014-07-291-1/+1
| | | | | | | Some versions of bottle.py don't deal well with the "if" inside the lambda, so work around it by just using comparison and simplifying the function. Signed-off-by: Alberto Bertogli <albertito@blitiri.com.ar>
* Fix one-line 'if' termination in tree, blob templatesVanya Sergeev2014-06-302-2/+6
| | | | | | | | The missing '% end' template keyword to these one-line if statements was causing bottle 0.12.7 to incorrectly indent the following line, leading to an IndentationError at runtime when the blob and tree templates are compiled. Signed-off-by: Vanya Sergeev <vsergeev@gmail.com>
* Fix committer field in the commit view0.12Alberto Bertogli2013-11-031-4/+4
| | | | | | | The commit view shows the author information in the committer field; this patch fixes it by showing the appropriate fields. Signed-off-by: Alberto Bertogli <albertito@blitiri.com.ar>
* Show the age of a repository in the index, via javascriptAlberto Bertogli2013-11-021-1/+3
| | | | | | | | | This patch adds the age of the repository to the index view, using javascript to give a nice human string for the age. When javascript is not available, the element remains hidden. Signed-off-by: Alberto Bertogli <albertito@blitiri.com.ar>
* Make embedding markdown and images configurable per-repoAlberto Bertogli2013-11-021-2/+2
| | | | | | | | This patch introduces the embed_markdown and embed_images configuration options, so users can enable and disable those features on a per-repository basis. Signed-off-by: Alberto Bertogli <albertito@blitiri.com.ar>
* Add embed data URI image blob supportVanya Sergeev2013-11-021-1/+3
|
* Add markdown blob supportVanya Sergeev2013-11-021-1/+3
|
* Use heuristics to decide what to colorizeAlberto Bertogli2012-11-182-2/+2
| | | | | | | In practise pygments seems to have a very hard time processing large files and files with long lines, so try to avoid using it in those cases. Signed-off-by: Alberto Bertogli <albertito@blitiri.com.ar>
* Initial commit0.01Alberto Bertogli2012-11-108-0/+390
Signed-off-by: Alberto Bertogli <albertito@blitiri.com.ar>