]> BookStack Code Mirror - bookstack/commitdiff
Actioned some todo items, Cleaned old grid css
authorDan Brown <redacted>
Sun, 7 Apr 2019 08:57:48 +0000 (09:57 +0100)
committerDan Brown <redacted>
Sun, 7 Apr 2019 08:57:48 +0000 (09:57 +0100)
30 files changed:
app/Actions/ViewService.php
app/Http/Controllers/BookshelfController.php
resources/assets/sass/_blocks.scss
resources/assets/sass/_components.scss
resources/assets/sass/_grid.scss [deleted file]
resources/assets/sass/_header.scss
resources/assets/sass/_layout.scss [new file with mode: 0644]
resources/assets/sass/_lists.scss
resources/assets/sass/_pages.scss
resources/assets/sass/_spacing.scss [new file with mode: 0644]
resources/assets/sass/_variables.scss
resources/assets/sass/export-styles.scss
resources/assets/sass/styles.scss
resources/views/books/export.blade.php
resources/views/chapters/export.blade.php
resources/views/chapters/show.blade.php
resources/views/comments/comment.blade.php
resources/views/common/header.blade.php
resources/views/common/home.blade.php
resources/views/components/code-editor.blade.php
resources/views/components/entity-selector-popup.blade.php
resources/views/components/entity-selector.blade.php
resources/views/components/image-manager.blade.php
resources/views/pages/export.blade.php
resources/views/pages/form-toolbox.blade.php
resources/views/pages/form.blade.php
resources/views/pages/revisions.blade.php
resources/views/pages/show.blade.php
resources/views/shelves/export.blade.php [deleted file]
resources/views/shelves/form.blade.php

index 292784e86206521573d983183b49b9048e99ccbc..532f31c423ca06ae026bb931f03deb84e16bfc87 100644 (file)
@@ -59,11 +59,11 @@ class ViewService
      * @param string $action - used for permission checking
      * @return Collection
      */
-    public function getPopular(int $count = 10, int $page = 0, $filterModels = null, $action = 'view')
+    public function getPopular(int $count = 10, int $page = 0, $filterModels = null, string $action = 'view')
     {
-        // TODO - Standardise input filter
         $skipCount = $count * $page;
-        $query = $this->permissionService->filterRestrictedEntityRelations($this->view, 'views', 'viewable_id', 'viewable_type', $action)
+        $query = $this->permissionService
+            ->filterRestrictedEntityRelations($this->view, 'views', 'viewable_id', 'viewable_type', $action)
             ->select('*', 'viewable_id', 'viewable_type', \DB::raw('SUM(views) as view_count'))
             ->groupBy('viewable_id', 'viewable_type')
             ->orderBy('view_count', 'desc');
index 4ac9431191d37e6f6c430d26681d6cfa30d8a5dd..2fa9ca3328ecf7b11399ea0d89137148aa958c0e 100644 (file)
@@ -4,7 +4,6 @@ use Activity;
 use BookStack\Auth\UserRepo;
 use BookStack\Entities\Bookshelf;
 use BookStack\Entities\Repos\EntityRepo;
-use BookStack\Entities\ExportService;
 use Illuminate\Http\Request;
 use Illuminate\Http\Response;
 use Views;
@@ -14,19 +13,16 @@ class BookshelfController extends Controller
 
     protected $entityRepo;
     protected $userRepo;
-    protected $exportService;
 
     /**
      * BookController constructor.
-     * @param \BookStack\Entities\Repos\EntityRepo $entityRepo
+     * @param EntityRepo $entityRepo
      * @param UserRepo $userRepo
-     * @param \BookStack\Entities\ExportService $exportService
      */
-    public function __construct(EntityRepo $entityRepo, UserRepo $userRepo, ExportService $exportService)
+    public function __construct(EntityRepo $entityRepo, UserRepo $userRepo)
     {
         $this->entityRepo = $entityRepo;
         $this->userRepo = $userRepo;
-        $this->exportService = $exportService;
         parent::__construct();
     }
 
index a52ac71a978caefe96065c515e7925d8b7c4ef26..51ba25e05a93e75e50381bd1b71ca490414285bc 100644 (file)
@@ -1,121 +1,8 @@
-
 /*
-* This file container all block styling including margins, paddings & borders.
+* This file contains styling for custom block formats.
 */
 
 
-/*
-* Padding
-* TODO - Remove these older styles
-*/
-.nopadding {
-  padding: 0;
-}
-.padded {
-  padding: $-l;
-  &.large {
-    padding: $-xl;
-  }
-  >h1, >h2, >h3, >h4 {
-    &:first-child {
-      margin-top: 0.1em;
-    }
-  }
-}
-.padded-vertical, .padded-top {
-  padding-top: $-m;
-  &.large {
-    padding-top: $-xl;
-  }
-}
-
-.padded-vertical, .padded-bottom {
-  padding-bottom: $-m;
-  &.large {
-    padding-bottom: $-xl;
-  }
-}
-.padded-horizontal, .padded-left {
-  padding-left: $-m;
-  &.large {
-    padding-left: $-xl;
-  }
-}
-.padded-horizontal, .padded-right {
-  padding-right: $-m;
-  &.large {
-    padding-right: $-xl;
-  }
-}
-
-/*
-* Margins
-* TODO - Remove these older styles
-*/
-.margins {
-  margin: $-l;
-  &.large {
-    margin: $-xl;
-  }
-}
-.margins-vertical, .margin-top {
-  margin-top: $-m;
-  &.large {
-    margin-top: $-xl;
-  }
-}
-.margins-vertical, .margin-bottom {
-  margin-bottom: $-m;
-  &.large {
-    margin-bottom: $-xl;
-  }
-}
-.margins-horizontal, .margin-left {
-  margin-left: $-m;
-  &.large {
-    margin-left: $-xl;
-  }
-}
-.margins-horizontal, .margin-right {
-  margin-right: $-m;
-  &.large {
-    margin-right: $-xl;
-  }
-}
-
-@mixin spacing($prop, $propLetter) {
-  @each $sizeLetter, $size in $spacing {
-    .#{$propLetter}-#{$sizeLetter} {
-      #{$prop}: $size !important;
-    }
-    .#{$propLetter}x-#{$sizeLetter} {
-      #{$prop}-left: $size !important;
-      #{$prop}-right: $size !important;
-    }
-    .#{$propLetter}y-#{$sizeLetter} {
-      #{$prop}-top: $size !important;
-      #{$prop}-bottom: $size !important;
-    }
-    .#{$propLetter}t-#{$sizeLetter} {
-      #{$prop}-top: $size !important;
-    }
-    .#{$propLetter}r-#{$sizeLetter} {
-      #{$prop}-right: $size !important;
-    }
-    .#{$propLetter}b-#{$sizeLetter} {
-      #{$prop}-bottom: $size !important;
-    }
-    .#{$propLetter}l-#{$sizeLetter} {
-      #{$prop}-left: $size !important;
-    }
-  }
-
-}
-
-@include spacing('margin', 'm')
-@include spacing('padding', 'p')
-
-
 /**
  * Callouts
  */
     margin: $-s 0;
     width: 100%;
   }
-  > div.padded {
-    padding: $-s 0 !important;
-  }
   .handle {
     background-color: #EEE;
     left: 0;
 
 .tag-list div:last-child .tag-item {
   margin-bottom: 0;
+}
+
+.grid-card {
+  display: flex;
+  flex-direction: column;
+  border: 1px solid #ddd;
+  margin-bottom: $-l;
+  border-radius: 4px;
+  overflow: hidden;
+  min-width: 100px;
+  color: $text-dark;
+  transition: border-color ease-in-out 120ms, box-shadow ease-in-out 120ms;
+  &:hover {
+    color: $text-dark;
+    text-decoration: none;
+    box-shadow: $bs-card;
+  }
+  h2 {
+    width: 100%;
+    font-size: 1.5em;
+    margin: 0 0 10px;
+  }
+  p {
+    font-size: .7rem;
+    margin: 0;
+    line-height: 1.6em;
+  }
+  .grid-card-content {
+    flex: 1;
+    border-top: 0;
+    border-bottom-width: 2px;
+  }
+  .grid-card-content, .grid-card-footer {
+    padding: $-l;
+  }
+  .grid-card-content + .grid-card-footer {
+    padding-top: 0;
+  }
+}
+
+.bookshelf-grid-item .grid-card-content h2 a  {
+  color: $color-bookshelf;
+  fill: $color-bookshelf;
+}
+
+.book-grid-item .grid-card-footer {
+  p.small {
+    font-size: .8em;
+    margin: 0;
+  }
+}
+
+.content-wrap.card {
+  padding: $-l $-xxl;
+  margin-left: auto;
+  margin-right: auto;
+  margin-bottom: $-xl;
+  overflow: auto;
+  min-height: 60vh;
+  &.auto-height {
+    min-height: 0;
+  }
+  &.fill-width {
+    width: 100%;
+  }
+}
+@include smaller-than($m) {
+  .content-wrap.card {
+    padding: $-m $-l;
+  }
 }
\ No newline at end of file
index 9ebe5d0d7373ac87eac3334b809faf804784ab11..f835a19913373adc133f4514989452a58c5e7440 100644 (file)
@@ -142,6 +142,9 @@ body.flexbox-support #entity-selector-wrap .popup-body .form-group {
 #entity-selector-wrap .popup-body .form-group {
   margin: 0;
 }
