pdf.jade 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. div.full-size(ng-controller="PdfController")
  2. .toolbar.toolbar-tall
  3. a.btn.btn-info(
  4. href,
  5. ng-disabled="pdf.compiling",
  6. ng-click="recompile()"
  7. )
  8. i.fa.fa-refresh(
  9. ng-class="{'fa-spin': pdf.compiling }"
  10. )
  11. |   
  12. span(ng-show="!pdf.compiling") Recompile
  13. span(ng-show="pdf.compiling") Compiling...
  14. a.log-btn(
  15. href
  16. ng-click="toggleLogs()"
  17. ng-class="{ 'active': (pdf.view == 'logs' || pdf.failure) && !pdf.error && !pdf.timeout && !pdf.uncompiled }"
  18. tooltip="Logs"
  19. tooltip-placement="bottom"
  20. )
  21. i.fa.fa-file-text-o
  22. span.label(
  23. ng-show="pdf.logEntries.warnings.length + pdf.logEntries.errors.length > 0"
  24. ng-class="{\
  25. 'label-warning': pdf.logEntries.errors.length == 0,\
  26. 'label-danger': pdf.logEntries.errors.length > 0\
  27. }"
  28. ) {{ pdf.logEntries.errors.length + pdf.logEntries.warnings.length }}
  29. .pdf-viewer(ng-show="pdf.url && pdf.view == 'pdf' && !pdf.failure && !pdf.timeout && !pdf.error")
  30. div(
  31. pdfjs
  32. ng-if="settings.pdfViewer == 'pdfjs'"
  33. pdf-src="pdf.url"
  34. key="{{ project_id }}"
  35. resize-on="layout:main:resize,layout:pdf:resize"
  36. highlights="pdf.highlights"
  37. position="pdf.position"
  38. dbl-click-callback="syncToCode"
  39. )
  40. iframe(
  41. ng-src="{{ pdf.url }}"
  42. ng-if="settings.pdfViewer == 'native'"
  43. )
  44. .pdf-uncompiled(ng-show="pdf.uncompiled && !pdf.compiling")
  45. |  
  46. i.fa.fa-level-up.fa-flip-horizontal.fa-2x
  47. |   Click here to preview your work as a PDF.
  48. .pdf-errors(ng-show="pdf.timeout || pdf.error")
  49. .alert.alert-danger(ng-show="pdf.error")
  50. strong Server Error.
  51. span Sorry, something went wrong and your project could not be compiled. Please try again in a few moments.
  52. .alert.alert-danger(ng-show="pdf.timeout")
  53. strong Timed out.
  54. span Sorry, your compile was taking too long and timed out.
  55. | This may be due to a large number of high-res images, or lots of complicated diagrams.
  56. | Please try to make your document simpler, or contact support for help.
  57. .pdf-logs(ng-show="(pdf.view == 'logs' || pdf.failure) && !pdf.error && !pdf.timeout && !pdf.uncompiled")
  58. .alert.alert-success(ng-show="pdf.logEntries.all.length == 0")
  59. | No errors, good job!
  60. .alert.alert-danger(ng-show="pdf.failure")
  61. strong Compile Error.
  62. span Sorry, your LaTeX code couldn't compile for some reason. Please check the errors below for details, or view the raw log.
  63. div(ng-repeat="entry in pdf.logEntries.all", ng-controller="PdfLogEntryController")
  64. .alert(
  65. ng-class="{\
  66. 'alert-danger': entry.level == 'error',\
  67. 'alert-warning': entry.level == 'warning',\
  68. 'alert-info': entry.level == 'typesetting'\
  69. }"
  70. ng-click="openInEditor(entry)"
  71. )
  72. span.line-no
  73. span(ng-show="entry.file") {{ entry.file }}
  74. span(ng-show="entry.line") , line {{ entry.line }}
  75. p.entry-message(ng-show="entry.message") {{ entry.message }}
  76. p.entry-content(ng-show="entry.content") {{ entry.content }}
  77. p
  78. .pull-right
  79. a.btn.btn-default.btn-sm(
  80. href,
  81. tooltip="Clear cached files",
  82. tooltip-placement="top",
  83. tooltip-append-to-body="true",
  84. ng-click="openClearCacheModal()"
  85. )
  86. i.fa.fa-trash-o
  87. |  
  88. div.dropdown(style="display: inline-block;")
  89. a.btn.btn-default.btn-sm(
  90. href
  91. dropdown-toggle
  92. )
  93. | Other logs & files
  94. span.caret
  95. ul.dropdown-menu.dropdown-menu-right
  96. li(ng-repeat="file in pdf.outputFiles")
  97. a(
  98. href="/project/{{project_id}}/output/{{file.path}}"
  99. target="_blank"
  100. ng-click="openOutputFile(file)"
  101. ) {{ file.name }}
  102. a.btn.btn-info.btn-sm(href, ng-click="toggleRawLog()")
  103. span(ng-show="!pdf.showRawLog") View Raw Logs
  104. span(ng-show="pdf.showRawLog") Hide Raw Logs
  105. pre(ng-bind="pdf.rawLog", ng-show="pdf.showRawLog")
  106. script(type='text/ng-template', id='clearCacheModalTemplate')
  107. .modal-header
  108. h3 Clear cache?
  109. .modal-body
  110. p This will clear all hidden LaTeX files (.aux, .bbl, etc) from our compile server.
  111. | You generally don't need to do this unless you're having trouble with references.
  112. p Your project files will not be deleted or changed.
  113. .modal-footer
  114. button.btn.btn-default(
  115. ng-click="cancel()"
  116. ng-disabled="state.inflight"
  117. ) Cancel
  118. button.btn.btn-info(
  119. ng-click="clear()"
  120. ng-disabled="state.inflight"
  121. )
  122. span(ng-show="!state.inflight") Clear cache
  123. span(ng-show="state.inflight") Clearing...