Преглед изворни кода

Get project page mostly styled

James Allen пре 12 година
родитељ
комит
4f05926113

+ 0 - 36
services/web/app/views/general/small-footer.jade

@@ -1,36 +0,0 @@
-.row-fluid
-	.span12
-		div.alert.alert-success.open-source
-			| ShareLaTeX is open source. 
-			a(href="https://github.com/sharelatex/sharelatex") Fork us on GitHub.
-	.span12
-		.small-footer
-			ul
-				li © ShareLaTeX
-				li
-					a(href="/tos") Terms of Service
-				li
-					a(href="/privacy_policy") Privacy Policy
-				li
-					a(href="/user/subscription/plans") Plans & Pricing
-				li
-					a(href="/university") University Licenses
-				li
-					a(href="/dropbox") Dropbox
-			ul
-				li
-					a(href="/security") Security
-				li
-					a.js-tender-widget(href='#') Contact us
-				li
-					a(href="/attribution") Thanks
-				li
-					a(href="/blog") Blog
-				li
-					a(href="http://www.twitter.com/sharelatex") Twitter
-				li
-					a(href="http://www.facebook.com/pages/ShareLaTeX/301671376556660") Facebook
-				li
-					a(href="https://plus.google.com/115074691861228882827", rel="publisher") Google+
-			ul
-				li LaTeX Editor - ShareLaTeX

+ 1 - 0
services/web/app/views/layout.jade

@@ -51,6 +51,7 @@ html(itemscope, itemtype='http://schema.org/Product')
 						a(href="https://scribtex.sharelatex.com#{scribtexPath}", style="font-size: 16px") https://scribtex.sharelatex.com#{scribtexPath}
 				.modal-footer
 					button(data-dismiss="modal").btn OK
+		include layout/footer
 
 include modals
 

+ 30 - 0
services/web/app/views/layout/footer.jade

@@ -0,0 +1,30 @@
+footer
+	.container
+		.row
+			ul.col-md-6
+				li © 2014 ShareLaTeX
+				li
+					a(href="/tos") Terms
+				li
+					a(href="/privacy_policy") Privacy
+				li
+					a(href="/security") Security
+				li
+					a.js-tender-widget(href='#') Contact
+				li
+					a(href="/about") About
+				li
+					a(href="/blog") Blog
+			ul.col-md-6
+				li
+					a(href="http://www.twitter.com/sharelatex")
+						i.fa.fa-twitter-square
+				li
+					a(href="http://www.facebook.com/pages/ShareLaTeX/301671376556660")
+						i.fa.fa-facebook-square
+				li
+					a(href="https://plus.google.com/115074691861228882827", rel="publisher")
+						i.fa.fa-google-plus-square
+				li
+					a(href="https://github.com/sharelatex/sharelatex")
+						i.fa.fa-github-square

+ 125 - 138
services/web/app/views/project/list.jade

@@ -39,153 +39,140 @@ block content
 					mixin formatOwnerText(project.accessLevel, project.publicAccesLevel)
 				span.last-modified.isoDate #{project.lastUpdated.toISOString()}
 
-	.container
-		.row
-			.col-md-2
-				br
-				#newProject.dropdown
-					a.btn.btn-primary.dropdown-toggle(data-toggle="dropdown", href="#") New Project
-						span.caret
-					ul.dropdown-menu(role="menu")
+	.content.content-alt
+		.container
+			.row
+				.col-md-2
+					#newProject.dropdown
+						a.btn.btn-primary.dropdown-toggle(data-toggle="dropdown", href="#") New Project 
+							span.caret
+						ul.dropdown-menu(role="menu")
+							li
+								a#blankNewProject(href="#", data-csrf=csrfToken) Blank Project
+							li
+								a#newProjectExample(href="#", data-csrf=csrfToken) Example Project
+							li
+								a#uploadNewProject(href="#", data-csrf=csrfToken) Upload Project
+							li.divider
+							li.dropdown-submenu
+								a(tabindex="-1", href="#", data-toggle="dropdown") Templates
+								ul.dropdown-menu
+									li
+										a.menu-indent(href="/templates/cv") CV or Resume
+									li
+										a.menu-indent(href="/templates/cover-letters") Cover Letter
+									li
+										a.menu-indent(href="/templates/journals") Journal Article
+									li
+										a.menu-indent(href="/templates/presentations") Presentation
+									li
+										a.menu-indent(href="/templates/thesis") Thesis
+									li
+										a.menu-indent(href="/templates/bibliographies") Bibliographies
+									li
+										a.menu-indent(href="/templates") View All »
+
+					ul.list-unstyled.folders-menu.js-folders-menu
 						li