+.popup-body .entity-selector-container {
+  flex: 1;
+}
 
 .image-manager-body {
   min-height: 70vh;
diff --git a/resources/assets/sass/_grid.scss b/resources/assets/sass/_grid.scss
deleted file mode 100644 (file)
index b8bd2cc..0000000
+++ /dev/null
@@ -1,1067 +0,0 @@
-
-/** Flexbox styling rules **/
-body.flexbox {
-  display: flex;
-  flex-direction: column;
-  align-items: stretch;
-  height: 100%;
-  min-height: 100%;
-  max-height: 100%;
-  overflow: hidden;
-  #content {
-    flex: 1;
-    display: flex;
-    min-height: 0;
-  }
-}
-
-.flex-fill {
-  display: flex;
-  align-items: stretch;
-  min-height: 0;
-  max-width: 100%;
-  position: relative;
-  &.rows {
-    flex-direction: row;
-  }
-  &.columns {
-    flex-direction: column;
-  }
-}
-
-.flex {
-  min-height: 0;
-  flex: 1;
-}
-
-.flex.scroll {
-  //overflow-y: auto;
-  display: flex;
-  &.sidebar {
-    margin-right: -14px;
-  }
-}
-.flex.scroll .scroll-body {
-  overflow-y: scroll;
-  flex: 1;
-}
-
-.flex-child > div {
-  flex: 1;
-}
-
-.dual-column-content {
-  columns: 2;
-}
-
-@include smaller-than($m) {
-  .dual-column-content {
-    columns: 1;
-  }
-}
-
-.content-wrap.card {
-  padding: $-l $-xxl;
-  margin-left: auto;
-  margin-right: auto;
-  margin-bottom: $-xl;
-  overflow: auto;
-  min-height: 60vh;
-  &.auto-height {
-    min-height: 0;
-  }
-  &.fill-width {
-    width: 100%;
-  }
-}
-@include smaller-than($m) {
-  .content-wrap.card {
-    padding: $-m $-l;
-  }
-}
-
-.tri-layout-container {
-  display: grid;
-  margin-left: $-xl;
-  margin-right: $-xl;
-  grid-template-columns: 1fr 4fr 1fr;
-  grid-template-areas: "a b c";
-  grid-column-gap: $-xxl;
-  .tri-layout-right {
-    grid-area: c;
-    min-width: 0;
-  }
-  .tri-layout-left {
-    grid-area: a;
-    min-width: 0;
-  }
-  .tri-layout-middle {
-    grid-area: b;
-    padding-top: $-m;
-  }
-}
-@include smaller-than($xxl) {
-  .tri-layout-container {
-    grid-template-areas:  "c b b"
-                          "a b b";
-    grid-template-columns: 1fr 3fr;
-    grid-template-rows: max-content min-content;
-    padding-right: $-l;
-    .content-wrap.card {
-      padding: $-l $-xl;
-    }
-  }
-}
-@include larger-than($xxl) {
-  .tri-layout-left-contents, .tri-layout-right-contents {
-    padding: $-m;
-    position: sticky;
-    top: $-m;
-    max-height: 100vh;
-    min-height: 50vh;
-    overflow-y: scroll;
-    overflow-x: hidden;
-    scrollbar-width: none;
-    -ms-overflow-style: none;
-    &::-webkit-scrollbar {
-      display: none;
-    }
-  }
-  .tri-layout-middle-contents {
-    max-width: 940px;
-    margin: 0 auto;
-  }
-}
-
-@include smaller-than($l) {
-  .tri-layout-container {
-    grid-template-areas:  none;
-    grid-template-columns: 10% 90%;
-    grid-column-gap: 0;
-    .tri-layout-left-contents, .tri-layout-right-contents {
-      padding-left: $-m;
-      padding-right: $-m;
-    }
-    .tri-layout-right-contents > div, .tri-layout-left-contents > div {
-      opacity: 0.6;
-      z-index: 0;
-    }
-    .tri-layout-left > *, .tri-layout-right > * {
-      pointer-events: none;
-    }
-    .tri-layout-right, .tri-layout-left, .tri-layout-middle {
-      grid-area: none;
-      grid-column: 1/3;
-      grid-row: 1;
-    }
-    .tri-layout-middle {
-      grid-row: 1/3;
-      grid-column: 2/3;
-      z-index: 1;
-      transition: transform ease-in-out 240ms;
-    }
-    .tri-layout-left {
-      grid-row: 2;
-    }
-    &.mobile-open {
-      overflow: hidden;
-      .tri-layout-middle {
-        transform: translateX(90%);
-      }
-      .tri-layout-right  > *, .tri-layout-left > * {
-        pointer-events: auto;
-      }
-    }
-  }
-}
-
-.tri-layout-left-contents > div, .tri-layout-right-contents > div {
-  opacity: 0.6;
-  transition: opacity ease-in-out 120ms;
-  &:hover {
-    opacity: 1;
-  }
-}
-
-/** Rules for all columns */
-div[class^="col-"] img {
-  max-width: 100%;
-}
-
-.container {
-  max-width: $xxl;
-  margin-left: auto;
-  margin-right: auto;
-  padding-left: $-m;
-  padding-right: $-m;
-  &.fluid {
-    max-width: 100%;
-  }
-  &.medium {
-    max-width: 992px;
-  }
-  &.small {
-    max-width: 840px;
-  }
-  &.very-small {
-    max-width: 480px;
-  }
-  &.nopad {
-    padding-left: 0;
-    padding-right: 0;
-  }
-}
-
-.row {
-  margin-left: -$-m;
-  margin-right: -$-m;
-}
-
-.grid {
-  display: grid;
-  grid-column-gap: $-l;
-  grid-row-gap: $-l;
-  &.half {
-    grid-template-columns: 1fr 1fr;
-  }
-  &.third {
-    grid-template-columns: 1fr 1fr 1fr;
-  }
-  &.left-focus {
-    grid-template-columns: 2fr 1fr;
-  }
-  &.right-focus {
-    grid-template-columns: 1fr 3fr;
-  }
-  &.gap-xl {
-    grid-column-gap: $-xl;
-    grid-row-gap: $-xl;
-  }
-  &.gap-xxl {
-    grid-column-gap: $-xxl;
-    grid-row-gap: $-xxl;
-  }
-}
-
-.grid-card {
-  display: flex;
-  flex-direction: column;
-  border: 1px solid #ddd;
-  margin-bottom: $-l;
-  border-radius: 4px;
-  overflow: hidden;
-  min-width: 100px;
-  color: $text-dark;
-  transition: border-color ease-in-out 120ms, box-shadow ease-in-out 120ms;
-  &:hover {
-    color: $text-dark;
-    text-decoration: none;
-    box-shadow: $bs-card;
-  }
-  h2 {
-    width: 100%;
-    font-size: 1.5em;
-    margin: 0 0 10px;
-  }
-  p {
-    font-size: .7rem;
-    margin: 0;
-    line-height: 1.6em;
-  }
-  .grid-card-content {
-    flex: 1;
-    border-top: 0;
-    border-bottom-width: 2px;
-  }
-  .grid-card-content, .grid-card-footer {
-    padding: $-l;
-  }
-  .grid-card-content + .grid-card-footer {
-    padding-top: 0;
-  }
-}
-
-.bookshelf-grid-item .grid-card-content h2 a  {
-  color: $color-bookshelf;
-  fill: $color-bookshelf;
-}
-
-.book-grid-item .grid-card-footer {
-  p.small {
-    font-size: .8em;
-    margin: 0;
-  }
-}
-
-@include smaller-than($m) {
-  .grid.third {
-    grid-template-columns: 1fr 1fr;
-  }
-  .grid.half, .grid.left-focus, .grid.right-focus {
-    grid-template-columns: 1fr;
-  }
-  .grid.half.collapse-xs {
-    grid-template-columns: 1fr 1fr;
-  }
-  .grid.gap-xl {
-    grid-column-gap: $-m;
-    grid-row-gap: $-m;
-  }
-  .grid.right-focus.reverse-collapse > *:nth-child(2) {
-    order: 0;
-  }
-  .grid.right-focus.reverse-collapse > *:nth-child(1) {
-    order: 1;
-  }
-}
-
-@include smaller-than($s) {
-  .grid.third {
-    grid-template-columns: 1fr;
-  }
-}
-
-@include smaller-than($xs) {
-  .grid.half.collapse-xs {
-    grid-template-columns: 1fr;
-  }
-}
-
-.float {
-  float: left;
-  &.right {
-    float: right;
-  }
-}
-
-.block {
-  display: block;
-  position: relative;
-}
-
-.inline {
-  display: inline;
-}
-
-.block.inline {
-  display: inline-block;
-}
-
-
-// TODO - Remove old BS grid system
-.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
-  position: relative;
-  min-height: 1px;
-  padding-left: $-m;
-  padding-right: $-m;
-}
-.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
-  float: left;
-}
-.col-xs-12 {
-  width: 100%;
-}
-.col-xs-11 {
-  width: 91.66666667%;
-}
-.col-xs-10 {
-  width: 83.33333333%;
-}
-.col-xs-9 {
-  width: 75%;
-}
-.col-xs-8 {
-  width: 66.66666667%;
-}
-.col-xs-7 {
-  width: 58.33333333%;
-}
-.col-xs-6 {
-  width: 50%;
-}
-.col-xs-5 {
-  width: 41.66666667%;
-}
-.col-xs-4 {
-  width: 33.33333333%;
-}
-.col-xs-3 {
-  width: 25%;
-}
-.col-xs-2 {
-  width: 16.66666667%;
-}
-.col-xs-1 {
-  width: 8.33333333%;
-}
-.col-xs-pull-12 {
-  right: 100%;
-}
-.col-xs-pull-11 {
-  right: 91.66666667%;
-}
-.col-xs-pull-10 {
-  right: 83.33333333%;
-}
-.col-xs-pull-9 {
-  right: 75%;
-}
-.col-xs-pull-8 {
-  right: 66.66666667%;
-}
-.col-xs-pull-7 {
-  right: 58.33333333%;
-}
-.col-xs-pull-6 {
-  right: 50%;
-}
-.col-xs-pull-5 {
-  right: 41.66666667%;
-}
-.col-xs-pull-4 {
-  right: 33.33333333%;
-}
-.col-xs-pull-3 {
-  right: 25%;
-}
-.col-xs-pull-2 {
-  right: 16.66666667%;
-}
-.col-xs-pull-1 {
-  right: 8.33333333%;
-}
-.col-xs-pull-0 {
-  right: auto;
-}
-.col-xs-push-12 {
-  left: 100%;
-}
-.col-xs-push-11 {
-  left: 91.66666667%;
-}
-.col-xs-push-10 {
-  left: 83.33333333%;
-}
-.col-xs-push-9 {
-  left: 75%;
-}
-.col-xs-push-8 {
-  left: 66.66666667%;
-}
-.col-xs-push-7 {
-  left: 58.33333333%;
-}
-.col-xs-push-6 {
-  left: 50%;
-}
-.col-xs-push-5 {
-  left: 41.66666667%;
-}
-.col-xs-push-4 {
-  left: 33.33333333%;
-}
-.col-xs-push-3 {
-  left: 25%;
-}
-.col-xs-push-2 {
-  left: 16.66666667%;
-}
-.col-xs-push-1 {
-  left: 8.33333333%;
-}
-.col-xs-push-0 {
-  left: auto;
-}
-.col-xs-offset-12 {
-  margin-left: 100%;
-}
-.col-xs-offset-11 {
-  margin-left: 91.66666667%;
-}
-.col-xs-offset-10 {
-  margin-left: 83.33333333%;
-}
-.col-xs-offset-9 {
-  margin-left: 75%;
-}
-.col-xs-offset-8 {
-  margin-left: 66.66666667%;
-}
-.col-xs-offset-7 {
-  margin-left: 58.33333333%;
-}
-.col-xs-offset-6 {
-  margin-left: 50%;
-}
-.col-xs-offset-5 {
-  margin-left: 41.66666667%;
-}
-.col-xs-offset-4 {
-  margin-left: 33.33333333%;
-}
-.col-xs-offset-3 {
-  margin-left: 25%;
-}
-.col-xs-offset-2 {
-  margin-left: 16.66666667%;
-}
-.col-xs-offset-1 {
-  margin-left: 8.33333333%;
-}
-.col-xs-offset-0 {
-  margin-left: 0%;
-}
-@media (min-width: $screen-sm) {
-  .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
-    float: left;
-  }
-  .col-sm-12 {
-    width: 100%;
-  }
-  .col-sm-11 {
-    width: 91.66666667%;
-  }
-  .col-sm-10 {
-    width: 83.33333333%;
-  }
-  .col-sm-9 {
-    width: 75%;
-  }
-  .col-sm-8 {
-    width: 66.66666667%;
-  }
-  .col-sm-7 {
-    width: 58.33333333%;
-  }
-  .col-sm-6 {
-    width: 50%;
-  }
-  .col-sm-5 {
-    width: 41.66666667%;
-  }
-  .col-sm-4 {
-    width: 33.33333333%;
-  }
-  .col-sm-3 {
-    width: 25%;
-  }
-  .col-sm-2 {
-    width: 16.66666667%;
-  }
-  .col-sm-1 {
-    width: 8.33333333%;
-  }
-  .col-sm-pull-12 {
-    right: 100%;
-  }
-  .col-sm-pull-11 {
-    right: 91.66666667%;
-  }
-  .col-sm-pull-10 {
-    right: 83.33333333%;
-  }
-  .col-sm-pull-9 {
-    right: 75%;
-  }
-  .col-sm-pull-8 {
-    right: 66.66666667%;
-  }
-  .col-sm-pull-7 {
-    right: 58.33333333%;
-  }
-  .col-sm-pull-6 {
-    right: 50%;
-  }
-  .col-sm-pull-5 {
-    right: 41.66666667%;
-  }
-  .col-sm-pull-4 {
-    right: 33.33333333%;
-  }
-  .col-sm-pull-3 {
-    right: 25%;
-  }
-  .col-sm-pull-2 {
-    right: 16.66666667%;
-  }
-  .col-sm-pull-1 {
-    right: 8.33333333%;
-  }
-  .col-sm-pull-0 {
-    right: auto;
-  }
-  .col-sm-push-12 {
-    left: 100%;
-  }
-  .col-sm-push-11 {
-    left: 91.66666667%;
-  }
-  .col-sm-push-10 {
-    left: 83.33333333%;
-  }
-  .col-sm-push-9 {
-    left: 75%;
-  }
-  .col-sm-push-8 {
-    left: 66.66666667%;
-  }
-  .col-sm-push-7 {
-    left: 58.33333333%;
-  }
-  .col-sm-push-6 {
-    left: 50%;
-  }
-  .col-sm-push-5 {
-    left: 41.66666667%;
-  }
-  .col-sm-push-4 {
-    left: 33.33333333%;
-  }
-  .col-sm-push-3 {
-    left: 25%;
-  }
-  .col-sm-push-2 {
-    left: 16.66666667%;
-  }
-  .col-sm-push-1 {
-    left: 8.33333333%;
-  }
-  .col-sm-push-0 {
-    left: auto;
-  }
-  .col-sm-offset-12 {
-    margin-left: 100%;
-  }
-  .col-sm-offset-11 {
-    margin-left: 91.66666667%;
-  }
-  .col-sm-offset-10 {
-    margin-left: 83.33333333%;
-  }
-  .col-sm-offset-9 {
-    margin-left: 75%;
-  }
-  .col-sm-offset-8 {
-    margin-left: 66.66666667%;
-  }
-  .col-sm-offset-7 {
-    margin-left: 58.33333333%;
-  }
-  .col-sm-offset-6 {
-    margin-left: 50%;
-  }
-  .col-sm-offset-5 {
-    margin-left: 41.66666667%;
-  }
-  .col-sm-offset-4 {
-    margin-left: 33.33333333%;
-  }
-  .col-sm-offset-3 {
-    margin-left: 25%;
-  }
-  .col-sm-offset-2 {
-    margin-left: 16.66666667%;
-  }
-  .col-sm-offset-1 {
-    margin-left: 8.33333333%;
-  }
-  .col-sm-offset-0 {
-    margin-left: 0%;
-  }
-}
-@media (min-width: $screen-md) {
-  .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
-    float: left;
-  }
-  .col-md-12 {
-    width: 100%;
-  }
-  .col-md-11 {
-    width: 91.66666667%;
-  }
-  .col-md-10 {
-    width: 83.33333333%;
-  }
-  .col-md-9 {
-    width: 75%;
-  }
-  .col-md-8 {
-    width: 66.66666667%;
-  }
-  .col-md-7 {
-    width: 58.33333333%;
-  }
-  .col-md-6 {
-    width: 50%;
-  }
-  .col-md-5 {
-    width: 41.66666667%;
-  }
-  .col-md-4 {
-    width: 33.33333333%;
-  }
-  .col-md-3 {
-    width: 25%;
-  }
-  .col-md-2 {
-    width: 16.66666667%;
-  }
-  .col-md-1 {
-    width: 8.33333333%;
-  }
-  .col-md-pull-12 {
-    right: 100%;
-  }
-  .col-md-pull-11 {
-    right: 91.66666667%;
-  }
-  .col-md-pull-10 {
-    right: 83.33333333%;
-  }
-  .col-md-pull-9 {
-    right: 75%;
-  }
-  .col-md-pull-8 {
-    right: 66.66666667%;
-  }
-  .col-md-pull-7 {
-    right: 58.33333333%;
-  }
-  .col-md-pull-6 {
-    right: 50%;
-  }
-  .col-md-pull-5 {
-    right: 41.66666667%;
-  }
-  .col-md-pull-4 {
-    right: 33.33333333%;
-  }
-  .col-md-pull-3 {
-    right: 25%;
-  }
-  .col-md-pull-2 {
-    right: 16.66666667%;
-  }
-  .col-md-pull-1 {
-    right: 8.33333333%;
-  }
-  .col-md-pull-0 {
-    right: auto;
-  }
-  .col-md-push-12 {
-    left: 100%;
-  }
-  .col-md-push-11 {
-    left: 91.66666667%;
-  }
-  .col-md-push-10 {
-    left: 83.33333333%;
-  }
-  .col-md-push-9 {
-    left: 75%;
-  }
-  .col-md-push-8 {
-    left: 66.66666667%;
-  }
-  .col-md-push-7 {
-    left: 58.33333333%;
-  }
-  .col-md-push-6 {
-    left: 50%;
-  }
-  .col-md-push-5 {
-    left: 41.66666667%;
-  }
-  .col-md-push-4 {
-    left: 33.33333333%;
-  }
-  .col-md-push-3 {
-    left: 25%;
-  }
-  .col-md-push-2 {
-    left: 16.66666667%;
-  }
-  .col-md-push-1 {
-    left: 8.33333333%;
-  }
-  .col-md-push-0 {
-    left: auto;
-  }
-  .col-md-offset-12 {
-    margin-left: 100%;
-  }
-  .col-md-offset-11 {
-    margin-left: 91.66666667%;
-  }
-  .col-md-offset-10 {
-    margin-left: 83.33333333%;
-  }
-  .col-md-offset-9 {
-    margin-left: 75%;
-  }
-  .col-md-offset-8 {
-    margin-left: 66.66666667%;
-  }
-  .col-md-offset-7 {
-    margin-left: 58.33333333%;
-  }
-  .col-md-offset-6 {
-    margin-left: 50%;
-  }
-  .col-md-offset-5 {
-    margin-left: 41.66666667%;
-  }
-  .col-md-offset-4 {
-    margin-left: 33.33333333%;
-  }
-  .col-md-offset-3 {
-    margin-left: 25%;
-  }
-  .col-md-offset-2 {
-    margin-left: 16.66666667%;
-  }
-  .col-md-offset-1 {
-    margin-left: 8.33333333%;
-  }
-  .col-md-offset-0 {
-    margin-left: 0%;
-  }
-}
-@media (min-width: $screen-lg) {
-  .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
-    float: left;
-  }
-  .col-lg-12 {
-    width: 100%;
-  }
-  .col-lg-11 {
-    width: 91.66666667%;
-  }
-  .col-lg-10 {
-    width: 83.33333333%;
-  }
-  .col-lg-9 {
-    width: 75%;
-  }
-  .col-lg-8 {
-    width: 66.66666667%;
-  }
-  .col-lg-7 {
-    width: 58.33333333%;
-  }
-  .col-lg-6 {
-    width: 50%;
-  }
-  .col-lg-5 {
-    width: 41.66666667%;
-  }
-  .col-lg-4 {
-    width: 33.33333333%;
-  }
-  .col-lg-3 {
-    width: 25%;
-  }
-  .col-lg-2 {
-    width: 16.66666667%;
-  }
-  .col-lg-1 {
-    width: 8.33333333%;
-  }
-  .col-lg-pull-12 {
-    right: 100%;
-  }
-  .col-lg-pull-11 {
-    right: 91.66666667%;
-  }
-  .col-lg-pull-10 {
-    right: 83.33333333%;
-  }
-  .col-lg-pull-9 {
-    right: 75%;
-  }
-  .col-lg-pull-8 {
-    right: 66.66666667%;
-  }
-  .col-lg-pull-7 {
-    right: 58.33333333%;
-  }
-  .col-lg-pull-6 {
-    right: 50%;
-  }
-  .col-lg-pull-5 {
-    right: 41.66666667%;
-  }
-  .col-lg-pull-4 {
-    right: 33.33333333%;
-  }
-  .col-lg-pull-3 {
-    right: 25%;
-  }
-  .col-lg-pull-2 {
-    right: 16.66666667%;
-  }
-  .col-lg-pull-1 {
-    right: 8.33333333%;
-  }
-  .col-lg-pull-0 {
-    right: auto;
-  }
-  .col-lg-push-12 {
-    left: 100%;
-  }
-  .col-lg-push-11 {
-    left: 91.66666667%;
-  }
-  .col-lg-push-10 {
-    left: 83.33333333%;
-  }
-  .col-lg-push-9 {
-    left: 75%;
-  }
-  .col-lg-push-8 {
-    left: 66.66666667%;
-  }
-  .col-lg-push-7 {
-    left: 58.33333333%;
-  }
-  .col-lg-push-6 {
-    left: 50%;
-  }
-  .col-lg-push-5 {
-    left: 41.66666667%;
-  }
-  .col-lg-push-4 {
-    left: 33.33333333%;
-  }
-  .col-lg-push-3 {
-    left: 25%;
-  }
-  .col-lg-push-2 {
-    left: 16.66666667%;
-  }
-  .col-lg-push-1 {
-    left: 8.33333333%;
-  }
-  .col-lg-push-0 {
-    left: auto;
-  }
-  .col-lg-offset-12 {
-    margin-left: 100%;
-  }
-  .col-lg-offset-11 {
-    margin-left: 91.66666667%;
-  }
-  .col-lg-offset-10 {
-    margin-left: 83.33333333%;
-  }
-  .col-lg-offset-9 {
-    margin-left: 75%;
-  }
-  .col-lg-offset-8 {
-    margin-left: 66.66666667%;
-  }
-  .col-lg-offset-7 {
-    margin-left: 58.33333333%;
-  }
-  .col-lg-offset-6 {
-    margin-left: 50%;
-  }
-  .col-lg-offset-5 {
-    margin-left: 41.66666667%;
-  }
-  .col-lg-offset-4 {
-    margin-left: 33.33333333%;
-  }
-  .col-lg-offset-3 {
-    margin-left: 25%;
-  }
-  .col-lg-offset-2 {
-    margin-left: 16.66666667%;
-  }
-  .col-lg-offset-1 {
-    margin-left: 8.33333333%;
-  }
-  .col-lg-offset-0 {
-    margin-left: 0%;
-  }
-}
-.clearfix:before,
-.clearfix:after,
-.row:before,
-.row:after {
-  content: " ";
-  display: table;
-}
-.clearfix:after,
-.row:after {
-  clear: both;
-}
-.center-block {
-  display: block;
-  margin-left: auto;
-  margin-right: auto;
-}
-
-
-
-
-
-
-.grid {
-  display: grid;
-  grid-column-gap: $-m;
-  grid-row-gap: 0;
-  &.contained {
-    max-width: $xxl;
-    padding-left: $-m;
-    padding-right: $-m;
-    margin-left: auto;
-    margin-right: auto;
-  }
-  &.v-center {
-    align-items: center;
-  }
-}
-
-@each $sizeLetter, $size in $spacing {
-  .grid.contained.space-#{$sizeLetter} {
-    padding-left: $size;
-    padding-right: $size;
-    grid-column-gap: $size;
-  }
-}
-
-@mixin grid-layout($name, $times) {
-  .grid.#{$name} {
-    grid-template-columns: repeat(#{$times}, 1fr);
-  }
-}
-
-@include grid-layout('thirds', 3)
-@include grid-layout('halves', 2)
-
-@each $sizeLetter, $size in $screen-sizes {
-  @include smaller-than($size) {
-    .grid.break-#{$sizeLetter} {
-      grid-template-columns: 1fr;
-    }
-  }
-}
-
-
-/**
- * Visibility
- */
-
-@each $sizeLetter, $size in $screen-sizes {
-  @include smaller-than($size) {
-    .hide-under-#{$sizeLetter} {
-      display: none !important;
-    }
-  }
-  @include larger-than($size) {
-    .hide-over-#{$sizeLetter} {
-      display: none !important;
-    }
-  }
-}
\ No newline at end of file
index ce5ab8c6c3b733e084feb9e5d7e6c8e10f2851bd..f71a077d254be0fdb27484acbc27337c40055ca4 100644 (file)
@@ -6,6 +6,12 @@ header .grid {
   grid-template-columns: auto min-content auto;
 }
 
