You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							141 lines
						
					
					
						
							4.5 KiB
						
					
					
				
			
		
		
	
	
							141 lines
						
					
					
						
							4.5 KiB
						
					
					
				| {{/*
 | |
| <html>
 | |
| <body>
 | |
| 	<div>
 | |
| */}}
 | |
| 
 | |
| 	{{template "custom/body_inner_post" .}}
 | |
| 
 | |
| 	</div>
 | |
| 
 | |
| 	{{template "custom/body_outer_post" .}}
 | |
| 
 | |
| 	{{template "base/footer_content" .}}
 | |
| 
 | |
| 	<script src="{{AppSubUrl}}/vendor/plugins/jquery/jquery.min.js"></script>
 | |
| 	<script src="{{AppSubUrl}}/vendor/plugins/jquery.areyousure/jquery.are-you-sure.js"></script>
 | |
| {{if .RequireSimpleMDE}}
 | |
| 	<script src="{{AppSubUrl}}/vendor/plugins/simplemde/simplemde.min.js"></script>
 | |
| 	<script src="{{AppSubUrl}}/vendor/plugins/codemirror/addon/mode/loadmode.js"></script>
 | |
| 	<script src="{{AppSubUrl}}/vendor/plugins/codemirror/mode/meta.js"></script>
 | |
| 	<script>
 | |
| 		CodeMirror.modeURL =  "{{AppSubUrl}}/vendor/plugins/codemirror/mode/%N/%N.js";
 | |
| 	</script>
 | |
| {{end}}
 | |
| {{if .RequireGitGraph}}
 | |
| 	<!-- graph -->
 | |
| 	<script src="{{AppSubUrl}}/vendor/plugins/gitgraph/gitgraph.js"></script>
 | |
| 	<script src="{{AppSubUrl}}/js/draw.js"></script>
 | |
| {{end}}
 | |
| 
 | |
| <!-- Third-party libraries -->
 | |
| {{if .RequireHighlightJS}}
 | |
| 	<script src="{{AppSubUrl}}/vendor/plugins/highlight/highlight.pack.js"></script>
 | |
| {{end}}
 | |
| {{if .RequireMinicolors}}
 | |
| 	<script src="{{AppSubUrl}}/vendor/plugins/jquery.minicolors/jquery.minicolors.min.js"></script>
 | |
| {{end}}
 | |
| {{if .RequireDatetimepicker}}
 | |
| 	<script src="{{AppSubUrl}}/vendor/plugins/jquery.datetimepicker/jquery.datetimepicker.js"></script>
 | |
| {{end}}
 | |
| {{if .RequireDropzone}}
 | |
| 	<script src="{{AppSubUrl}}/vendor/plugins/dropzone/dropzone.js"></script>
 | |
| {{end}}
 | |
| {{if .RequireU2F}}
 | |
| 	<script src="{{AppSubUrl}}/vendor/plugins/u2f/index.js"></script>
 | |
| {{end}}
 | |
| {{if .EnableCaptcha}}
 | |
| 	{{if eq .CaptchaType "recaptcha"}}
 | |
| 		<script src="https://www.google.com/recaptcha/api.js" async></script>
 | |
| 	{{end}}
 | |
| {{end}}
 | |
| {{if .EnableHeatmap}}
 | |
| 	<script src="{{AppSubUrl}}/vendor/plugins/moment/moment.min.js" charset="utf-8"></script>
 | |
| 	<script src="{{AppSubUrl}}/vendor/plugins/d3/d3.v4.min.js" charset="utf-8"></script>
 | |
| 	<script src="{{AppSubUrl}}/vendor/plugins/calendar-heatmap/calendar-heatmap.js" charset="utf-8"></script>
 | |
| 	<script type="text/javascript">
 | |
