Эх сурвалжийг харах

created buildCssPath img and js path funcs

Henry Oswald 10 жил өмнө
parent
commit
a2a8b7123b

+ 30 - 13
services/web/app/coffee/infrastructure/ExpressLocals.coffee

@@ -12,8 +12,7 @@ fingerprints = {}
 Path = require 'path'
 
 
-imgPath = "/img/"
-cssPath = "/stylesheets/"
+
 jsPath =
 	if Settings.useMinifiedJs
 		"/minjs/"
@@ -43,12 +42,19 @@ for path in [
 	else
 		logger.log filePath:filePath, "file does not exist for fingerprints"
 
+getFingerprint = (path) ->
+	if fingerprints[path]?
+		return fingerprints[path]
+	else
+		logger.err "No fingerprint for file: #{path}"
+		return ""
+
 logger.log "Finished generating file fingerprints"
 
+
+staticFilesBase = ""
 if Settings.cdn?.web?.host?
-	jsPath = "#{Settings.cdn?.web?.host}#{jsPath}"
-	imgPath = "#{Settings.cdn?.web?.host}#{imgPath}"
-	cssPath = "#{Settings.cdn?.web?.host}#{cssPath}"
+	staticFilesBase = Settings.cdn?.web?.host
 
 
 module.exports = (app, webRouter, apiRouter)->
@@ -58,10 +64,26 @@ module.exports = (app, webRouter, apiRouter)->
 
 	webRouter.use (req, res, next)-> 
 		res.locals.jsPath = jsPath
-		res.locals.imgPath = imgPath
-		res.locals.cssPath = cssPath
+		imgPath = "/img/"
+		cssPath = "/stylesheets/"
+
+
+		res.locals.buildJsPath = (jsFile, fingerprint)->
+			if !fingerprint?
+				fingerprint = getFingerprint(jsPath + jsFile)
+			p = Path.join(staticFilesBase, jsPath, jsFile) + "?fingerprint=" + fingerprint
+
+
+		res.locals.buildCssPath = (cssFile)->
+			return Path.join(staticFilesBase, cssPath, cssFile) + "?fingerprint=" + getFingerprint(cssPath + cssFile)
+
+		res.locals.buildImgPath = (imgFile)->
+			return Path.join(staticFilesBase, imgPath, imgFile)
+
 		next()
 
+
+
 	webRouter.use (req, res, next)-> 
 		res.locals.settings = Settings
 		next()
@@ -127,12 +149,7 @@ module.exports = (app, webRouter, apiRouter)->
 		next()
 
 	webRouter.use (req, res, next)-> 
-		res.locals.fingerprint = (path) ->
-			if fingerprints[path]?
-				return fingerprints[path]
-			else
-				logger.err "No fingerprint for file: #{path}"
-				return ""
+		res.locals.fingerprint = getFingerprint
 		next()
 
 	webRouter.use (req, res, next)-> 

+ 2 - 2
services/web/app/views/general/500.jade

@@ -3,7 +3,7 @@ html(itemscope, itemtype='http://schema.org/Product')
 	head
 		title Something went wrong
 		link(rel="icon", href="/favicon.ico")
-		link(rel='stylesheet', href=cssPath+'/style.css')
+		link(rel='stylesheet', href=buildCssPath('/style.css'))
 		link(href="//netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css",rel="stylesheet")
 	body
 		.content
@@ -12,7 +12,7 @@ html(itemscope, itemtype='http://schema.org/Product')
 					.col-md-8.col-md-offset-2.text-center
 						.page-header
 							h2 Oh dear, something went wrong.
-						p: img(src=imgPath+"lion-sad-128.png", alt="Sad Lion")
+						p: img(src=buildImgPath("lion-sad-128.png"), alt="Sad Lion")
 						p
 							| Something went wrong with your request, sorry. Our staff are probably looking into this, but if it continues, please contact us at #{settings.adminEmail}
 						p

+ 5 - 5
services/web/app/views/layout.jade

@@ -15,10 +15,10 @@ html(itemscope, itemtype='http://schema.org/Product')
 		-if (typeof(title) == "undefined")
 			title= 'ShareLaTeX, '+ translate("online_latex_editor") 
 		-else
-			title= translate(title) + ' - ShareLaTeX, '+translate("online_latex_editor") 
+			title= translate(title) + ' - ShareLaTeX, ' + translate("online_latex_editor") 
 
 		link(rel="icon", href="/favicon.ico")
-		link(rel='stylesheet', href=cssPath+'/style.css?fingerprint='+fingerprint('/stylesheets/style.css'))
+		link(rel='stylesheet', href=buildCssPath('/style.css'))
 
 		if settings.i18n.subdomainLang
 			each subdomainDetails in settings.i18n.subdomainLang
@@ -124,8 +124,8 @@ html(itemscope, itemtype='http://schema.org/Product')
 			window.csrfToken = "#{csrfToken}";
 			
 		block scripts
-		script(src="#{jsPath}libs/jquery-1.11.1.min.js")
-		script(src="#{jsPath}libs/angular-1.3.15.min.js")
+		script(src=buildJsPath("libs/jquery-1.11.1.min.js"))
+		script(src=buildJsPath("libs/angular-1.3.15.min.js"))
 		script.
 			window.sharelatex = {
 				siteUrl: '#{settings.siteUrl}',
@@ -196,7 +196,7 @@ html(itemscope, itemtype='http://schema.org/Product')
 			script(
 				data-main=jsPath+'main.js',
 				baseurl=jsPath,
-				src=jsPath+'libs/require.js?fingerprint='+fingerprint(jsPath + 'libs/require.js')
+				src=buildJsPath('libs/require.js')
 			)
 
 		include contact-us-modal

+ 4 - 2
services/web/app/views/project/editor.jade

@@ -129,7 +129,9 @@ block content
 
 	- var pdfPath = 'libs/pdfjs-1.3.91/pdf.worker.js'
 	- var fingerprintedPath = fingerprint(jsPath+pdfPath)
-	- var pdfJsWorkerPath = jsPath+pdfPath+'?fingerprint='+fingerprintedPath
+	- var pdfJsWorkerPath = buildJsPath(pdfPath, fingerprintedPath)
+
+
 	script(type='text/javascript').
 		window.pdfJsWorkerPath = "#{pdfJsWorkerPath}";
 
@@ -137,7 +139,7 @@ block content
 		data-main=jsPath+"ide.js",
 		baseurl=jsPath,
 		data-ace-base=jsPath+'ace',
-		src=jsPath+'libs/require.js?fingerprint='+fingerprint(jsPath + 'libs/require.js')
+		src=buildJsPath('libs/require.js')
 	)
 		
 

+ 2 - 2
services/web/app/views/project/list/side-bar.jade

@@ -135,7 +135,7 @@
 						p
 							span Get Dropbox Sync
 						p
-							img(src=imgPath+"dropbox/simple_logo.png")
+							img(src=buildImgPath("dropbox/simple_logo.png"))
 						p
 							a(href="/user/subscription/plans", sixpack-convert="left-menu-upgraed-rotation").btn.btn-primary #{translate("upgrade")}
 						p.small.text-centered
@@ -148,7 +148,7 @@
 						p
 							span Get Github Sync
 						p
-							img(src=imgPath+"github/octocat.jpg")
+							img(src=buildImgPath("github/octocat.jpg"))
 						p
 							a(href="/user/subscription/plans", sixpack-convert="left-menu-upgraed-rotation").btn.btn-primary #{translate("upgrade")}
 						p.small.text-centered

+ 1 - 1
services/web/app/views/sentry.jade

@@ -2,7 +2,7 @@
 	- if (sentrySrc.match(/^([a-z]+:)?\/\//i))
 		script(src="#{sentrySrc}")
 	- else
-		script(src="#{jsPath}libs/#{sentrySrc}")
+		script(src=buildJsPath("libs/#{sentrySrc}"))
 - if (typeof(sentrySrc) != "undefined")
 	script(type="text/javascript").
 		if (typeof(Raven) != "undefined" && Raven.config) {

+ 1 - 1
services/web/app/views/subscriptions/edit-billing-details.jade

@@ -3,7 +3,7 @@ extends ../layout
 block content
 	- locals.supressDefaultJs = true
 	script(data-main=jsPath+'main.js', src=jsPath+'libs/require.js', baseurl=jsPath)
-	script(src=jsPath+'libs/recurly.min.js')
+	script(src=buildJsPath('libs/recurly.min.js'))
 
 	.content.content-alt
 		.container

+ 2 - 2
services/web/app/views/subscriptions/successful_subscription.jade

@@ -30,10 +30,10 @@ block content
 								| Henry and James
 							.portraits
 								span.img-circle
-									img(src=imgPath+"about/henry_oswald.jpg") 
+									img(src=buildImgPath("about/henry_oswald.jpg"))
 								|  
 								span.img-circle
-									img(src=imgPath+"about/james_allen.jpg") 
+									img(src=buildImgPath("about/james_allen.jpg"))
 						p
 							a.btn.btn-primary(href="/project") < #{translate("back_to_your_projects")}
 

+ 1 - 1
services/web/app/views/translations/translation_message.jade

@@ -2,7 +2,7 @@
 	span(ng-controller="TranslationsPopupController", ng-cloak)
 		.translations-message(ng-hide="hidei18nNotification")
 			a(href=recomendSubdomain.url+currentUrl) !{translate("click_here_to_view_sl_in_lng", {lngName:"<strong>" + translate(recomendSubdomain.lngCode) + "</strong>"})} 
-				img(src=imgPath+"flags/24/#{recomendSubdomain.lngCode}.png")
+				img(src=buildImgPath("flags/24/#{recomendSubdomain.lngCode}.png"))
 			button(ng-click="dismiss()").close.pull-right
 				span(aria-hidden="true") &times;
 				span.sr-only #{translate("close")}