aboutsummaryrefslogtreecommitdiffstats
path: root/ui-shared.c
Commit message (Collapse)AuthorAgeFilesLines
* use Host: header to generate cgit_hosturlEric Wong2008-09-021-7/+12
| | | | | | | | | | | | | | | | | | | | | I run an instance of lighttpd for cgit behind nginx (nginx doesn't execute CGI). So the port (SERVER_PORT=33333) that lighttpd runs on sends to cgit is different from the standard port 80 that public clients connect to (via nginx). This was causing the Atom feed URL to show the private port number that lighttpd was running on. Since the HTTP/1.1 "Host" header includes the port number if running on a non-standard port, it allows non-client-facing HTTP servers to transparently generate public URLs that clients can see. So use the "Host" header if it is available and fall back to SERVER_NAME/SERVER_PORT for some clients that don't set HTTP_HOST. Signed-off-by: Eric Wong <normalperson@yhbt.net>
* Merge branch 'lh/plain'Lars Hjemli2008-09-011-0/+8
|\ | | | | | | | | | | | | * lh/plain: Supply status description to html_status() ui-tree: link to plain view instead of blob view Implement plain view
| * ui-tree: link to plain view instead of blob viewLars Hjemli2008-08-061-0/+6
| | | | | | | | | | | | | | | | | | | | | | The urls for plain view makes it possible to download blobs without knowing their SHA1, but the function needs to be promoted and the link from tree view seems like a perfect fit. PS: Although hidden, the blob view still is nice for direct blob access so there's no point in removing it. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * Implement plain viewLars Hjemli2008-08-061-0/+2
| | | | | | | | | | | | | | This implements a way to access plain blobs by path (similar to the tree view) instead of by sha1. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Add atom-supportLars Hjemli2008-08-011-0/+23
|/ | | | | | | This enables a page which generates atom feeds for the current branch and path, heavily inspired by the atom-support in gitweb. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Added `local-time` option to cgitrcStefan Naewe2008-08-011-4/+7
| | | | | | | | | When `local-time` is set, commit, tag and patch timestamps will be printed in the servers timezone. Also, regardless of the value of `local-time`, these timestamps will now always show the timezone. Signed-off-by: Stefan Naewe <stefan.naewe@atlas-elektronik.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Be prepared for empty repositoriesLars Hjemli2008-07-271-1/+2
| | | | | | Before this patch, cgit would segfault on repositories with no refs. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* ui-shared: show repo owner along with descriptionLars Hjemli2008-07-271-3/+3
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Add a favicon option to cgitrcLars Hjemli2008-07-191-0/+5
| | | | | | This option is used to specify a shortcut icon on all cgit pages. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Add support for including a footer on all pagesLars Hjemli2008-06-261-4/+10
| | | | | | | | | The new cgitrc option `footer` can be used to include a html-file which replaces the standard 'generated by cgit' message at the bottom of each page. Suggested-by: Peter Danenberg <pcd@wikitex.org> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Add link to index page from repo header, remove page nameLars Hjemli2008-05-041-2/+2
| | | | | | | | | | | This makes it more obvious how to get back to the index, especially when the config option `logo-link` is used. And the page name displayed in the header provided no extra information. It only consumed space and deserved to die. While at it, make sure that the different parts of the header doesn't wrap when horizontal space is limited. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Add footer with page creation time and cgit version on all pagesLars Hjemli2008-05-031-0/+3
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Add cgit_index_link() function with support for offsetLars Hjemli2008-05-031-5/+17
| | | | | | This function will be used to build a pager in ui-repolist. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Add 'about site' and 'about repo' pagesLars Hjemli2008-04-291-3/+50
| | | | | | | | This commit uses the options and changes from the last few commits to implement a new 'about' command which works both with and without a repo. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Re-enable 'index-info' and add support for 'root-desc' in cgitrcLars Hjemli2008-04-291-1/+4
| | | | | | | | | | | | | The 'index-info' option got lost when the layout was converted from sidebar to old-fashioned header (noticed by Harley Laue, thanks!), and this commit re-enables it. But there is now also an alternative in the 'root-desc' option; where 'index-info' specifies a file to include, 'root-desc' specifies the text literally. This might be nicer for the one-liner descriptions which these options typically provides. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Cleanup page headerLars Hjemli2008-04-151-17/+4
| | | | | | Fix some invalid html, remove dead code. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Remove 'patch' link from tab, add to commit viewLars Hjemli2008-04-131-2/+0
| | | | | | | | | | It's a bit confusing to enter the patch view from the tab, since it has no layout. And the commit view has always lacked showing the commit id. Both of these warts are fixed by this commit, which adds a new header line in the commit view which shows the commit id as a 'permalink' to the current commit and also adds a link to the patch view of the current commit. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Implement minimal freetext search in the repolistLars Hjemli2008-04-131-1/+10
| | | | | | | This makes the repolist much more usable when there's a lot of repositories registered in cgitrc. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* More layout fixesLars Hjemli2008-04-131-15/+50
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Reintroduce the branch switcherLars Hjemli2008-04-121-0/+7
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Add fixed link to index page from repo headerLars Hjemli2008-04-121-3/+9
| | | | | | | This makes it easier to get back to the index page, and also re-enables the usage of logo-link in cgitrc. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Replace sidebar/logoLars Hjemli2008-04-121-81/+44
| | | | | | | | | This replaces the sidebar with a more 'common' header layout and also updates the logo. Not quite finished yet, though. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Refactor snapshot supportLars Hjemli2008-03-241-1/+16
| | | | | | | | | The snapshot support needs to be split between output- and config-related functions to get the layering between shared.c and ui-*.c right. There is also some codestyle-issues which needs fixing to make the snapshot functions more similar to the rest of the cgit code. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Add struct cgit_page to cgit_contextLars Hjemli2008-03-241-61/+51
| | | | | | | | This struct is used when generating http headers, and as such is another small step towards the goal of the whole cleanup series; to invoke each page/view function with a function pointer. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Introduce html.hLars Hjemli2008-03-181-0/+16
| | | | | | | | All html-functions can be quite easily separated from the rest of cgit, so lets do it; the only issue was html_filemode which uses some git-defined macros so the function is moved into ui-shared.c::cgit_print_filemode(). Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Improve initialization of git directoryLars Hjemli2008-02-161-1/+1
| | | | | | | Using the functions offered by libgit feels like the right thing to do. Also, make sure that config errors gets properly reported. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Move cgit_repo into cgit_contextLars Hjemli2008-02-161-14/+14
| | | | | | | | This removes the global variable which is used to keep track of the currently selected repository, and adds a new variable in the cgit_context structure. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Add all config variables into struct cgit_contextLars Hjemli2008-02-161-30/+30
| | | | | | | | This removes another big set of global variables, and introduces the cgit_prepare_context() function which populates a context-variable with compile-time default values. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Introduce struct cgit_contextLars Hjemli2008-02-161-43/+43
| | | | | | | | | This struct will hold all the cgit runtime information currently found in a multitude of global variables. The first cleanup removes all querystring-related variables. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Add plain patch viewLars Hjemli2007-12-111-0/+8
| | | | | | | | | | The new view mimics the output from `git format-patch`, making it possible to cherry-pick directly from cgit with something like `curl $url | git am`. Inspired by a patch to `git-apply` by Mike Hommey: http://thread.gmane.org/gmane.comp.version-control.git/67611/focus=67610 Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Add support for automatic and custom clone urlsLars Hjemli2007-12-031-0/+17
| | | | | | | | | | | | | This adds support for two new parameters to cgitrc: clone-prefix and repo.clone-url. If clone-prefix is specified, all repos will get a clone url printed in the sidebar; the url is generated by clone-prefix + repo.url. Additionally, each repo can specify repo.clone-url which will override any such auto-generated url. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Merge branch 'stable'Lars Hjemli2007-12-021-0/+4
|\ | | | | | | | | | | * stable: Handle missing timestamp in commit/tag objects Set commit date on snapshot contents
| * Handle missing timestamp in commit/tag objectsLars Hjemli2007-12-021-0/+4
| | | | | | | | | | | | | | | | | | | | When a commit or tag lacks author/committer/tagger timestamp, do not skip the next line in the commit/tag object. Also, do not bother to print timestamps with value 0 as it is close to certain to be bogus. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Add cell-spacing in htmlLars Hjemli2007-11-161-1/+1
| | | | | | | | | | | | There are some browsers which don't support the border-spacing property Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Use tables for page layoutLars Hjemli2007-11-161-10/+12
| | | | | | | | | | | | | | It feels like the Right Thing, and it fixes some rendering problems in a much used webbrowser. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Add support for "robots" meta-tagLars Hjemli2007-11-111-0/+2
| | | | | | | | | | | | | | | | | | With this change, cgit will start to generate the "robots" meta-tag, using a default value of "index, nofollow". The default value can be modified with a new cgitrc variable, "robots". Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Generate valid html for "downloads" menu headerLars Hjemli2007-11-111-1/+1
| | | | | | | | | | Noticed-by: http://validator.w3.org Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Fix html error detected by test-suiteLars Hjemli2007-11-111-12/+12
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Add commit->msg_encoding, allocate msg dynamicly.Jonathan Bastien-Filiatrault2007-11-051-1/+1
|/
* Don't show the the branch selector button if javascript is enabledLars Hjemli2007-11-031-1/+1
| | | | | Suggested-by: Olivier Ramonat <olivier@ramonat.fr> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Do not require javascript-enabled clientsLars Hjemli2007-11-031-0/+4
| | | | | | | | A simple submit-button is all that's required to make the branch selector drop-down work on any client, so lets add one. Noticed-by: Olivier Ramonat <olivier@ramonat.fr> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Don't include current SHA1 in 'log' menu-itemLars Hjemli2007-11-031-2/+2
| | | | | | | This ensures that the menu-item always prints the log for the active branch. Predictability is good. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Don't include current path in menu linksLars Hjemli2007-11-031-3/+2
| | | | | | The menu-links are a lot more predictable this way. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Fix search form action/hidden fieldsLars Hjemli2007-11-031-18/+24
| | | | | | | | The search form didn't properly honor the current path, so this commit fixes cgit_fileurl() and add_hidden_formfields() to make the issue go away. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Add search parameters to cgit_log_linkLars Hjemli2007-11-031-2/+11
| | | | | | This makes the [prev] and [next] links work correctly on search results. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Change the cgit layoutLars Hjemli2007-10-301-50/+122
| | | | | | | | | | | | | | | | | This modifies and hopefully improves the layout of all cgit pages: * Remove the header from all pages and replace it with a sidebar; most pages have sufficient width but many needs more height. * Add a dropdown-box to switch between branches, using a one-liner javascript to reload the current page in context of the selected branch. * Include refs found below refs/archives in the sidebar, appearing as a set of menuitems below a 'download' heading. * Include the brand new cgit logo Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Teach cgit_object_link() about tag objectsLars Hjemli2007-10-281-0/+3
| | | | | | | This makes random tag links more helpfull, e.g. when a branch head references a tag object, link to the tag page. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Teach log search about --grep, --author and --committerLars Hjemli2007-10-281-2/+7
| | | | | | | This makes the log searching more explicit, using a dropdown box to specify the commit field to match against. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Add links to the new refs page from summary pageLars Hjemli2007-10-271-0/+6
| | | | | | | If either branches or tags are filtered on the summary page, add a link to refs/heads and/or refs/tags right below the last branch/tag. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* cgit_print_snapshot_links: use url to specify snapshot nameLars Hjemli2007-07-231-0/+6
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>