| 		$.get( '{{AppSubUrl}}/api/v1/users/{{.HeatmapUser}}/heatmap', function( chartRawData ) {
 | |
| 			var chartData = [];
 | |
| 			for (var i = 0; i < chartRawData.length; i++) {
 | |
| 				chartData[i] = {date: new Date(chartRawData[i].timestamp * 1000), count: chartRawData[i].contributions};
 | |
| 			}
 | |
| 
 | |
| 			$('#loading-heatmap').removeClass('active');
 | |
| 
 | |
| 			var heatmap = calendarHeatmap()
 | |
| 				.data(chartData)
 | |
| 				.selector('#user-heatmap')
 | |
| 				.colorRange({{SafeJS HeatmapColorRange}})
 | |
| 				.tooltipEnabled(true);
 | |
| 			heatmap();
 | |
| 		});
 | |
| 	</script>
 | |
| {{end}}
 | |
| {{if .RequireTribute}}
 | |
| 	<script src="{{AppSubUrl}}/vendor/plugins/tribute/tribute.min.js"></script>
 | |
| 
 | |
| 	{{if .Assignees}}
 | |
| 	<script>
 | |
| 		var issuesTribute = new Tribute({
 | |
| 			values: [
 | |
| 			{{ range .Assignees }}
 | |
| 			{key: '{{.Name}} {{.FullName}}', value: '{{.Name}}',
 | |
| 			name: '{{.Name}}', fullname: '{{.FullName}}', avatar: '{{.RelAvatarLink}}'},
 | |
| 			{{ end }}
 | |
| 			],
 | |
| 			noMatchTemplate: function () { return null },
 | |
| 			menuItemTemplate: function (item) {
 | |
| 				var user = item.original;
 | |
| 				var itemStr = '<img src="' + user.avatar + '"/><span class="name">' + user.name + '</span>';
 | |
| 				if (user.fullname && user.fullname != '') {
 | |
| 					itemStr += '<span class="fullname">' + user.fullname + '</span>';
 | |
| 				}
 | |
| 				return itemStr;
 | |
| 			}
 | |
| 		})
 | |
| 		issuesTribute.attach(document.getElementById('content'))
 | |
| 	</script>
 | |
| 	{{end}}
 | |
| 	<script>
 | |
| 		var emojiTribute = new Tribute({
 | |
| 			collection: [{
 | |
| 				trigger: ':',
 | |
| 				requireLeadingSpace: true,
 | |
| 				values: function (text, cb) {
 | |
| 					var array = emojify.emojiNames;
 | |
| 					var data = [];
 | |
| 					for(var j=0; j<array.length; j++) {
 | |
| 						if(array[j].indexOf(text) !== -1) {
 | |
| 							data.push(array[j]);
 | |
| 							if(data.length > 5) {
 | |
| 								break;
 | |
| 							}
 | |
| 						}
 | |
| 					}
 | |
| 					cb(data);
 | |
| 				},
 | |
| 				lookup: function (item) {
 | |
| 					return item;
 | |
| 				},
 | |
| 				selectTemplate: function (item) {
 | |
| 					if (typeof item === 'undefinied') return null;
 | |
| 					return ':' + item.original + ':';
 | |
| 				},
 | |
| 				menuItemTemplate: function (item) {
 | |
| 					return '<img class="emoji" src="{{AppSubUrl}}/vendor/plugins/emojify/images/' + item.original + '.png"/>' + item.original;
 | |
| 				}
 | |
| 			}]
 | |
| 		});
 | |
| 		emojiTribute.attach(document.getElementById('content'))
 | |
| 	</script>
 | |
| {{end}}
 | |
| 	<script src="{{AppSubUrl}}/vendor/plugins/emojify/emojify.min.js"></script>
 | |
| 	<script src="{{AppSubUrl}}/vendor/plugins/clipboard/clipboard.min.js"></script>
 | |
| 	<script src="{{AppSubUrl}}/vendor/plugins/vue/vue.min.js"></script>
 | |
| 
 | |
| 	<!-- JavaScript -->
 | |
| 	<script src="{{AppSubUrl}}/vendor/plugins/semantic/semantic.min.js"></script>
 | |
| 	<script src="{{AppSubUrl}}/js/index.js?v={{MD5 AppVer}}"></script>
 | |
| {{template "custom/footer" .}}
 | |
| </body>
 | |
| </html>
 | |
| 
 |