-							a#blankNewProject(href="#", data-csrf=csrfToken) Blank Project
+							a.normalText.menu-indent(href="#") All projects
 						li
-							a#newProjectExample(href="#", data-csrf=csrfToken) Example Project
+							a.normalText.menu-indent(href="#") Your projects
 						li
-							a#uploadNewProject(href="#", data-csrf=csrfToken) Upload Project
-						li.divider
-						li.dropdown-submenu
-							a(tabindex="-1", href="#", data-toggle="dropdown") Templates
-							ul.dropdown-menu
-								li
-									a.menu-indent(href="/templates/cv") CV or Resume
-								li
-									a.menu-indent(href="/templates/cover-letters") Cover Letter
-								li
-									a.menu-indent(href="/templates/journals") Journal Article
-								li
-									a.menu-indent(href="/templates/presentations") Presentation
-								li
-									a.menu-indent(href="/templates/thesis") Thesis
-								li
-									a.menu-indent(href="/templates/bibliographies") Bibliographies
-								li
-									a.menu-indent(href="/templates") View All »
-
-				br
-				ul.unstyled.menu.js-folders-menu
-					li
-						a.normalText.menu-indent(href="#") All projects
-					li
-						a.normalText.menu-indent(href="#") Your projects
-					li
-						a.normalText.menu-indent(href="#") Shared with you
-					li Folders
-					li
-						a.normalText.menu-indent(href="#")
-							i.icon.fa.fa-folder-o
-							|  PhD work
-						span.normalText  (5)
-					li
-						a.normalText.menu-indent(href="#")
-							i.icon.fa.fa-folder-o
-							|  Notes
-						span.normalText  (2)
-					li
-						a.normalText.menu-indent(href="#")
-							i.icon.fa.fa-folder-o
-							|  Papers
-						span.normalText  (1)
+							a.normalText.menu-indent(href="#") Shared with you
+						li Folders
+						li
+							a.normalText.menu-indent(href="#")
+								i.icon.fa.fa-folder-o
+								|  PhD work
+							span.normalText  (5)
+						li
+							a.normalText.menu-indent(href="#")
+								i.icon.fa.fa-folder-o
+								|  Notes
+							span.normalText  (2)
+						li
+							a.normalText.menu-indent(href="#")
+								i.icon.fa.fa-folder-o
+								|  Papers
+							span.normalText  (1)
 
-				ul.unstyled.menu
-					li
-						a.normalText.menu-indent(href="#")
-							i.icon.fa.fa-plus
-							|  New Folder
+					ul.list-unstyled.folders-menu
+						li
+							a.normalText.menu-indent(href="#")
+								i.icon.fa.fa-plus
+								|  New Folder
 
-				-if (tags.length > 0)
-					hr.soften
-					ul#allProjectTagsArea.unstyled.menu
-						li Tags
-						- each tag in tags
-							-if (tag.project_ids.length > 0)
-								li
-									mixin tag("", tag.name, false)
-									span.number x #{tag.project_ids.length}
+					-if (tags.length > 0)
+						hr.soften
+						ul#allProjectTagsArea.unstyled.menu
+							li Tags
+							- each tag in tags
+								-if (tag.project_ids.length > 0)
+									li
+										mixin tag("", tag.name, false)
+										span.number x #{tag.project_ids.length}
 
-				-if (settings.enableSubscriptions)
-					p
-						a(href="/user/bonus").btn.btn-info Upgrade Account
+					-if (settings.enableSubscriptions)
+						p
+							a(href="/user/bonus").btn.btn-info Upgrade Account
 