+@include smaller-than($l) {
+  header .grid {
+    grid-template-columns: 1fr;
+  }
+}
+
 header {
   position: relative;
   display: block;
@@ -336,9 +342,6 @@ header .search-box {
   .action-buttons .dropdown-container:last-child a {
     padding-left: $-xs;
   }
-  .toolbar .col-xs-1:first-child {
-    padding-right: 0;
-  }
 }
 
 .nav-tabs {
diff --git a/resources/assets/sass/_layout.scss b/resources/assets/sass/_layout.scss
new file mode 100644 (file)
index 0000000..6368bf3
--- /dev/null
@@ -0,0 +1,286 @@
+
+/**
+ * Generic content container
+ */
+.container {
+  max-width: $xxl;
+  margin-left: auto;
+  margin-right: auto;
+  padding-left: $-m;
+  padding-right: $-m;
+  &.small {
+    max-width: 840px;
+  }
+  &.very-small {
+    max-width: 480px;
+  }
+}
+
+/**
+ * Core grid layout system
+ */
+.grid {
+  display: grid;
+  grid-column-gap: $-l;
+  grid-row-gap: $-l;
+  &.half {
+    grid-template-columns: 1fr 1fr;
+  }
+  &.third {
+    grid-template-columns: 1fr 1fr 1fr;
+  }
+  &.left-focus {
+    grid-template-columns: 2fr 1fr;
+  }
+  &.right-focus {
+    grid-template-columns: 1fr 3fr;
+  }
+  &.gap-xl {
+    grid-column-gap: $-xl;
+    grid-row-gap: $-xl;
+  }
+  &.gap-xxl {
+    grid-column-gap: $-xxl;
+    grid-row-gap: $-xxl;
+  }
+  &.v-center {
+    align-items: center;
+  }
+}
+
+@include smaller-than($m) {
+  .grid.third {
+    grid-template-columns: 1fr 1fr;
+  }
+  .grid.half, .grid.left-focus, .grid.right-focus {
+    grid-template-columns: 1fr;
+  }
+  .grid.half.collapse-xs {
+    grid-template-columns: 1fr 1fr;
+  }
+  .grid.gap-xl {
+    grid-column-gap: $-m;
+    grid-row-gap: $-m;
+  }
+  .grid.right-focus.reverse-collapse > *:nth-child(2) {
+    order: 0;
+  }
+  .grid.right-focus.reverse-collapse > *:nth-child(1) {
+    order: 1;
+  }
+}
+
+@include smaller-than($s) {
+  .grid.third {
+    grid-template-columns: 1fr;
+  }
+}
+
+@include smaller-than($xs) {
+  .grid.half.collapse-xs {
+    grid-template-columns: 1fr;
+  }
+}
+
+/**
+ * Flexbox layout system
+ */
+body.flexbox {
+  display: flex;
+  flex-direction: column;
+  align-items: stretch;
+  height: 100%;
+  min-height: 100%;
+  max-height: 100%;
+  overflow: hidden;
+  #content {
+    flex: 1;
+    display: flex;
+    min-height: 0;
+  }
+}
+
+.flex-fill {
+  display: flex;
+  align-items: stretch;
+  min-height: 0;
+  max-width: 100%;
+  position: relative;
+}
+
+.flex {
+  min-height: 0;
+  flex: 1;
+}
+
+
+/**
+ * Display and float utilities
+ */
+.block {
+  display: block;
+  position: relative;
+}
+
+.inline {
+  display: inline;
+}
+
+.block.inline {
+  display: inline-block;
+}
+
+.float {
+  float: left;
+  &.right {
+    float: right;
+  }
+}
+
+/**
+ * Visibility
+ */
+@each $sizeLetter, $size in $screen-sizes {
+  @include smaller-than($size) {
+    .hide-under-#{$sizeLetter} {
+      display: none !important;
+    }
+  }
+  @include larger-than($size) {
+    .hide-over-#{$sizeLetter} {
+      display: none !important;
+    }
+  }
+}
+
+/**
+ * Inline content columns
+ */
+.dual-column-content {
+  columns: 2;
+}
+
+@include smaller-than($m) {
+  .dual-column-content {
+    columns: 1;
+  }
+}
+
+
+/**
+ * Fixes
+ */
+.clearfix:before,
+.clearfix:after {
+  content: " ";
+  display: table;
+}
+.clearfix:after {
+  clear: both;
+}
+
+/**
+ * View Layouts
+ */
+.tri-layout-container {
+  display: grid;
+  margin-left: $-xl;
+  margin-right: $-xl;
+  grid-template-columns: 1fr 4fr 1fr;
+  grid-template-areas: "a b c";
+  grid-column-gap: $-xxl;
+  .tri-layout-right {
+    grid-area: c;
+    min-width: 0;
+  }
+  .tri-layout-left {
+    grid-area: a;
+    min-width: 0;
+  }
+  .tri-layout-middle {
+    grid-area: b;
+    padding-top: $-m;
+  }
+}
+@include smaller-than($xxl) {
+  .tri-layout-container {
+    grid-template-areas:  "c b b"
+    "a b b";
+    grid-template-columns: 1fr 3fr;
+    grid-template-rows: max-content min-content;
+    padding-right: $-l;
+    .content-wrap.card {
+      padding: $-l $-xl;
+    }
+  }
+}
+@include larger-than($xxl) {
+  .tri-layout-left-contents, .tri-layout-right-contents {
+    padding: $-m;
+    position: sticky;
+    top: $-m;
+    max-height: 100vh;
+    min-height: 50vh;
+    overflow-y: scroll;
+    overflow-x: hidden;
+    scrollbar-width: none;
+    -ms-overflow-style: none;
+    &::-webkit-scrollbar {
+      display: none;
+    }
+  }
+  .tri-layout-middle-contents {
+    max-width: 940px;
+    margin: 0 auto;
+  }
+}
+
+@include smaller-than($l) {
+  .tri-layout-container {
+    grid-template-areas:  none;
+    grid-template-columns: 10% 90%;
+    grid-column-gap: 0;
+    .tri-layout-left-contents, .tri-layout-right-contents {
+      padding-left: $-m;
+      padding-right: $-m;
+    }
+    .tri-layout-right-contents > div, .tri-layout-left-contents > div {
+      opacity: 0.6;
+      z-index: 0;
+    }
+    .tri-layout-left > *, .tri-layout-right > * {
+      pointer-events: none;
+    }
+    .tri-layout-right, .tri-layout-left, .tri-layout-middle {
+      grid-area: none;
+      grid-column: 1/3;
+      grid-row: 1;
+    }
+    .tri-layout-middle {
+      grid-row: 1/3;
+      grid-column: 2/3;
+      z-index: 1;
+      transition: transform ease-in-out 240ms;
+    }
+    .tri-layout-left {
+      grid-row: 2;
+    }
+    &.mobile-open {
+      overflow: hidden;
+      .tri-layout-middle {
+        transform: translateX(90%);
+      }
+      .tri-layout-right  > *, .tri-layout-left > * {
+        pointer-events: auto;
+      }
+    }
+  }
+}
+
+.tri-layout-left-contents > div, .tri-layout-right-contents > div {
+  opacity: 0.6;
+  transition: opacity ease-in-out 120ms;
+  &:hover {
+    opacity: 1;
+  }
+}
\ No newline at end of file
index 43ec13cf698e6be1bc94232dadc348106cda533d..a8f0113b8d926fb981450308674badb653745a4d 100644 (file)
@@ -523,10 +523,6 @@ ul.pagination {
     color: #999;
     fill: #999;
   }
