| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374 |
- div.full-size.pdf(ng-controller="PdfController")
- .toolbar.toolbar-pdf(ng-class="{ 'changes-to-autocompile': changesToAutoCompile && !autoCompileLintingError }")
- .btn-group.btn-recompile-group#recompile(
- dropdown,
- tooltip-html="'"+translate('recompile_pdf')+" <span class=\"keyboard-shortcut\">({{modifierKey}} + Enter)</span>'"
- tooltip-class="keyboard-tooltip"
- tooltip-popup-delay="500"
- tooltip-append-to-body="true"
- tooltip-placement="bottom"
- )
- a.btn.btn-recompile(
- href,
- ng-disabled="pdf.compiling",
- ng-click="recompile()"
- )
- i.fa.fa-refresh(
- ng-class="{'fa-spin': pdf.compiling }"
- )
- |
- span(ng-show="!pdf.compiling") #{translate("recompile")}
- span(ng-show="pdf.compiling") #{translate("compiling")}…
- a.btn.btn-recompile.dropdown-toggle(
- href,
- ng-disabled="pdf.compiling",
- dropdown-toggle
- )
- span.caret
- ul.dropdown-menu.dropdown-menu-left
- li.dropdown-header #{translate("auto_compile")}
- li
- a(href, ng-click="autocompile_enabled = true")
- i.fa.fa-fw(ng-class="{'fa-check': autocompile_enabled}")
- | #{translate('on')}
- li
- a(href, ng-click="autocompile_enabled = false")
- i.fa.fa-fw(ng-class="{'fa-check': !autocompile_enabled}")
- | #{translate('off')}
- li.dropdown-header #{translate("compile_mode")}
- li
- a(href, ng-click="draft = false")
- i.fa.fa-fw(ng-class="{'fa-check': !draft}")
- | #{translate("normal")}
- li
- a(href, ng-click="draft = true")
- i.fa.fa-fw(ng-class="{'fa-check': draft}")
- | #{translate("fast")}
- span.subdued [draft]
- li.dropdown-header #{translate("compile_time_checks")}
- li
- a(href, ng-click="stop_on_validation_error = true")
- i.fa.fa-fw(ng-class="{'fa-check': stop_on_validation_error}")
- | #{translate("stop_on_validation_error")}
- li
- a(href, ng-click="stop_on_validation_error = false")
- i.fa.fa-fw(ng-class="{'fa-check': !stop_on_validation_error}")
- | #{translate("ignore_validation_errors")}
- li
- a(href, ng-click="recompile({check:true})")
- i.fa.fa-fw()
- | #{translate("run_syntax_check_now")}
- a(
- href
- ng-click="stop()"
- ng-show="pdf.compiling",
- tooltip=translate('stop_compile')
- tooltip-placement="bottom"
- )
- i.fa.fa-fw.fa-stop()
- a.log-btn(
- href
- ng-click="toggleLogs()"
- ng-class="{ 'active': shouldShowLogs == true }"
- tooltip=translate('logs_and_output_files')
- tooltip-placement="bottom"
- )
- i.fa.fa-fw.fa-file-text-o
- span.label(
- ng-show="pdf.logEntries.warnings.length + pdf.logEntries.errors.length > 0"
- ng-class="{\
- 'label-warning': pdf.logEntries.errors.length == 0,\
- 'label-danger': pdf.logEntries.errors.length > 0\
- }"
- ) {{ pdf.logEntries.errors.length + pdf.logEntries.warnings.length }}
-
- a(
- ng-href="{{pdf.downloadUrl || pdf.url}}"
- target="_blank"
- ng-if="pdf.url"
- tooltip=translate('download_pdf')
- tooltip-placement="bottom"
- )
- i.fa.fa-fw.fa-download
-
- .toolbar-right
- span.auto-compile-status.small(
- ng-show="changesToAutoCompile && !compiling && !autoCompileLintingError"
- ) #{translate('uncompiled_changes')}
- span.auto-compile-status.auto-compile-error.small(
- ng-show="autoCompileLintingError"
- tooltip-placement="bottom"
- tooltip=translate("code_check_failed_explanation")
- tooltip-append-to-body="true"
- )
- i.fa.fa-fw.fa-exclamation-triangle
- |
- | #{translate("code_check_failed")}
- a(
- href,
- ng-click="switchToFlatLayout('pdf')"
- ng-show="ui.pdfLayout == 'sideBySide'"
- tooltip=translate('full_screen')
- tooltip-placement="bottom"
- tooltip-append-to-body="true"
- )
- i.fa.fa-expand
- a(
- href,
- ng-click="switchToSideBySideLayout('editor')"
- ng-show="ui.pdfLayout == 'flat'"
- tooltip=translate('split_screen')
- tooltip-placement="bottom"
- tooltip-append-to-body="true"
- )
- i.fa.fa-compress
- // end of toolbar
- // logs view
- .pdf-logs(ng-show="shouldShowLogs")
- .alert.alert-success(ng-show="pdf.logEntries.all.length == 0 && !pdf.failure")
- | #{translate("no_errors_good_job")}
- .alert.alert-danger(ng-show="pdf.failure")
- strong #{translate("compile_error")}.
- span #{translate("generic_failed_compile_message")}.
- .alert.alert-danger(ng-show="pdf.failedCheck")
- strong #{translate("failed_compile_check")}.
- p
- p.text-center(ng-show="!check")
- a.text-info(
- href,
- ng-disabled="pdf.compiling",
- ng-click="recompile({try:true})"
- ) #{translate("failed_compile_check_try")}
- |  #{translate("failed_compile_option_or")} 
- a.text-info(
- href,
- ng-disabled="pdf.compiling",
- ng-click="recompile({force:true})"
- ) #{translate("failed_compile_check_ignore")}
- | .
- div(ng-repeat="entry in pdf.logEntries.all", ng-controller="PdfLogEntryController")
- .alert(
- ng-class="{\
- 'alert-danger': entry.level == 'error',\
- 'alert-warning': entry.level == 'warning',\
- 'alert-info': entry.level == 'typesetting'\
- }"
- ng-click="openInEditor(entry)"
- )
- span.line-no
- i.fa.fa-link(aria-hidden="true")
- |
- span(ng-show="entry.file") {{ entry.file }}
- span(ng-show="entry.line") , line {{ entry.line }}
- p.entry-message(ng-show="entry.message")
- | {{ entry.type }} {{ entry.message }}
- .card.card-hint(
- ng-if="entry.humanReadableHint"
- stop-propagation="click"
- )
- figure.card-hint-icon-container
- i.fa.fa-lightbulb-o(aria-hidden="true")
- p.card-hint-text(
- ng-show="entry.humanReadableHint",
- ng-bind-html="wikiEnabled ? entry.humanReadableHint : stripHTMLFromString(entry.humanReadableHint)")
- .card-hint-footer.clearfix
- .card-hint-ext-link(ng-if="wikiEnabled && entry.extraInfoURL")
- a(
- ng-href="{{ entry.extraInfoURL }}",
- ng-click="trackLogHintsLearnMore()"
- target="_blank"
- )
- i.fa.fa-external-link
- | #{translate("log_hint_extra_info")}
- p.entry-content(ng-show="entry.content") {{ entry.content.trim() }}
- div
- .files-dropdown-container
- a.btn.btn-default.btn-sm(
- href,
- tooltip=translate('clear_cached_files'),
- tooltip-placement="top",
- tooltip-append-to-body="true",
- ng-click="openClearCacheModal()"
- )
- i.fa.fa-trash-o
- |
- div.files-dropdown(
- ng-class="shouldDropUp ? 'dropup' : 'dropdown'"
- dropdown
- )
- a.btn.btn-default.btn-sm(
- href
- dropdown-toggle
- )
- | !{translate("other_logs_and_files")}
- span.caret
- ul.dropdown-menu.dropdown-menu-right
- li(ng-repeat="file in pdf.outputFiles")
- a(
- href="{{file.url}}"
- target="_blank"
- ) {{ file.name }}
- a.btn.btn-info.btn-sm(href, ng-click="toggleRawLog()")
- span(ng-show="!pdf.showRawLog") #{translate("view_raw_logs")}
- span(ng-show="pdf.showRawLog") #{translate("hide_raw_logs")}
- pre(ng-bind="pdf.rawLog", ng-show="pdf.showRawLog")
-
-
- // non-log views (pdf and errors)
- div(ng-show="!shouldShowLogs", ng-switch on="pdf.view")
- .pdf-uncompiled(ng-switch-when="uncompiled" ng-show="!pdf.compiling")
- |
- i.fa.fa-level-up.fa-flip-horizontal.fa-2x
- | #{translate('click_here_to_preview_pdf')}
-
- .pdf-viewer(ng-switch-when="pdf")
- div(
- pdfng
- ng-if="settings.pdfViewer == 'pdfjs'"
- pdf-src="pdf.url"
- key="{{ project_id }}"
- resize-on="layout:main:resize,layout:pdf:resize"
- highlights="pdf.highlights"
- position="pdf.position"
- dbl-click-callback="syncToCode"
- )
- iframe(
- ng-src="{{ pdf.url | trusted }}"
- ng-if="settings.pdfViewer == 'native'"
- )
- .pdf-validation-problems(ng-switch-when="validation-problems")
- .alert.alert-danger(ng-show="pdf.validation.duplicatePaths")
- strong #{translate("latex_error")}
- span #{translate("duplicate_paths_found")}
- .alert.alert-danger(ng-show="pdf.validation.sizeCheck")
- strong #{translate("project_too_large")}
- div #{translate("project_too_large_please_reduce")}
- div
- li(ng-repeat="entry in pdf.validation.sizeCheck.resources") {{ '/'+entry['path'] }} - {{entry['kbSize']}}kb
-
- .alert.alert-danger(ng-show="pdf.validation.conflictedPaths")
- div
- strong #{translate("conflicting_paths_found")}
- div !{translate("following_paths_conflict")}
- div
- li(ng-repeat="entry in pdf.validation.conflictedPaths") {{ '/'+entry['path'] }}
- .alert.alert-danger(ng-show="pdf.validation.mainFile")
- strong #{translate("main_file_not_found")}
- span #{translate("please_set_main_file")}
- .pdf-errors(ng-switch-when="errors")
-
- .alert.alert-danger(ng-show="pdf.error")
- strong #{translate("server_error")}
- span #{translate("somthing_went_wrong_compiling")}
- .alert.alert-danger(ng-show="pdf.renderingError")
- strong #{translate("pdf_rendering_error")}
- span #{translate("something_went_wrong_rendering_pdf")}
-
- .alert.alert-danger(ng-show="pdf.clsiMaintenance")
- strong #{translate("server_error")}
- span #{translate("clsi_maintenance")}
- .alert.alert-danger(ng-show="pdf.clsiUnavailable")
- strong #{translate("server_error")}
- span #{translate("clsi_unavailable")}
- .alert.alert-danger(ng-show="pdf.tooRecentlyCompiled")
- strong #{translate("server_error")}
- span #{translate("too_recently_compiled")}
- .alert.alert-danger(ng-show="pdf.compileTerminated")
- strong #{translate("terminated")}.
- span #{translate("compile_terminated_by_user")}
-
- .alert.alert-danger(ng-show="pdf.rateLimited")
- strong #{translate("pdf_compile_rate_limit_hit")}
- span #{translate("project_flagged_too_many_compiles")}
- .alert.alert-danger(ng-show="pdf.compileInProgress")
- strong #{translate("pdf_compile_in_progress_error")}.
- span #{translate("pdf_compile_try_again")}
- .alert.alert-danger(ng-show="pdf.timedout")
- p
- strong #{translate("timedout")}.
- span #{translate("proj_timed_out_reason")}
- p
- a.text-info(href="https://www.sharelatex.com/learn/Debugging_Compilation_timeout_errors", target="_blank")
- | #{translate("learn_how_to_make_documents_compile_quickly")}
- if settings.enableSubscriptions
- .alert.alert-success(ng-show="pdf.timedout && !hasPremiumCompile")
- p(ng-if="project.owner._id == user.id")
- strong #{translate("upgrade_for_longer_compiles")}
- p(ng-if="project.owner._id != user.id")
- strong #{translate("ask_proj_owner_to_upgrade_for_longer_compiles")}
- p #{translate("free_accounts_have_timeout_upgrade_to_increase")}
- p #{translate("plus_upgraded_accounts_receive")}:
- div
- ul.list-unstyled
- li
- i.fa.fa-check
- | #{translate("unlimited_projects")}
- li
- i.fa.fa-check
- | #{translate("collabs_per_proj", {collabcount:'Multiple'})}
- li
- i.fa.fa-check
- | #{translate("full_doc_history")}
- li
- i.fa.fa-check
- | #{translate("sync_to_dropbox")}
- li
- i.fa.fa-check
- | #{translate("sync_to_github")}
- li
- i.fa.fa-check
- |#{translate("compile_larger_projects")}
- p(ng-controller="FreeTrialModalController", ng-if="project.owner._id == user.id")
- a.btn.btn-success.row-spaced-small(
- href
- ng-class="buttonClass"
- ng-click="startFreeTrial('compile-timeout')"
- ) #{translate("start_free_trial")}
- .alert.alert-danger(ng-show="pdf.autoCompileDisabled")
- p
- strong #{translate("autocompile_disabled")}.
- span #{translate("autocompile_disabled_reason")}
- .alert.alert-danger(ng-show="pdf.projectTooLarge")
- strong #{translate("project_too_large")}
- span #{translate("project_too_large_please_reduce")}
- script(type='text/ng-template', id='clearCacheModalTemplate')
- .modal-header
- h3 #{translate("clear_cache")}?
- .modal-body
- p #{translate("clear_cache_explanation")}
- p #{translate("clear_cache_is_safe")}
- .modal-footer
- button.btn.btn-default(
- ng-click="cancel()"
- ng-disabled="state.inflight"
- ) #{translate("cancel")}
- button.btn.btn-info(
- ng-click="clear()"
- ng-disabled="state.inflight"
- )
- span(ng-show="!state.inflight") #{translate("clear_cache")}
- span(ng-show="state.inflight") #{translate("clearing")}…
|