Compare commits
	
		
			2 commits
		
	
	
		
			32b581a6c4
			...
			32b76dd2cf
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 32b76dd2cf | |||
| 63a5e3f8c9 | 
					 3 changed files with 34 additions and 2 deletions
				
			
		| 
						 | 
				
			
			@ -7,6 +7,10 @@ More importantly, it's a tool to help fight against BDFLs and other forms of cen
 | 
			
		|||
Usage
 | 
			
		||||
-----
 | 
			
		||||
 | 
			
		||||
Note: GAnarchy does not come with a main page. You need to provide one yourself. This should be in your website's `/` path (usually `index.html`).
 | 
			
		||||
The protocol handler uses the path `/?url=%s`. Additionally, your main page needs to include the `index.js` provided by GAnarchy
 | 
			
		||||
for the protocol handler to properly work.
 | 
			
		||||
 | 
			
		||||
First, initialize the database with `ganarchy.py initdb`. The database is stored in the XDG data home, as per XDG spec.
 | 
			
		||||
 | 
			
		||||
Then, set the project commit with `ganarchy.py set-commit COMMIT`, where `COMMIT` is the full commit hash.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -60,8 +60,7 @@ TEMPLATE = """<!DOCTYPE html>
 | 
			
		|||
        <p>Powered by <a href="https://ganarchy.autistic.space/">GAnarchy</a>. AGPLv3-licensed. <a href="https://cybre.tech/SoniEx2/ganarchy">Source Code</a>.</p>
 | 
			
		||||
        <p>
 | 
			
		||||
            <a href="/">Main page</a>.
 | 
			
		||||
            <!-- commented out because browsers suck :( -->
 | 
			
		||||
            <!--<a href="{{ base_url|e }}" onclick="event.preventDefault(); navigator.registerProtocolHandler('web+ganarchy', this.href + 'project/%s', 'GAnarchy');">Register web+ganarchy: URI handler</a>.-->
 | 
			
		||||
            <a href="{{ base_url|e }}" onclick="event.preventDefault(); navigator.registerProtocolHandler('web+ganarchy', this.href + '?url=%s', 'GAnarchy');">Register web+ganarchy: URI handler</a>.
 | 
			
		||||
        </p>
 | 
			
		||||
    </body>
 | 
			
		||||
</html>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										29
									
								
								index.js
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								index.js
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,29 @@
 | 
			
		|||
// GAnarchy - project homepage generator
 | 
			
		||||
// Copyright (C) 2019  Soni L.
 | 
			
		||||
//
 | 
			
		||||
// This program is free software: you can redistribute it and/or modify
 | 
			
		||||
// it under the terms of the GNU Affero General Public License as published by
 | 
			
		||||
// the Free Software Foundation, either version 3 of the License, or
 | 
			
		||||
// (at your option) any later version.
 | 
			
		||||
//
 | 
			
		||||
// This program is distributed in the hope that it will be useful,
 | 
			
		||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
// GNU Affero General Public License for more details.
 | 
			
		||||
//
 | 
			
		||||
// You should have received a copy of the GNU Affero General Public License
 | 
			
		||||
// along with this program.  If not, see <https://www.gnu.org/licenses/>.
 | 
			
		||||
 | 
			
		||||
(function() {
 | 
			
		||||
	var url = new URL(document.location.href);
 | 
			
		||||
	var target = url.searchParams.get("url");
 | 
			
		||||
	if (target !== null) {
 | 
			
		||||
		var project = target.match(/^web\+ganarchy\:([a-fA-F0-9]+)$/);
 | 
			
		||||
		if (project !== null) {
 | 
			
		||||
			// some browsers don't like it when you set this directly
 | 
			
		||||
			url.search = "";
 | 
			
		||||
			url.pathname = "/project/" + project[1];
 | 
			
		||||
			document.location = url.href;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
})();
 | 
			
		||||
		Loading…
	
	Add table
		
		Reference in a new issue