-			.col-md-10
-				.row-fluid
-					.span12
-						form.form-inline.search.project-search
-							input#projectFilter(placeholder='Search projects…', autofocus='autofocus').span6.projectSearch.search-query
-							i.fa.fa-search
-							//- i.fa.fa-remove
-							.project-tools.js-toggle-tools.hidden
-								.btn-toolbar
-									.btn-group
-										a(href='/project/'+"5369c5737fc6b47f048da1f5"+'/download/zip', data-toggle="tooltip", data-placement="bottom", title="", data-original-title="Download .zip File").btn.downloadZip
-											i.fa.fa-cloud-download
-										-if ("owner" == "owner")
-											a(href='/project/'+"5369c5737fc6b47f048da1f5", data-name="the project", data-id="5369c5737fc6b47f048da1f5", data-csrf=csrfToken, data-toggle="tooltip", data-placement="bottom", title="", data-original-title="Remove").btn.deleteProject
-												i.fa.fa-trash-o
-										a.btn.dropdown-toggle
-											i.fa.fa-folder-open-o
-									.btn-group.project-actions
-										a.btn.dropdown-toggle(data-toggle="dropdown", href="#") More
-											span.caret
-										ul.dropdown-menu.pull-right(role="menu")
-											li
-												a(href='/project/'+"5369c5737fc6b47f048da1f5"+'/clone', data-csrf=csrfToken).cloneProject Make a Copy...
-											-if ("owner" == "owner")
-												li
-													a(href='/project/'+"5369c5737fc6b47f048da1f5"+'/rename', data-name="the project", data-id="5369c5737fc6b47f048da1f5", data-csrf=csrfToken).renameProject Rename...
-											-else
-												li
-													a(href='/project/'+"5369c5737fc6b47f048da1f5"+'/leave', data-name="the project", data-id="5369c5737fc6b47f048da1f5", data-csrf=csrfToken).leaveProject Leave Project
-				.card.card-thin.first
-					- if (projects.length > 0)
-						ul#projectList
-							li
-								label.checkbox.select-all
-									input(type="checkbox")
-								span.title TITLE
-								span.owner OWNER
-								span.last-modified LAST MODIFIED
-							mixin projectList(projects)
-					- else
+				.col-md-10
+					.container-fluid
 						.row
-							.span12
-								.welcome
-									h1
-										i.fa.fa-arrow-left
-										| Welcome! Follow the arrow to get started
-									p New to LaTeX? Start by having a look at our
-										a(href="/templates")  templates
-										|  or
-										a(href="/learn")  help guides
-										| .
+							.col-md-12
+								form.form-horizontal(role="form")
+									.form-group.has-feedback.col-md-7
+										input(placeholder='Search projects…', autofocus='autofocus').form-control.col-md-7
+										i.fa.fa-search.form-control-feedback
+									//- i.fa.fa-remove
 
-					if freeTrial && !freeTrial.expired
-						.row-fluid
-							.span12
-								.alert.alert-info.alert-free-trial
-									h2 You are currently using a free trial which expires on #{freeTrial.expiresAt}.
-									p
-										a(href="/user/subscription").btn.btn-primary Upgrade now
-					if freeTrial && freeTrial.expired
-						.row-fluid
-							.span12
-								.alert.alert-danger.alert-free-trial
-									h2 Your free trial has expired!
-									p Upgrade now to continue using ShareLaTeX uninterrupted.
-									p
-										a(href="/user/subscription").btn.btn-danger Upgrade now
-
-	include ../general/small-footer
+								.cold-md6
+									.project-tools.js-toggle-tools.hidden
+										.btn-toolbar
+											.btn-group
+												a(href='/project/'+"5369c5737fc6b47f048da1f5"+'/download/zip', data-toggle="tooltip", data-placement="bottom", title="", data-original-title="Download .zip File").btn.downloadZip
+													i.fa.fa-cloud-download
+												-if ("owner" == "owner")
+													a(href='/project/'+"5369c5737fc6b47f048da1f5", data-name="the project", data-id="5369c5737fc6b47f048da1f5", data-csrf=csrfToken, data-toggle="tooltip", data-placement="bottom", title="", data-original-title="Remove").btn.deleteProject
+														i.fa.fa-trash-o
+												a.btn.dropdown-toggle
+													i.fa.fa-folder-open-o
+											.btn-group.project-actions
+												a.btn.dropdown-toggle(data-toggle="dropdown", href="#") More
+													span.caret
+												ul.dropdown-menu.pull-right(role="menu")
+													li
+														a(href='/project/'+"5369c5737fc6b47f048da1f5"+'/clone', data-csrf=csrfToken).cloneProject Make a Copy...
+													-if ("owner" == "owner")
+														li
+															a(href='/project/'+"5369c5737fc6b47f048da1f5"+'/rename', data-name="the project", data-id="5369c5737fc6b47f048da1f5", data-csrf=csrfToken).renameProject Rename...
+													-else
+														li
+															a(href='/project/'+"5369c5737fc6b47f048da1f5"+'/leave', data-name="the project", data-id="5369c5737fc6b47f048da1f5", data-csrf=csrfToken).leaveProject Leave Project
+						.row
+							.col-md-12
+								.card.card-thin
+									- if (projects.length > 0)
+										ul#projectList
+											li
+												label.checkbox.select-all
+													input(type="checkbox")
+												span.title TITLE
+												span.owner OWNER
+												span.last-modified LAST MODIFIED
+											mixin projectList(projects)
+									- else
+										.row
+											.span12
+												.welcome
+													h1
+														i.fa.fa-arrow-left
+														| Welcome! Follow the arrow to get started
+													p New to LaTeX? Start by having a look at our
+														a(href="/templates")  templates
+														|  or
+														a(href="/learn")  help guides
+														| .
 
 	script(type="text/template")#tagTemplate
 		mixin tag('{{ project_id }}', '{{ tagName }}', true)