-  li.padded {
-    padding: $-xs $-m;
-    line-height: 1.2;
-  }
   li.active a {
     font-weight: 600;
   }
index 6e8370a979c3fbdfcd956ab5051e2fc905f1e487..7cc9647a1999084fff2033803caa8027d7fb7484 100755 (executable)
     min-height: 0px;
     overflow-y: scroll;
   }
-  div[toolbox-tab-content] .padded {
-    flex: 1;
-    padding-top: 0;
-  }
-  div[toolbox-tab-content] .padded.files {
-       overflow-x: hidden;
-  }
   h4 {
     font-size: 24px;
     margin: $-m 0 0 0;
diff --git a/resources/assets/sass/_spacing.scss b/resources/assets/sass/_spacing.scss
new file mode 100644 (file)
index 0000000..69ed5a2
--- /dev/null
@@ -0,0 +1,32 @@
+// Here we generate spacing utility classes for our sizes for all box sides and axis.
+// These will output to classes like .px-m (Padding on x-axis, medium size) or .mr-l (Margin right, large size)
+
+@mixin spacing($prop, $propLetter) {
+  @each $sizeLetter, $size in $spacing {
+    .#{$propLetter}-#{$sizeLetter} {
+      #{$prop}: $size !important;
+    }
+    .#{$propLetter}x-#{$sizeLetter} {
+      #{$prop}-left: $size !important;
+      #{$prop}-right: $size !important;
+    }
+    .#{$propLetter}y-#{$sizeLetter} {
+      #{$prop}-top: $size !important;
+      #{$prop}-bottom: $size !important;
+    }
+    .#{$propLetter}t-#{$sizeLetter} {
+      #{$prop}-top: $size !important;
+    }
+    .#{$propLetter}r-#{$sizeLetter} {
+      #{$prop}-right: $size !important;
+    }
+    .#{$propLetter}b-#{$sizeLetter} {
+      #{$prop}-bottom: $size !important;
+    }
+    .#{$propLetter}l-#{$sizeLetter} {
+      #{$prop}-left: $size !important;
+    }
+  }
+}
+@include spacing('margin', 'm')
+@include spacing('padding', 'p')
\ No newline at end of file
index 07820c57e0d6dd4322cd52a610c3fc63e80f7a35..25b8e09b75f38e31a66acaf53c55eaa0c2b7f9e4 100644 (file)
@@ -14,6 +14,7 @@ $screen-lg: 1200px;
 $screen-md: 992px;
 $screen-sm: 768px;
 
