gitbucket/gitbucket-pages-plugin


Download


Step 1. Add the JitPack repository to your build file

Add it in your root settings.gradle at the end of repositories:

	dependencyResolutionManagement {
		repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
		repositories {
			mavenCentral()
			maven { url 'https://jitpack.io' }
		}
	}

Add it in your settings.gradle.kts at the end of repositories:

	dependencyResolutionManagement {
		repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
		repositories {
			mavenCentral()
			maven { url = uri("https://jitpack.io") }
		}
	}

Add to pom.xml

	<repositories>
		<repository>
		    <id>jitpack.io</id>
		    <url>https://jitpack.io</url>
		</repository>
	</repositories>

Add it in your build.sbt at the end of resolvers:

 
    resolvers += "jitpack" at "https://jitpack.io"
        
    

Add it in your project.clj at the end of repositories:

 
    :repositories [["jitpack" "https://jitpack.io"]]
        
    

Step 2. Add the dependency

	dependencies {
		implementation 'com.github.gitbucket:gitbucket-pages-plugin:1.10.0'
	}
	dependencies {
		implementation("com.github.gitbucket:gitbucket-pages-plugin:1.10.0")
	}
	<dependency>
	    <groupId>com.github.gitbucket</groupId>
	    <artifactId>gitbucket-pages-plugin</artifactId>
	    <version>1.10.0</version>
	</dependency>

                            
    libraryDependencies += "com.github.gitbucket" % "gitbucket-pages-plugin" % "1.10.0"
        
        

                            
    :dependencies [[com.github.gitbucket/gitbucket-pages-plugin "1.10.0"]]
        
        

Readme


Gitbucket-Pages-Plugin Gitter build

This plugin provides Project Pages functionality for GitBucket based repositories.

User guide

This plugin serves static files directly from one of the following places:

  • gb-pages branch (with fallback to gh-pages to be compatible with github, this is the default)
  • master branch
  • docs folder under master branch

Quick start

  • create a directory or branch if necessary (eg. create an orphan branch called gb-pages: git checkout --orphan gb-pages && git rm -f $(git ls-files))
  • create a static site under this branch. E.g. echo '<h1>hello, world</h1>' > index.html to create a simple file.
  • commit && push to gitbucket this orphan branch
  • open the browser and point to <your repo url>/pages

Note: This plugin won't render markdown content. To render markdown content, use the GitBucket Wiki functionality, or use one of the many static site generators (e.g. jekyll, hugo)

Installation

This plugin is bundled with newer version of GitBucket, for older version please follow the instruction below

Install manually

  • download from releases
  • copy the jar file to <GITBUCKET_HOME>/plugins/ (GITBUCKET_HOME defaults to ~/.gitbucket)
  • enable it in plugin settings (you may need to restart gitbucket)

Versions

| pages version | gitbucket version | | :---: | :---: | | 1.10.0 | 4.36.0 | | 1.9.0 | 4.35.0 | | 1.8.0 | 4.32.0 | | 1.7.0 | 4.23.0 | | 1.6.0 | 4.19.0 | | 1.5.0 | 4.15.0 | | 1.3 | 4.14.1 | | 1.2 | 4.13 | | 1.1 | 4.11 | | 1.0 | 4.10 | | 0.9 | 4.9 | | 0.8 | 4.6 | | 0.7 | 4.3 ~ 4.6 | | 0.6 | 4.2.x | | 0.5 | 4.0, 4.1 | | 0.4 | 3.13 | | 0.3 | 3.12 | | 0.2 | 3.11 | | 0.1 | 3.9, 3.10 |

Security (panic mode)

To prevent XSS, one must use two different domains to host the pages and Gitbucket itself. Below is a working example of nginx configuration to achieve that.

server {
    listen 80;
    server_name git.local;

    location ~ ^/([^/]+)/([^/]+)/pages/(.*)$ {
        rewrite  ^/([^/]+)/([^/]+)/pages/(.*)$  http://doc.local/$1/$2/pages/$3  redirect;
    }

    location / {
        proxy_pass http://127.0.0.1:8080;
    }
}

server {
    listen 80;
    server_name doc.local;

    location ~ ^/([^/]+)/([^/]+)/pages/(.*)$ {
        proxy_pass http://127.0.0.1:8080;
    }

    location / {
        return 403;
    }
}

CI