+ 17 - 0
services/web/public/stylesheets/app/project-list.less

@@ -13,6 +13,23 @@
   display: inline;
 }
 
+ul.folders-menu {
+  margin-top: @line-height-computed;
+  font-weight: 700;
+  a {
+  	font-size: 0.8rem;
+    padding: 3px;
+  }
+  .active {
+    background-color: @red;
+    color: white;
+    padding-left: 6px;
+    a {
+      color: white;
+    }
+  }
+}
+
 #projectList {
 	list-style-type: none;
 	height: 420px;

+ 1 - 0
services/web/public/stylesheets/components/buttons.less

@@ -15,6 +15,7 @@
   cursor: pointer;
   background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214
   border: 1px solid transparent;
+  border-bottom: 2px solid transparent;
   white-space: nowrap;
   .button-size(@padding-base-vertical; @padding-base-horizontal; @font-size-base; @line-height-base; @border-radius-base);
   .user-select(none);

+ 11 - 0
services/web/public/stylesheets/components/card.less

@@ -0,0 +1,11 @@
+.card {
+  background-color: white;
+  border-radius: @border-radius-base;
+  -webkit-box-shadow: 0 2px 4px rgba(0,0,0,0.1);
+  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
+  padding: @line-height-computed;
+}
+
+.card-thin {
+  padding: @line-height-computed / 2
+}

+ 19 - 0
services/web/public/stylesheets/components/footer.less

@@ -0,0 +1,19 @@
+footer {
+	border-top: 1px solid @gray-lighter;
+	padding: 2em;
+	font-size: 0.9rem;
+	ul {
+		list-style: none;
+		margin: 0px;
+		li {
+			display: inline-block;
+			margin: 0 .5em;
+		}
+		i {
+			font-size: 1.2rem;
+		}
+	}
+	ul:last-child {
+		text-align: right;
+	}
+}

+ 6 - 6
services/web/public/stylesheets/components/navbar.less

@@ -162,12 +162,12 @@
     text-decoration: none;
   }
 
-  @media (min-width: @grid-float-breakpoint) {
-    .navbar > .container &,
-    .navbar > .container-fluid & {
-      margin-left: -@navbar-padding-horizontal;
-    }
-  }
+  // @media (min-width: @grid-float-breakpoint) {
+  //   .navbar > .container &,
+  //   .navbar > .container-fluid & {
+  //     margin-left: -@navbar-padding-horizontal;
+  //   }
+  // }
 }
 
 

+ 9 - 0
services/web/public/stylesheets/core/scaffolding.less

@@ -132,3 +132,12 @@ hr {
   clip: rect(0,0,0,0);
   border: 0;
 }