+// List of screen sizes
 $screen-sizes: (('xxs', $xxs), ('xs', $xs), ('s', $s), ('m', $m), ('l', $l), ('xl', $xl));
 
 // Spacing (Margins+Padding)
@@ -26,6 +27,7 @@ $-s: 12px;
 $-xs: 6px;
 $-xxs: 3px;
 
+// List of our spacing sizes
 $spacing: (('none', 0), ('xxs', $-xxs), ('xs', $-xs), ('s', $-s), ('m', $-m), ('l', $-l), ('xl', $-xl), ('xxl', $-xxl));
 
 // Fonts
index cc90d5372e4af02023bb8d20c698253285f9c118..4cc782dc0e9d4881d533c55ebc518bef42dd4a6e 100644 (file)
@@ -1,8 +1,9 @@
 @import "variables";
 @import "mixins";
+@import "spacing";
 @import "html";
 @import "text";
-@import "grid";
+@import "layout";
 @import "blocks";
 @import "forms";
 @import "tables";
@@ -12,6 +13,9 @@
 
 body {
   font-family: 'DejaVu Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", "Oxygen", "Ubuntu", "Roboto", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
+  background-color: #FFF;
+  margin: 0;
+  padding: 0;
 }
 
 table {
@@ -19,6 +23,10 @@ table {
   border-collapse: collapse;
 }
 
+.page-content {
+  overflow: hidden;
+}
+
 // Prevent code block overflow on export
 pre {
   padding-left: 12px;
index c33a46394a9db0303a263a1fbe6a8e62c6a08717..bdc57d8fcee866ac40bfdb2a994d33375f073f65 100644 (file)
@@ -1,10 +1,11 @@
 @import "reset";
 @import "variables";
 @import "mixins";
+@import "spacing";
 @import "html";
 @import "text";
 @import "colors";
-@import "grid";
+@import "layout";
 @import "blocks";
 @import "buttons";
 @import "tables";
index 18440a74da82b8ecfc47e78f3e806cb8369f61ab..e1fabd800bd1c42c6cd42257bb6e81e2a28fc23c 100644 (file)
     @include('partials.custom-head')
 </head>
 <body>
-<div class="container">
-    <div class="row">
-        <div class="col-md-8 col-md-offset-2">
-            <div class="page-content">
 
-                <h1 style="font-size: 4.8em">{{$book->name}}</h1>
+<div class="page-content">
 
-                <p>{{ $book->description }}</p>
+    <h1 style="font-size: 4.8em">{{$book->name}}</h1>
 
-                @if(count($bookChildren) > 0)
-                <ul class="contents">
-                    @foreach($bookChildren as $bookChild)
-                        <li><a href="#{{$bookChild->getType()}}-{{$bookChild->id}}">{{ $bookChild->name }}</a></li>
-                        @if($bookChild->isA('chapter') && count($bookChild->pages) > 0)
-                            <ul>
-                                @foreach($bookChild->pages as $page)
-                                    <li><a href="#page-{{$page->id}}">{{ $page->name }}</a></li>
-                                @endforeach
-                            </ul>
-                        @endif
-                    @endforeach
-                </ul>
+    <p>{{ $book->description }}</p>
+
+    @if(count($bookChildren) > 0)
+        <ul class="contents">
+            @foreach($bookChildren as $bookChild)
+                <li><a href="#{{$bookChild->getType()}}-{{$bookChild->id}}">{{ $bookChild->name }}</a></li>
+                @if($bookChild->isA('chapter') && count($bookChild->pages) > 0)
+                    <ul>
+                        @foreach($bookChild->pages as $page)
+                            <li><a href="#page-{{$page->id}}">{{ $page->name }}</a></li>
+                        @endforeach
+                    </ul>
                 @endif
+            @endforeach
+        </ul>
+    @endif
+
+    @foreach($bookChildren as $bookChild)
+        <div class="page-break"></div>
+        <h1 id="{{$bookChild->getType()}}-{{$bookChild->id}}">{{ $bookChild->name }}</h1>
 
-                @foreach($bookChildren as $bookChild)
+        @if($bookChild->isA('chapter'))
+            <p>{{ $bookChild->description }}</p>
+
+            @if(count($bookChild->pages) > 0)
+                @foreach($bookChild->pages as $page)
                     <div class="page-break"></div>
-                    <h1 id="{{$bookChild->getType()}}-{{$bookChild->id}}">{{ $bookChild->name }}</h1>
-                    @if($bookChild->isA('chapter'))
-                        <p>{{ $bookChild->description }}</p>
-                        @if(count($bookChild->pages) > 0)
-                            @foreach($bookChild->pages as $page)
-                                <div class="page-break"></div>
-                                <div class="chapter-hint">{{$bookChild->name}}</div>
-                                <h1 id="page-{{$page->id}}">{{ $page->name }}</h1>
-                                {!! $page->html !!}
-                            @endforeach
-                        @endif
-                    @else
-                        {!! $bookChild->html !!}
-                    @endif
+                    <div class="chapter-hint">{{$bookChild->name}}</div>
+                    <h1 id="page-{{$page->id}}">{{ $page->name }}</h1>
+                    {!! $page->html !!}
                 @endforeach
+            @endif
+
+        @else
+            {!! $bookChild->html !!}
+        @endif
+
+    @endforeach
 
-            </div>
-        </div>
-    </div>
 </div>
+
 </body>
 </html>
index 8f710c0ecbdbd01e3f0b014e618a773d3bf508dd..2830855b4f8a0fc53a132ebda8cc9c19b5e818e9 100644 (file)
     @include('partials.custom-head')
 </head>
 <body>
-<div class="container">
-    <div class="row">
-        <div class="col-md-8 col-md-offset-2">
-            <div class="page-content">
-
-                <h1 style="font-size: 4.8em">{{$chapter->name}}</h1>
-
-                <p>{{ $chapter->description }}</p>
-
-                @if(count($pages) > 0)
-                <ul class="contents">
-                    @foreach($pages as $page)
-                        <li><a href="#page-{{$page->id}}">{{ $page->name }}</a></li>
-                    @endforeach
-                </ul>
-                @endif
-
-                @foreach($pages as $page)
-                    <div class="page-break"></div>
-                    <h1 id="page-{{$page->id}}">{{ $page->name }}</h1>
-                    {!! $page->html !!}
-                @endforeach
-
-            </div>
-        </div>
-    </div>
+
+<div class="page-content">
+
+    <h1 style="font-size: 4.8em">{{$chapter->name}}</h1>
+
+    <p>{{ $chapter->description }}</p>
+
+    @if(count($pages) > 0)
+        <ul class="contents">
+            @foreach($pages as $page)
+                <li><a href="#page-{{$page->id}}">{{ $page->name }}</a></li>
+            @endforeach
+        </ul>
+    @endif
+
+    @foreach($pages as $page)
+        <div class="page-break"></div>
+        <h1 id="page-{{$page->id}}">{{ $page->name }}</h1>
+        {!! $page->html !!}
+    @endforeach
+
 </div>
+
 </body>
 </html>
index 15ac6bc2bcc37c89216b9200f2729791eff1e857..6dd41b8905f295c59cddcab35cf9d68b1a872287 100644 (file)
                     <span>{{ trans('common.delete') }}</span>
                 </a>
             @endif
-
-            {{--@if(userCan('page-create', $book))--}}
-                {{--<a href="{{ $book->getUrl('/create-page') }}" class="icon-list-item">--}}
-                    {{--<span>@icon('add')</span>--}}
-                    {{--<span>{{ trans('entities.pages_new') }}</span>--}}
-                {{--</a>--}}
-            {{--@endif--}}
-        </div>
-    </div>
-
-    <div class="col-sm-6 col-xs-9 faded">
-        <div class="action-buttons">
-
         </div>
     </div>
 @stop
 
-
-
 @section('left')
 
     @if($chapter->tags->count() > 0)
index 29d1292c206456730fd2e8970532b23edc202cef..b68a2fdc879fa254bd22786f8a5b957eaf8c3ac4 100644 (file)
@@ -13,7 +13,7 @@
                 <div dropdown class="dropdown-container">
                     <button type="button" dropdown-toggle class="text-button" title="{{ trans('common.delete') }}">@icon('delete')</button>
                     <ul>
-                        <li class="padded"><small class="text-muted">{{trans('entities.comment_delete_confirm')}}</small></li>
+                        <li class="px-l"><small class="text-muted">{{trans('entities.comment_delete_confirm')}}</small></li>
                         <li><a action="delete" class="text-button neg" >@icon('delete'){{ trans('common.delete') }}</a></li>
                     </ul>
                 </div>
index 89aa1078d865d149f21de14c9621d69db5f06843..fd4fac9a90970ba58f06cef57dfbdb946ef8b160 100644 (file)
@@ -1,5 +1,5 @@
 <header id="header" header-mobile-toggle>
-    <div class="grid break-l mx-l">
+    <div class="grid mx-l">
 
         <div>
             <a href="{{ baseUrl('/') }}" class="logo">
index 3e1a173f73808c0f02f5b019b5107bdb2f8838e5..3271cde9eac7103ec542f333965b5665d647f9b3 100644 (file)
@@ -7,52 +7,55 @@
         <a expand-toggle=".entity-list.compact .entity-item-snippet" class="text-muted">@icon('expand-text'){{ trans('common.toggle_details') }}</a>
     </div>
 
-    <div class="grid contained third gap-xxl" id="home-default">
-        <div>
-            @if(count($draftPages) > 0)
-                <div id="recent-drafts" class="card mb-xl">
-                    <h3>{{ trans('entities.my_recent_drafts') }}</h3>
+    <div class="container" id="home-default">
+        <div class="grid third gap-xxl" >
+            <div>
+                @if(count($draftPages) > 0)
+                    <div id="recent-drafts" class="card mb-xl">
+                        <h3>{{ trans('entities.my_recent_drafts') }}</h3>
+                        <div class="px-m">
+                            @include('partials/entity-list', ['entities' => $draftPages, 'style' => 'compact'])
+                        </div>
+                    </div>
+                @endif
+
+                <div id="{{ $signedIn ? 'recently-viewed' : 'recent-books' }}" class="card mb-xl">
+                    <h3>{{ trans('entities.' . ($signedIn ? 'my_recently_viewed' : 'books_recent')) }}</h3>
                     <div class="px-m">
-                        @include('partials/entity-list', ['entities' => $draftPages, 'style' => 'compact'])
+                        @include('partials/entity-list', [
+                        'entities' => $recents,
+                        'style' => 'compact',
+                        'emptyText' => $signedIn ? trans('entities.no_pages_viewed') : trans('entities.books_empty')
+                        ])
                     </div>
                 </div>
-            @endif
-
-            <div id="{{ $signedIn ? 'recently-viewed' : 'recent-books' }}" class="card mb-xl">
-                <h3>{{ trans('entities.' . ($signedIn ? 'my_recently_viewed' : 'books_recent')) }}</h3>
-                <div class="px-m">
-                    @include('partials/entity-list', [
-                    'entities' => $recents,
-                    'style' => 'compact',
-                    'emptyText' => $signedIn ? trans('entities.no_pages_viewed') : trans('entities.books_empty')
-                    ])
-                </div>
             </div>
-        </div>
 
-        <div>
-            <div id="recent-pages" class="card mb-xl">
-                <h3><a class="no-color" href="{{ baseUrl("/pages/recently-updated") }}">{{ trans('entities.recently_updated_pages') }}</a></h3>
-                <div id="recently-updated-pages" class="px-m">
-                    @include('partials/entity-list', [
-                    'entities' => $recentlyUpdatedPages,
-                    'style' => 'compact',
-                    'emptyText' => trans('entities.no_pages_recently_updated')
-                    ])
+            <div>
+                <div id="recent-pages" class="card mb-xl">
+                    <h3><a class="no-color" href="{{ baseUrl("/pages/recently-updated") }}">{{ trans('entities.recently_updated_pages') }}</a></h3>
+                    <div id="recently-updated-pages" class="px-m">
+                        @include('partials/entity-list', [
+                        'entities' => $recentlyUpdatedPages,
+                        'style' => 'compact',
+                        'emptyText' => trans('entities.no_pages_recently_updated')
+                        ])
+                    </div>
                 </div>
             </div>
-        </div>
 
-        <div>
-            <div id="recent-activity">
-                <div class="card mb-xl">
-                    <h3>{{ trans('entities.recent_activity') }}</h3>
-                    @include('partials/activity-list', ['activity' => $activity])
+            <div>
+                <div id="recent-activity">
+                    <div class="card mb-xl">
+                        <h3>{{ trans('entities.recent_activity') }}</h3>
+                        @include('partials/activity-list', ['activity' => $activity])
+                    </div>
                 </div>
             </div>
-        </div>
 
+        </div>
     </div>
 
 
+
 @stop
index 67e7b77737049504ee3e38a4f00b939c66d1e619..82704b383d0947c820d57b094d9d9e58e6bb03db 100644 (file)
@@ -7,7 +7,7 @@
                 <button class="overlay-close neg corner-button button" @click="hide()">x</button>
             </div>
 
-            <div class="padded popup-content">
+            <div class="p-l popup-content">
                 <div class="form-group">
                     <label for="code-editor-language">{{ trans('components.code_language') }}</label>
                     <div class="lang-options">
index ecd03c80f3fd32e66f5c82a33f782e90e1bbbaa0..39ac2b8bf2bf39a85f7ce51e540e95f91c8328b9 100644 (file)
@@ -1,6 +1,6 @@
 <div id="entity-selector-wrap">
     <div overlay entity-selector-popup>
-        <div class="popup-body small flex-child">
+        <div class="popup-body small">
             <div class="popup-header primary-background">
                 <div class="popup-title">{{ trans('entities.entity_select') }}</div>
                 <button type="button" class="corner-button neg button overlay-close">x</button>
index 6f8d046964f2c7904e2d7ec333af17db3c5b694c..cb41950cb0e1426cc21100be417613e6187a1d33 100644 (file)
@@ -1,4 +1,4 @@
-<div class="form-group">
+<div class="form-group entity-selector-container">
     <div entity-selector class="entity-selector {{$selectorSize ?? ''}}" entity-types="{{ $entityTypes ?? 'book,chapter,page' }}" entity-permission="{{ $entityPermission ?? 'view' }}">
         <input type="hidden" entity-selector-input name="{{$name}}" value="">
         <input type="text" placeholder="{{ trans('common.search') }}" entity-selector-search>
index ef45c000139c43f136c59c8fbb77e22f88b50980..ad3fd235491dd5c0ee950aa919b304ecef87c424 100644 (file)
             <div class="flex-fill image-manager-body">
 
                 <div class="image-manager-content">
-                    <div v-if="imageType === 'gallery'" class="container">
-                        <div class="image-manager-header primary-background-light row nav-tabs">
-                            <div class="col-xs-4 tab-item" title="{{ trans('components.image_all_title') }}" :class="{selected: (view=='all')}" @click="setView('all')">@icon('images') {{ trans('components.image_all') }}</div>
-                            <div class="col-xs-4 tab-item" title="{{ trans('components.image_book_title') }}" :class="{selected: (view=='book')}" @click="setView('book')">@icon('book', ['class' => 'text-book svg-icon']) {{ trans('entities.book') }}</div>
-                            <div class="col-xs-4 tab-item" title="{{ trans('components.image_page_title') }}" :class="{selected: (view=='page')}" @click="setView('page')">@icon('page', ['class' => 'text-page svg-icon']) {{ trans('entities.page') }}</div>
-                        </div>
+                    <div v-if="imageType === 'gallery'" class="image-manager-header primary-background-light nav-tabs grid third">
+                        <div class="tab-item" title="{{ trans('components.image_all_title') }}" :class="{selected: (view=='all')}" @click="setView('all')">@icon('images') {{ trans('components.image_all') }}</div>
+                        <div class="tab-item" title="{{ trans('components.image_book_title') }}" :class="{selected: (view=='book')}" @click="setView('book')">@icon('book', ['class' => 'text-book svg-icon']) {{ trans('entities.book') }}</div>
+                        <div class="tab-item" title="{{ trans('components.image_page_title') }}" :class="{selected: (view=='page')}" @click="setView('page')">@icon('page', ['class' => 'text-page svg-icon']) {{ trans('entities.page') }}</div>
                     </div>
                     <div v-show="view === 'all'" >
                         <form @submit.prevent="searchImages" class="contained-search-box">
index 0f76a8861a964239bcdf1eb35086c62947db3c2f..e40643c256ff5346124a36dc717c5dada02fadde 100644 (file)
     @include('partials.custom-head')
 </head>
 <body>
-<div class="container" id="page-show">
-    <div class="row">
-        <div class="col-md-8 col-md-offset-2">
-            <div class="page-content">
 
-                @include('pages.page-display')
+<div id="page-show">
+    <div class="page-content">
 
-                <hr>
+        @include('pages.page-display')
 
-                <div class="text-muted text-small">
-                    @include('partials.entity-export-meta', ['entity' => $page])
-                </div>
+        <hr>
 
-            </div>
+        <div class="text-muted text-small">
+            @include('partials.entity-export-meta', ['entity' => $page])
         </div>
+
     </div>
 </div>
+
 </body>
 </html>
index 71c96ff5487048d6de7ac6db3b2a1e769e942398..e3b758bf4b3e2b4c837cc1ef5819f3fb99b8f03d 100644 (file)
@@ -11,7 +11,7 @@
 
     <div toolbox-tab-content="tags">
         <h4>{{ trans('entities.page_tags') }}</h4>
-        <div class="padded">
+        <div class="px-l">
             @include('components.tag-manager', ['entity' => $page, 'entityType' => 'page'])
         </div>
     </div>
@@ -19,7 +19,7 @@
     @if(userCan('attachment-create-all'))
         <div toolbox-tab-content="files" id="attachment-manager" page-id="{{ $page->id ?? 0 }}">
             <h4>{{ trans('entities.attachments') }}</h4>
-            <div class="padded files">
+            <div class="px-l files">
 
                 <div id="file-list" v-show="!fileToEdit">
                     <p class="muted small">{{ trans('entities.attachments_explain') }} <span class="secondary">{{ trans('entities.attachments_explain_instant_save') }}</span></p>
@@ -34,7 +34,7 @@
                             <draggable style="width: 100%;" :options="{handle: '.handle'}" @change="fileSortUpdate" :list="files" element="div">
                                 <div v-for="(file, index) in files" :key="file.id" class="card drag-card">
                                     <div class="handle">@icon('grip')</div>
-                                    <div class="padded">
+                                    <div class="py-s">
                                         <a :href="getFileUrl(file)" target="_blank" v-text="file.name"></a>
                                         <div v-if="file.deleting">
                                             <span class="neg small">{{ trans('entities.attachments_delete_confirm') }}</span>
index 911156fe10db3e587d0dac861f72a1260f0bd989..152b67c63663ab0803dd572f0f2e1c82c2b9bee5 100644 (file)
@@ -41,7 +41,7 @@
                 <div dropdown class="dropdown-container">
                     <a dropdown-toggle class="text-primary text-button">@icon('edit') <span v-text="changeSummaryShort"></span></a>
                     <ul class="wide">
-                        <li class="padded">
+                        <li class="px-l py-m">
                             <p class="text-muted pb-s">{{ trans('entities.pages_edit_enter_changelog_desc') }}</p>
                             <input name="summary" id="summary-input" type="text" placeholder="{{ trans('entities.pages_edit_enter_changelog') }}" v-model="changeSummary" />
                         </li>
index 134b8f5c27bd4156606592333b284d117ebaeb3e..e45bd7779ab66f4d6d5f5223a43e283f5df0823f 100644 (file)
@@ -55,7 +55,7 @@
                                     <div dropdown class="dropdown-container">
                                         <a dropdown-toggle>{{ trans('common.delete') }}</a>
                                         <ul>
-                                            <li class="padded"><small class="text-muted">{{trans('entities.revision_delete_confirm')}}</small></li>
+                                            <li class="px-m py-s"><small class="text-muted">{{trans('entities.revision_delete_confirm')}}</small></li>
                                             <li>
                                                 <form action="{{ $revision->getUrl('/delete/') }}" method="POST">
                                                     {!! csrf_field() !!}
index 776182fa0ca35f4080ff852c5d66f773b90ecf11..10b001be5380f02984b0c88bf77d103b5fa708af 100644 (file)
@@ -32,7 +32,7 @@
     </div>
 
     @if ($commentsEnabled)
-        <div class="container small nopad comments-container mb-l">
+        <div class="container small p-none comments-container mb-l">
             @include('comments.comments', ['page' => $page])
             <div class="clearfix"></div>
         </div>
diff --git a/resources/views/shelves/export.blade.php b/resources/views/shelves/export.blade.php
deleted file mode 100644 (file)
index 462ad79..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-<!doctype html>
-<html lang="en">
-<head>
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
-    <title>{{ $book->name }}</title>
-
-    <style>
-        @if (!app()->environment('testing'))
-        {!! file_get_contents(public_path('/dist/export-styles.css')) !!}
-        @endif
-        .page-break {
-            page-break-after: always;
-        }
-        .chapter-hint {
-            color: #888;
-            margin-top: 32px;
-        }
-        .chapter-hint + h1 {
-            margin-top: 0;
-        }
-        ul.contents ul li {
-            list-style: circle;
-        }
-        @media screen {
-            .page-break {
-                border-top: 1px solid #DDD;
-            }
-        }
-    </style>
-    @yield('head')
-</head>
-<body>
-<div class="container">
-    <div class="row">
-        <div class="col-md-8 col-md-offset-2">
-            <div class="page-content">
-
-                <h1 style="font-size: 4.8em">{{$book->name}}</h1>
-
-                <p>{{ $book->description }}</p>
-
-                @if(count($bookChildren) > 0)
-                <ul class="contents">
-                    @foreach($bookChildren as $bookChild)
-                        <li><a href="#{{$bookChild->getType()}}-{{$bookChild->id}}">{{ $bookChild->name }}</a></li>
-                        @if($bookChild->isA('chapter') && count($bookChild->pages) > 0)
-                            <ul>
-                                @foreach($bookChild->pages as $page)
-                                    <li><a href="#page-{{$page->id}}">{{ $page->name }}</a></li>
-                                @endforeach
-                            </ul>
-                        @endif
-                    @endforeach
-                </ul>
-                @endif
-
-                @foreach($bookChildren as $bookChild)
-                    <div class="page-break"></div>
-                    <h1 id="{{$bookChild->getType()}}-{{$bookChild->id}}">{{ $bookChild->name }}</h1>
-                    @if($bookChild->isA('chapter'))
-                        <p>{{ $bookChild->description }}</p>
-                        @if(count($bookChild->pages) > 0)
-                            @foreach($bookChild->pages as $page)
-                                <div class="page-break"></div>
-                                <div class="chapter-hint">{{$bookChild->name}}</div>
-                                <h1 id="page-{{$page->id}}">{{ $page->name }}</h1>
-                                {!! $page->html !!}
-                            @endforeach
-                        @endif
-                    @else
-                        {!! $bookChild->html !!}
-                    @endif
-                @endforeach
-
-            </div>
-        </div>
-    </div>
-</div>
-</body>
-</html>
index f7f5c47287983bdcb3a3eebace27c0bff69fc49c..32392e18bf7c83cd08084b2781359efa6598a6f5 100644 (file)
     @include('form/textarea', ['name' => 'description'])
 </div>
 
-<div shelf-sort class="row">
-    <div class="col-md-6">
-        <div  class="form-group">
-            <label for="books">{{ trans('entities.shelves_books') }}</label>
-            <input type="hidden" id="books-input" name="books"
-                   value="{{ isset($shelf) ? $shelf->books->implode('id', ',') : '' }}">
-            <div class="scroll-box">
-                <div class="scroll-box-item text-small text-muted instruction">
-                    {{ trans('entities.shelves_drag_books') }}
-                </div>
-                <div class="scroll-box-item scroll-box-placeholder" style="display: none;">
-                    <a href="#" class="text-muted">@icon('book') ...</a>
-                </div>
-                @if (isset($shelfBooks) && count($shelfBooks) > 0)
-                    @foreach ($shelfBooks as $book)
-                        <div data-id="{{ $book->id }}" class="scroll-box-item">
-                            <a href="{{ $book->getUrl() }}" class="text-book">@icon('book'){{ $book->name }}</a>
-                        </div>
-                    @endforeach
-                @endif
+<div shelf-sort class="grid half gap-xl">
+    <div class="form-group">
+        <label for="books">{{ trans('entities.shelves_books') }}</label>
+        <input type="hidden" id="books-input" name="books"
+               value="{{ isset($shelf) ? $shelf->books->implode('id', ',') : '' }}">
+        <div class="scroll-box">
+            <div class="scroll-box-item text-small text-muted instruction">
+                {{ trans('entities.shelves_drag_books') }}
             </div>
-        </div>
-    </div>
-    <div class="col-md-6">
-        <div class="form-group">
-            <label for="books">{{ trans('entities.shelves_add_books') }}</label>
-            <div class="scroll-box">
-                @foreach ($books as $book)
+            <div class="scroll-box-item scroll-box-placeholder" style="display: none;">
+                <a href="#" class="text-muted">@icon('book') ...</a>
+            </div>
+            @if (isset($shelfBooks) && count($shelfBooks) > 0)
+                @foreach ($shelfBooks as $book)
                     <div data-id="{{ $book->id }}" class="scroll-box-item">
                         <a href="{{ $book->getUrl() }}" class="text-book">@icon('book'){{ $book->name }}</a>
                     </div>
                 @endforeach
-            </div>
+            @endif
+        </div>
+    </div>
+    <div class="form-group">
+        <label for="books">{{ trans('entities.shelves_add_books') }}</label>
+        <div class="scroll-box">
+            @foreach ($books as $book)
+                <div data-id="{{ $book->id }}" class="scroll-box-item">
+                    <a href="{{ $book->getUrl() }}" class="text-book">@icon('book'){{ $book->name }}</a>
+                </div>
+            @endforeach
         </div>
     </div>
 </div>