* Cleaning up public/ and documenting js/css libs. This commit mostly addresses #1484 by moving vendor'ed plugins into a vendor/ directory and documenting their upstream source and license in vendor/librejs.html. This also proves gitea is using only open source js/css libraries which helps toward reaching #1524. * Removing unused css file. The version of this file in use is located at: vendor/plugins/highlight/github.css * Cleaned up librejs.html and added javascript header A SafeJS function was added to templates/helper.go to allow keeping comments inside of javascript. A javascript comment was added in the header of templates/base/head.tmpl to mark all non-inline source as free. The librejs.html file was updated to meet the current librejs spec. I have now verified that the librejs plugin detects most of the scripts included in gitea and suspect the non-free detections are the result of a bug in the plugin. I believe this commit is enough to meet the C0.0 requirement of #1534. * Updating SafeJS function per lint suggestion * Added VERSIONS file, per request
		
			
				
	
	
		
			52 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| // CodeMirror, copyright (c) by Marijn Haverbeke and others
 | |
| // Distributed under an MIT license: http://codemirror.net/LICENSE
 | |
| 
 | |
| (function() {
 | |
|   var mode = CodeMirror.getMode({indentUnit: 2}, "xml"), mname = "xml";
 | |
|   function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1), mname); }
 | |
| 
 | |
|   MT("matching",
 | |
|      "[tag&bracket <][tag top][tag&bracket >]",
 | |
|      "  text",
 | |
|      "  [tag&bracket <][tag inner][tag&bracket />]",
 | |
|      "[tag&bracket </][tag top][tag&bracket >]");
 | |
| 
 | |
|   MT("nonmatching",
 | |
|      "[tag&bracket <][tag top][tag&bracket >]",
 | |
|      "  [tag&bracket <][tag inner][tag&bracket />]",
 | |
|      "  [tag&bracket </][tag&error tip][tag&bracket&error >]");
 | |
| 
 | |
|   MT("doctype",
 | |
|      "[meta <!doctype foobar>]",
 | |
|      "[tag&bracket <][tag top][tag&bracket />]");
 | |
| 
 | |
|   MT("cdata",
 | |
|      "[tag&bracket <][tag top][tag&bracket >]",
 | |
|      "  [atom <![CDATA[foo]",
 | |
|      "[atom barbazguh]]]]>]",
 | |
|      "[tag&bracket </][tag top][tag&bracket >]");
 | |
| 
 | |
|   // HTML tests
 | |
|   mode = CodeMirror.getMode({indentUnit: 2}, "text/html");
 | |
| 
 | |
|   MT("selfclose",
 | |
|      "[tag&bracket <][tag html][tag&bracket >]",
 | |
|      "  [tag&bracket <][tag link] [attribute rel]=[string stylesheet] [attribute href]=[string \"/foobar\"][tag&bracket >]",
 | |
|      "[tag&bracket </][tag html][tag&bracket >]");
 | |
| 
 | |
|   MT("list",
 | |
|      "[tag&bracket <][tag ol][tag&bracket >]",
 | |
|      "  [tag&bracket <][tag li][tag&bracket >]one",
 | |
|      "  [tag&bracket <][tag li][tag&bracket >]two",
 | |
|      "[tag&bracket </][tag ol][tag&bracket >]");
 | |
| 
 | |
|   MT("valueless",
 | |
|      "[tag&bracket <][tag input] [attribute type]=[string checkbox] [attribute checked][tag&bracket />]");
 | |
| 
 | |
|   MT("pThenArticle",
 | |
|      "[tag&bracket <][tag p][tag&bracket >]",
 | |
|      "  foo",
 | |
|      "[tag&bracket <][tag article][tag&bracket >]bar");
 | |
| 
 | |
| })();
 |