+
+.content {
+  padding-top: @content-margin-top;
+  padding-bottom: @content-margin-top;
+}
+
+.content-alt {
+  background-color: lighten(@gray-lightest, 2.5%);
+}

+ 14 - 11
services/web/public/stylesheets/core/variables.less

@@ -15,7 +15,7 @@
 @gray-lighter:          #cfcfcf;
 @gray-lightest:         #f0f0f0;
 
-@blue:                  #263872;
+@blue:                  #405ebf;
 @blueDark:              #040D2D;
 @green:                 #46a546;
 @red:                   #a93529;
@@ -55,7 +55,7 @@
 @font-family-monospace:   Menlo, Monaco, Consolas, "Courier New", monospace;
 @font-family-base:        @font-family-sans-serif;
 
-@font-size-base:          1rem;
+@font-size-base:          16px;
 @font-size-large:         ceil((@font-size-base * 1.25)); // ~18px
 @font-size-small:         ceil((@font-size-base * 0.85)); // ~12px
 
@@ -90,8 +90,8 @@
 //
 //## Define common padding and border radius sizes and more. Values based on 14px text and 1.428 line-height (~20px to start).
 
-@padding-base-vertical:     6px;
-@padding-base-horizontal:   12px;
+@padding-base-vertical:     5px;
+@padding-base-horizontal:   16px;
 
 @padding-large-vertical:    10px;
 @padding-large-horizontal:  16px;
@@ -145,7 +145,7 @@
 //
 //## For each of Bootstrap's buttons, define text, background and border color.
 
-@btn-font-weight:                normal;
+@btn-font-weight:                700;
 
 @btn-default-color:              #333;
 @btn-default-bg:                 #fff;
@@ -153,23 +153,23 @@
 
 @btn-primary-color:              #fff;
 @btn-primary-bg:                 @brand-primary;
-@btn-primary-border:             darken(@btn-primary-bg, 5%);
+@btn-primary-border:             darken(@btn-primary-bg, 10%);
 
 @btn-success-color:              #fff;
 @btn-success-bg:                 @brand-success;
-@btn-success-border:             darken(@btn-success-bg, 5%);
+@btn-success-border:             darken(@btn-success-bg, 10%);
 
 @btn-info-color:                 #fff;
 @btn-info-bg:                    @brand-info;
-@btn-info-border:                darken(@btn-info-bg, 5%);
+@btn-info-border:                darken(@btn-info-bg, 15%);
 
 @btn-warning-color:              #fff;
 @btn-warning-bg:                 @brand-warning;
-@btn-warning-border:             darken(@btn-warning-bg, 5%);
+@btn-warning-border:             darken(@btn-warning-bg, 10%);
 
 @btn-danger-color:               #fff;
 @btn-danger-bg:                  @brand-danger;
-@btn-danger-border:              darken(@btn-danger-bg, 5%);
+@btn-danger-border:              darken(@btn-danger-bg, 10%);
 
 @btn-link-disabled-color:        @gray-light;
 
@@ -337,7 +337,7 @@
 
 // Basics of a navbar
 @navbar-height:                    60px;
-@navbar-margin-bottom:             @line-height-computed;
+@navbar-margin-bottom:             0;
 @navbar-border-radius:             0;
 @navbar-padding-horizontal:        floor((@grid-gutter-width / 2));
 @navbar-padding-vertical:          ((@navbar-height - @line-height-computed) / 2);
@@ -809,3 +809,6 @@
 
 //** Horizontal offset for forms and lists.
 @component-offset-horizontal: 180px;
+
+@content-margin-top: @line-height-computed;
+@content-margin-top: @line-height-computed;

+ 2 - 0
services/web/public/stylesheets/style.less

@@ -15,6 +15,7 @@
 @import "components/tables.less";
 @import "components/forms.less";
 @import "components/buttons.less";
+@import "components/card.less";
 @import "components/code.less";
 @import "components/component-animations.less";
 //@import "components/glyphicons.less";
@@ -23,6 +24,7 @@
 @import "components/input-groups.less";
 @import "components/navs.less";
 @import "components/navbar.less";
+@import "components/footer.less";
 @import "components/breadcrumbs.less";
 @import "components/pagination.less";
 @import "components/pager.less";