| | |
| | | import com.gitblit.GitBlit;
|
| | | import com.gitblit.Keys;
|
| | | import com.gitblit.utils.JGitUtils;
|
| | | import com.gitblit.wicket.LinkPanel;
|
| | | import com.gitblit.wicket.RepositoryPage;
|
| | | import com.gitblit.wicket.WicketUtils;
|
| | | import com.gitblit.wicket.panels.CommitHeaderPanel;
|
| | | import com.gitblit.wicket.panels.PathBreadcrumbsPanel;
|
| | |
|
| | | public class BlobPage extends RepositoryPage {
|
| | |
| | |
|
| | | final String blobPath = WicketUtils.getPath(params);
|
| | |
|
| | | String extension = null;
|
| | | if (blobPath.lastIndexOf('.') > -1) {
|
| | | extension = blobPath.substring(blobPath.lastIndexOf('.') + 1).toLowerCase();
|
| | | }
|
| | | |
| | | // see if we should redirect to the markdown page
|
| | | for (String ext : GitBlit.self().settings().getStrings(Keys.web.markdownExtensions)) {
|
| | | if (ext.equals(extension)) {
|
| | | setResponsePage(MarkdownPage.class, params);
|
| | | return;
|
| | | }
|
| | | }
|
| | | |
| | | // standard blob view
|
| | | Repository r = getRepository();
|
| | | RevCommit commit = JGitUtils.getCommit(r, objectId);
|
| | | RevCommit commit = getCommit();
|
| | |
|
| | | // blob page links
|
| | | add(new Label("blameLink", getString("gb.blame")));
|
| | | add(new Label("historyLink", getString("gb.history")));
|
| | | add(new BookmarkablePageLink<Void>("historyLink", HistoryPage.class, WicketUtils.newPathParameter(repositoryName, objectId, blobPath)));
|
| | | add(new BookmarkablePageLink<Void>("rawLink", RawPage.class, WicketUtils.newPathParameter(repositoryName, objectId, blobPath)));
|
| | | add(new BookmarkablePageLink<Void>("headLink", BlobPage.class, WicketUtils.newPathParameter(repositoryName, Constants.HEAD, blobPath)));
|
| | |
|
| | | add(new LinkPanel("shortlog", "title", commit.getShortMessage(), CommitPage.class, newCommitParameter()));
|
| | | add(new CommitHeaderPanel("commitHeader", repositoryName, commit));
|
| | |
|
| | | add(new PathBreadcrumbsPanel("breadcrumbs", repositoryName, blobPath, objectId));
|
| | | String extension = null;
|
| | | if (blobPath.lastIndexOf('.') > -1) {
|
| | | extension = blobPath.substring(blobPath.lastIndexOf('.') + 1);
|
| | | }
|
| | |
|
| | | // Map the extensions to types
|
| | | Map<String, Integer> map = new HashMap<String, Integer>();
|
| | |
| | | case 1:
|
| | | // PrettyPrint blob text
|
| | | c = new Label("blobText", JGitUtils.getRawContentAsString(r, commit, blobPath));
|
| | | WicketUtils.setCssClass(c, "prettyprint");
|
| | | WicketUtils.setCssClass(c, "prettyprint linenums");
|
| | | break;
|
| | | case 2:
|
| | | // TODO image blobs
|