Going back to vanilla css

This commit is contained in:
Patrick Jentsch 2024-07-01 15:37:34 +02:00
parent 5ee9edef9f
commit f79c6d48b2
55 changed files with 10086 additions and 509 deletions

View File

@ -14,7 +14,7 @@ from .forms import CreateCorpusForm
@bp.route('')
def corpora():
return redirect(url_for('main.dashboard', _anchor='corpora'))
return render_template('corpora/corpora.html.j2', title='Corpora')
@bp.route('/create', methods=['GET', 'POST'])

View File

@ -11,8 +11,9 @@ from . import bp
@bp.route('')
def corpora():
return redirect(url_for('main.dashboard', _anchor='jobs'))
def jobs():
# return redirect(url_for('main.dashboard', _anchor='jobs'))
return render_template('jobs/jobs.html.j2', title='Jobs')
@bp.route('/<hashid:job_id>')

View File

@ -0,0 +1,43 @@
[data-corpus-status="UNPREPARED"] {
--corpus-status-color: #9e9e9e;
}
[data-corpus-status="QUEUED"] {
--corpus-status-color: #2196f3;
}
[data-corpus-status="BUILDING"] {
--corpus-status-color: #ffc107;
}
[data-corpus-status="BUILT"] {
--corpus-status-color: #4caf50;
}
[data-corpus-status="FAILED"] {
--corpus-status-color: #f44336;
}
[data-corpus-status="STARTING_ANALYSIS_SESSION"] {
--corpus-status-color: #2196f3;
}
[data-corpus-status="RUNNING_ANALYSIS_SESSION"] {
--corpus-status-color: #4caf50;
}
[data-corpus-status="CANCELING_ANALYSIS_SESSION"] {
--corpus-status-color: #ff5722;
}
.corpus-status-color {
background-color: var(--corpus-status-color) !important;
}
.corpus-status-color-border {
border-color: var(--corpus-status-color) !important;
}
.corpus-status-color-text {
color: var(--corpus-status-color) !important;
}

View File

@ -0,0 +1,35 @@
[data-corpus-status="UNPREPARED"] {
--corpus-status-content: "unprepared";
}
[data-corpus-status="QUEUED"] {
--corpus-status-content: "queued";
}
[data-corpus-status="BUILDING"] {
--corpus-status-content: "building";
}
[data-corpus-status="BUILT"] {
--corpus-status-content: "built";
}
[data-corpus-status="FAILED"] {
--corpus-status-content: "failed";
}
[data-corpus-status="STARTING_ANALYSIS_SESSION"] {
--corpus-status-content: "starting analysis session";
}
[data-corpus-status="RUNNING_ANALYSIS_SESSION"] {
--corpus-status-content: "running analysis session";
}
[data-corpus-status="CANCELING_ANALYSIS_SESSION"] {
--corpus-status-content: "canceling analysis session";
}
.corpus-status-text:empty::before {
content: var(--corpus-status-content);
}

View File

@ -0,0 +1,43 @@
[data-job-status="INITIALIZING"] {
--job-status-color: #9e9e9e;
}
[data-job-status="SUBMITTED"] {
--job-status-color: #9e9e9e;
}
[data-job-status="QUEUED"] {
--job-status-color: #2196f3;
}
[data-job-status="RUNNING"] {
--job-status-color: #ffc107;
}
[data-job-status="CANCELING"] {
--job-status-color: #ff5722;
}
[data-job-status="CANCELED"] {
--job-status-color: #ff5722;
}
[data-job-status="COMPLETED"] {
--job-status-color: #4caf50;
}
[data-job-status="FAILED"] {
--job-status-color: #f44336;
}
.job-status-color {
background-color: var(--job-status-color) !important;
}
.job-status-color-border {
border-color: var(--job-status-color) !important;
}
.job-status-color-text {
color: var(--job-status-color) !important;
}

View File

@ -0,0 +1,35 @@
[data-job-status="INITIALIZING"] {
--job-status-content: "initializing";
}
[data-job-status="SUBMITTED"] {
--job-status-content: "submitted";
}
[data-job-status="QUEUED"] {
--job-status-content: "queued";
}
[data-job-status="RUNNING"] {
--job-status-content: "running";
}
[data-job-status="CANCELING"] {
--job-status-content: "canceling";
}
[data-job-status="CANCELED"] {
--job-status-content: "canceled";
}
[data-job-status="COMPLETED"] {
--job-status-content: "completed";
}
[data-job-status="FAILED"] {
--job-status-content: "failed";
}
.job-status-text:empty::before {
content: var(--job-status-content);
}

8681
app/static/css/materialize.css vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,63 @@
/* #region sidenav-fixed */
/*
* The sidenav-fixed class is used which causes the sidenav to be fixed and open
* on large screens and hides to the regular functionality on smaller screens.
* In order to prevent the sidenav to overlap the content, the content (header, main and footer)
* gets an offset equal to the width of the sidenav.
*
* Read more: https://materializecss.com/sidenav.html#variations
*/
body[data-sidenav-fixed="true" i] header,
body[data-sidenav-fixed="true" i] main,
body[data-sidenav-fixed="true" i] footer {
padding-left: 300px;
}
@media only screen and (max-width : 992px) {
body[data-sidenav-fixed="true" i] header,
body[data-sidenav-fixed="true" i] main,
body[data-sidenav-fixed="true" i] footer {
padding-left: 0;
}
}
body[data-sidenav-fixed="true" i] .navbar-fixed > nav {
width: calc(100% - 300px);
}
@media only screen and (max-width : 992px) {
body[data-sidenav-fixed="true" i] .navbar-fixed > nav {
width: 100%;
}
}
/* #endregion sidenav-fixed */
/* #region sticky-footer */
/*
* Sticky Footer:
* A sticky footer always stays on the bottom of the page regardless of how
* little content is on the page. However, this footer will be pushed down if
* there is a lot of content, so it is different from a fixed footer.
*
* Note: This may cause issues in Internet Explorer which has weak support for
* flexbox.
*
* Read more: https://materializecss.com/footer.html#sticky-footer
*/
body[data-sticky-footer="true" i] {
display: flex;
min-height: 100vh;
flex-direction: column;
}
body[data-sticky-footer="true" i] main {
flex: 1 0 auto;
}
/* #endregion sticky-footer */
/* #region other-overrides */
::placeholder {
color: #9e9e9e;
opacity: 1;
}
/* #endregion other-overrides */

View File

@ -0,0 +1,3 @@
.pagination > li:only-child {
display: none;
}

View File

@ -0,0 +1,231 @@
.s-attr-color[data-s-attr="ent_type"][data-s-attr-value="PERSON"] {
background-color: #a6e22d !important;
}
.s-attr-color-text[data-s-attr="ent_type"][data-s-attr-value="PERSON"] {
background-color: #a6e22d !important;
}
.s-attr-color-border[data-s-attr="ent_type"][data-s-attr-value="PERSON"] {
background-color: #a6e22d !important;
}
.s-attr-color[data-s-attr="ent_type"][data-s-attr-value="PER"] {
background-color: #a6e22d !important;
}
.s-attr-color-text[data-s-attr="ent_type"][data-s-attr-value="PER"] {
background-color: #a6e22d !important;
}
.s-attr-color-border[data-s-attr="ent_type"][data-s-attr-value="PER"] {
background-color: #a6e22d !important;
}
.s-attr-color[data-s-attr="ent_type"][data-s-attr-value="NORP"] {
background-color: #ef60b4 !important;
}
.s-attr-color-text[data-s-attr="ent_type"][data-s-attr-value="NORP"] {
background-color: #ef60b4 !important;
}
.s-attr-color-border[data-s-attr="ent_type"][data-s-attr-value="NORP"] {
background-color: #ef60b4 !important;
}
.s-attr-color[data-s-attr="ent_type"][data-s-attr-value="FACILITY"] {
background-color: #43c6fc !important;
}
.s-attr-color-text[data-s-attr="ent_type"][data-s-attr-value="FACILITY"] {
background-color: #43c6fc !important;
}
.s-attr-color-border[data-s-attr="ent_type"][data-s-attr-value="FACILITY"] {
background-color: #43c6fc !important;
}
.s-attr-color[data-s-attr="ent_type"][data-s-attr-value="ORG"] {
background-color: #43c6fc !important;
}
.s-attr-color-text[data-s-attr="ent_type"][data-s-attr-value="ORG"] {
background-color: #43c6fc !important;
}
.s-attr-color-border[data-s-attr="ent_type"][data-s-attr-value="ORG"] {
background-color: #43c6fc !important;
}
.s-attr-color[data-s-attr="ent_type"][data-s-attr-value="GPE"] {
background-color: #fd9720 !important;
}
.s-attr-color-text[data-s-attr="ent_type"][data-s-attr-value="GPE"] {
background-color: #fd9720 !important;
}
.s-attr-color-border[data-s-attr="ent_type"][data-s-attr-value="GPE"] {
background-color: #fd9720 !important;
}
.s-attr-color[data-s-attr="ent_type"][data-s-attr-value="LOC"] {
background-color: #fd9720 !important;
}
.s-attr-color-text[data-s-attr="ent_type"][data-s-attr-value="LOC"] {
background-color: #fd9720 !important;
}
.s-attr-color-border[data-s-attr="ent_type"][data-s-attr-value="LOC"] {
background-color: #fd9720 !important;
}
.s-attr-color[data-s-attr="ent_type"][data-s-attr-value="PRODUCT"] {
background-color: #a99dfb !important;
}
.s-attr-color-text[data-s-attr="ent_type"][data-s-attr-value="PRODUCT"] {
background-color: #a99dfb !important;
}
.s-attr-color-border[data-s-attr="ent_type"][data-s-attr-value="PRODUCT"] {
background-color: #a99dfb !important;
}
.s-attr-color[data-s-attr="ent_type"][data-s-attr-value="MISC"] {
background-color: #a99dfb !important;
}
.s-attr-color-text[data-s-attr="ent_type"][data-s-attr-value="MISC"] {
background-color: #a99dfb !important;
}
.s-attr-color-border[data-s-attr="ent_type"][data-s-attr-value="MISC"] {
background-color: #a99dfb !important;
}
.s-attr-color[data-s-attr="ent_type"][data-s-attr-value="EVENT"] {
background-color: #fc0 !important;
}
.s-attr-color-text[data-s-attr="ent_type"][data-s-attr-value="EVENT"] {
background-color: #fc0 !important;
}
.s-attr-color-border[data-s-attr="ent_type"][data-s-attr-value="EVENT"] {
background-color: #fc0 !important;
}
.s-attr-color[data-s-attr="ent_type"][data-s-attr-value="WORK_OF_ART"] {
background-color: #fc0 !important;
}
.s-attr-color-text[data-s-attr="ent_type"][data-s-attr-value="WORK_OF_ART"] {
background-color: #fc0 !important;
}
.s-attr-color-border[data-s-attr="ent_type"][data-s-attr-value="WORK_OF_ART"] {
background-color: #fc0 !important;
}
.s-attr-color[data-s-attr="ent_type"][data-s-attr-value="LANGUAGE"] {
background-color: #fc0 !important;
}
.s-attr-color-text[data-s-attr="ent_type"][data-s-attr-value="LANGUAGE"] {
background-color: #fc0 !important;
}
.s-attr-color-border[data-s-attr="ent_type"][data-s-attr-value="LANGUAGE"] {
background-color: #fc0 !important;
}
.s-attr-color[data-s-attr="ent_type"][data-s-attr-value="DATE"] {
background-color: #2fbbab !important;
}
.s-attr-color-text[data-s-attr="ent_type"][data-s-attr-value="DATE"] {
background-color: #2fbbab !important;
}
.s-attr-color-border[data-s-attr="ent_type"][data-s-attr-value="DATE"] {
background-color: #2fbbab !important;
}
.s-attr-color[data-s-attr="ent_type"][data-s-attr-value="TIME"] {
background-color: #2fbbab !important;
}
.s-attr-color-text[data-s-attr="ent_type"][data-s-attr-value="TIME"] {
background-color: #2fbbab !important;
}
.s-attr-color-border[data-s-attr="ent_type"][data-s-attr-value="TIME"] {
background-color: #2fbbab !important;
}
.s-attr-color[data-s-attr="ent_type"][data-s-attr-value="PERCENT"] {
background-color: #bbb !important;
}
.s-attr-color-text[data-s-attr="ent_type"][data-s-attr-value="PERCENT"] {
background-color: #bbb !important;
}
.s-attr-color-border[data-s-attr="ent_type"][data-s-attr-value="PERCENT"] {
background-color: #bbb !important;
}
.s-attr-color[data-s-attr="ent_type"][data-s-attr-value="MONEY"] {
background-color: #bbb !important;
}
.s-attr-color-text[data-s-attr="ent_type"][data-s-attr-value="MONEY"] {
background-color: #bbb !important;
}
.s-attr-color-border[data-s-attr="ent_type"][data-s-attr-value="MONEY"] {
background-color: #bbb !important;
}
.s-attr-color[data-s-attr="ent_type"][data-s-attr-value="QUANTITY"] {
background-color: #bbb !important;
}
.s-attr-color-text[data-s-attr="ent_type"][data-s-attr-value="QUANTITY"] {
background-color: #bbb !important;
}
.s-attr-color-border[data-s-attr="ent_type"][data-s-attr-value="QUANTITY"] {
background-color: #bbb !important;
}
.s-attr-color[data-s-attr="ent_type"][data-s-attr-value="ORDINAL"] {
background-color: #bbb !important;
}
.s-attr-color-text[data-s-attr="ent_type"][data-s-attr-value="ORDINAL"] {
background-color: #bbb !important;
}
.s-attr-color-border[data-s-attr="ent_type"][data-s-attr-value="ORDINAL"] {
background-color: #bbb !important;
}
.s-attr-color[data-s-attr="ent_type"][data-s-attr-value="CARDINAL"] {
background-color: #bbb !important;
}
.s-attr-color-text[data-s-attr="ent_type"][data-s-attr-value="CARDINAL"] {
background-color: #bbb !important;
}
.s-attr-color-border[data-s-attr="ent_type"][data-s-attr-value="CARDINAL"] {
background-color: #bbb !important;
}
.s-attr .p-attr {
background-color: inherit;
}

View File

@ -0,0 +1,87 @@
[data-s-attr="ent_type"][data-s-attr-value="PERSON"] {
--s-attr-color: #a6e22d;
}
[data-s-attr="ent_type"][data-s-attr-value="PER"] {
--s-attr-color: #a6e22d;
}
[data-s-attr="ent_type"][data-s-attr-value="NORP"] {
--s-attr-color: #ef60b4;
}
[data-s-attr="ent_type"][data-s-attr-value="FACILITY"] {
--s-attr-color: #43c6fc;
}
[data-s-attr="ent_type"][data-s-attr-value="ORG"] {
--s-attr-color: #43c6fc;
}
[data-s-attr="ent_type"][data-s-attr-value="GPE"] {
--s-attr-color: #fd9720;
}
[data-s-attr="ent_type"][data-s-attr-value="LOC"] {
--s-attr-color: #fd9720;
}
[data-s-attr="ent_type"][data-s-attr-value="PRODUCT"] {
--s-attr-color: #a99dfb;
}
[data-s-attr="ent_type"][data-s-attr-value="MISC"] {
--s-attr-color: #a99dfb;
}
[data-s-attr="ent_type"][data-s-attr-value="EVENT"] {
--s-attr-color: #fc0;
}
[data-s-attr="ent_type"][data-s-attr-value="WORK_OF_ART"] {
--s-attr-color: #fc0;
}
[data-s-attr="ent_type"][data-s-attr-value="LANGUAGE"] {
--s-attr-color: #fc0;
}
[data-s-attr="ent_type"][data-s-attr-value="DATE"] {
--s-attr-color: #2fbbab;
}
[data-s-attr="ent_type"][data-s-attr-value="TIME"] {
--s-attr-color: #2fbbab;
}
[data-s-attr="ent_type"][data-s-attr-value="PERCENT"] {
--s-attr-color: #bbb;
}
[data-s-attr="ent_type"][data-s-attr-value="MONEY"] {
--s-attr-color: #bbb;
}
[data-s-attr="ent_type"][data-s-attr-value="QUANTITY"] {
--s-attr-color: #bbb;
}
[data-s-attr="ent_type"][data-s-attr-value="ORDINAL"] {
--s-attr-color: #bbb;
}
[data-s-attr="ent_type"][data-s-attr-value="CARDINAL"] {
--s-attr-color: #bbb;
}
.s-attr-color {
background-color: var(--s-attr-color) !important;
}
.s-attr-color-border {
border-color: var(--s-attr-color) !important;
}
.s-attr-color-text {
color: var(--s-attr-color) !important;
}

View File

@ -0,0 +1,65 @@
[data-service="file-setup-pipeline"] {
--service-color: #d5dc95;
--service-color-lighten: #f2f3e1;
--service-color-darken: #a1b300;
}
[data-service="tesseract-ocr-pipeline"] {
--service-color: #a9d8c8;
--service-color-lighten: #e7f4f1;
--service-color-darken: #00a58b;
}
[data-service="transkribus-htr-pipeline"] {
--service-color: #607d8b;
--service-color-lighten: #cfd8dc;
--service-color-darken: #37474f;
}
[data-service="spacy-nlp-pipeline"] {
--service-color: #98acd2;
--service-color-lighten: #e5e8f5;
--service-color-darken: #0064a3;
}
[data-service="corpus-analysis"] {
--service-color: #aa9cc9;
--service-color-lighten: #ebe8f6;
--service-color-darken: #6b3f89;
}
.service-color {
background-color: var(--service-color) !important;
&.lighten {
background-color: var(--service-color-lighten) !important;
}
&.darken {
background-color: var(--service-color-darken) !important;
}
}
.service-color-border {
border-color: var(--service-color) !important;
&.border-lighten {
border-color: var(--service-color-lighten) !important;
}
&.border-darken {
border-color: var(--service-color-darken) !important;
}
}
.service-color-text {
color: var(--service-color) !important;
&.text-lighten {
color: var(--service-color-lighten) !important;
}
&.text-darken {
color: var(--service-color-darken) !important;
}
}

View File

@ -0,0 +1,25 @@
[data-service="file-setup-pipeline"] {
--service-icon-content: "E";
}
[data-service="tesseract-ocr-pipeline"] {
--service-icon-content: "F";
}
[data-service="transkribus-htr-pipeline"] {
--service-icon-content: "F";
}
[data-service="spacy-nlp-pipeline"] {
--service-icon-content: "G";
}
[data-service="corpus-analysis"] {
--service-icon-content: "H";
}
.nopaque-icons {
&.service-icons:empty::before {
content: var(--service-icon-content);
}
}

489
app/static/css/spacing.css Normal file
View File

@ -0,0 +1,489 @@
:root {
--spacing-0: 0;
--spacing-1: 0.25rem;
--spacing-2: 0.5rem;
--spacing-3: 0.75rem;
--spacing-4: 1rem;
--spacing-5: 1.5rem;
--spacing-6: 3rem;
}
.m-0 {
margin: var(--spacing-0) !important;
}
.mx-0 {
margin-left: var(--spacing-0) !important;
margin-right: var(--spacing-0) !important;
}
.my-0 {
margin-top: var(--spacing-0) !important;
margin-bottom: var(--spacing-0) !important;
}
.mt-0 {
margin-top: var(--spacing-0) !important;
}
.mr-0 {
margin-right: var(--spacing-0) !important;
}
.mb-0 {
margin-bottom: var(--spacing-0) !important;
}
.ml-0 {
margin-left: var(--spacing-0) !important;
}
.m-1 {
margin: var(--spacing-1) !important;
}
.mx-1 {
margin-left: var(--spacing-1) !important;
margin-right: var(--spacing-1) !important;
}
.my-1 {
margin-top: var(--spacing-1) !important;
margin-bottom: var(--spacing-1) !important;
}
.mt-1 {
margin-top: var(--spacing-1) !important;
}
.mr-1 {
margin-right: var(--spacing-1) !important;
}
.mb-1 {
margin-bottom: var(--spacing-1) !important;
}
.ml-1 {
margin-left: var(--spacing-1) !important;
}
.m-2 {
margin: var(--spacing-2) !important;
}
.mx-2 {
margin-left: var(--spacing-2) !important;
margin-right: var(--spacing-2) !important;
}
.my-2 {
margin-top: var(--spacing-2) !important;
margin-bottom: var(--spacing-2) !important;
}
.mt-2 {
margin-top: var(--spacing-2) !important;
}
.mr-2 {
margin-right: var(--spacing-2) !important;
}
.mb-2 {
margin-bottom: var(--spacing-2) !important;
}
.ml-2 {
margin-left: var(--spacing-2) !important;
}
.m-3 {
margin: var(--spacing-3) !important;
}
.mx-3 {
margin-left: var(--spacing-3) !important;
margin-right: var(--spacing-3) !important;
}
.my-3 {
margin-top: var(--spacing-3) !important;
margin-bottom: var(--spacing-3) !important;
}
.mt-3 {
margin-top: var(--spacing-3) !important;
}
.mr-3 {
margin-right: var(--spacing-3) !important;
}
.mb-3 {
margin-bottom: var(--spacing-3) !important;
}
.ml-3 {
margin-left: var(--spacing-3) !important;
}
.m-4 {
margin: var(--spacing-4) !important;
}
.mx-4 {
margin-left: var(--spacing-4) !important;
margin-right: var(--spacing-4) !important;
}
.my-4 {
margin-top: var(--spacing-4) !important;
margin-bottom: var(--spacing-4) !important;
}
.mt-4 {
margin-top: var(--spacing-4) !important;
}
.mr-4 {
margin-right: var(--spacing-4) !important;
}
.mb-4 {
margin-bottom: var(--spacing-4) !important;
}
.ml-4 {
margin-left: var(--spacing-4) !important;
}
.m-5 {
margin: var(--spacing-5) !important;
}
.mx-5 {
margin-left: var(--spacing-5) !important;
margin-right: var(--spacing-5) !important;
}
.my-5 {
margin-top: var(--spacing-5) !important;
margin-bottom: var(--spacing-5) !important;
}
.mt-5 {
margin-top: var(--spacing-5) !important;
}
.mr-5 {
margin-right: var(--spacing-5) !important;
}
.mb-5 {
margin-bottom: var(--spacing-5) !important;
}
.ml-5 {
margin-left: var(--spacing-5) !important;
}
.m-6 {
margin: var(--spacing-6) !important;
}
.mx-6 {
margin-left: var(--spacing-6) !important;
margin-right: var(--spacing-6) !important;
}
.my-6 {
margin-top: var(--spacing-6) !important;
margin-bottom: var(--spacing-6) !important;
}
.mt-6 {
margin-top: var(--spacing-6) !important;
}
.mr-6 {
margin-right: var(--spacing-6) !important;
}
.mb-6 {
margin-bottom: var(--spacing-6) !important;
}
.ml-6 {
margin-left: var(--spacing-6) !important;
}
.m-auto {
margin: auto !important;
}
.mx-auto {
margin-left: auto !important;
margin-right: auto !important;
}
.my-auto {
margin-top: auto !important;
margin-bottom: auto !important;
}
.mt-auto {
margin-top: auto !important;
}
.mr-auto {
margin-right: auto !important;
}
.mb-auto {
margin-bottom: auto !important;
}
.ml-auto {
margin-left: auto !important;
}
.p-0 {
padding: var(--spacing-0) !important;
}
.px-0 {
padding-left: var(--spacing-0) !important;
padding-right: var(--spacing-0) !important;
}
.py-0 {
padding-top: var(--spacing-0) !important;
padding-bottom: var(--spacing-0) !important;
}
.pt-0 {
padding-top: var(--spacing-0) !important;
}
.pr-0 {
padding-right: var(--spacing-0) !important;
}
.pb-0 {
padding-bottom: var(--spacing-0) !important;
}
.pl-0 {
padding-left: var(--spacing-0) !important;
}
.p-1 {
padding: var(--spacing-1) !important;
}
.px-1 {
padding-left: var(--spacing-1) !important;
padding-right: var(--spacing-1) !important;
}
.py-1 {
padding-top: var(--spacing-1) !important;
padding-bottom: var(--spacing-1) !important;
}
.pt-1 {
padding-top: var(--spacing-1) !important;
}
.pr-1 {
padding-right: var(--spacing-1) !important;
}
.pb-1 {
padding-bottom: var(--spacing-1) !important;
}
.pl-1 {
padding-left: var(--spacing-1) !important;
}
.p-2 {
padding: var(--spacing-2) !important;
}
.px-2 {
padding-left: var(--spacing-2) !important;
padding-right: var(--spacing-2) !important;
}
.py-2 {
padding-top: var(--spacing-2) !important;
padding-bottom: var(--spacing-2) !important;
}
.pt-2 {
padding-top: var(--spacing-2) !important;
}
.pr-2 {
padding-right: var(--spacing-2) !important;
}
.pb-2 {
padding-bottom: var(--spacing-2) !important;
}
.pl-2 {
padding-left: var(--spacing-2) !important;
}
.p-3 {
padding: var(--spacing-3) !important;
}
.px-3 {
padding-left: var(--spacing-3) !important;
padding-right: var(--spacing-3) !important;
}
.py-3 {
padding-top: var(--spacing-3) !important;
padding-bottom: var(--spacing-3) !important;
}
.pt-3 {
padding-top: var(--spacing-3) !important;
}
.pr-3 {
padding-right: var(--spacing-3) !important;
}
.pb-3 {
padding-bottom: var(--spacing-3) !important;
}
.pl-3 {
padding-left: var(--spacing-3) !important;
}
.p-4 {
padding: var(--spacing-4) !important;
}
.px-4 {
padding-left: var(--spacing-4) !important;
padding-right: var(--spacing-4) !important;
}
.py-4 {
padding-top: var(--spacing-4) !important;
padding-bottom: var(--spacing-4) !important;
}
.pt-4 {
padding-top: var(--spacing-4) !important;
}
.pr-4 {
padding-right: var(--spacing-4) !important;
}
.pb-4 {
padding-bottom: var(--spacing-4) !important;
}
.pl-4 {
padding-left: var(--spacing-4) !important;
}
.p-5 {
padding: var(--spacing-5) !important;
}
.px-5 {
padding-left: var(--spacing-5) !important;
padding-right: var(--spacing-5) !important;
}
.py-5 {
padding-top: var(--spacing-5) !important;
padding-bottom: var(--spacing-5) !important;
}
.pt-5 {
padding-top: var(--spacing-5) !important;
}
.pr-5 {
padding-right: var(--spacing-5) !important;
}
.pb-5 {
padding-bottom: var(--spacing-5) !important;
}
.pl-5 {
padding-left: var(--spacing-5) !important;
}
.p-6 {
padding: var(--spacing-6) !important;
}
.px-6 {
padding-left: var(--spacing-6) !important;
padding-right: var(--spacing-6) !important;
}
.py-6 {
padding-top: var(--spacing-6) !important;
padding-bottom: var(--spacing-6) !important;
}
.pt-6 {
padding-top: var(--spacing-6) !important;
}
.pr-6 {
padding-right: var(--spacing-6) !important;
}
.pb-6 {
padding-bottom: var(--spacing-6) !important;
}
.pl-6 {
padding-left: var(--spacing-6) !important;
}
.p-auto {
padding: auto !important;
}
.px-auto {
padding-left: auto !important;
padding-right: auto !important;
}
.py-auto {
padding-top: auto !important;
padding-bottom: auto !important;
}
.pt-auto {
padding-top: auto !important;
}
.pr-auto {
padding-right: auto !important;
}
.pb-auto {
padding-bottom: auto !important;
}
.pl-auto {
padding-left: auto !important;
}

View File

@ -1,5 +1,5 @@
/*
* changes preoloader size etc. to fit visually better with the chip status
* changes preloader size etc. to fit visually better with the chip status
* indicator of jobs
*/
.status-spinner {

View File

@ -0,0 +1,93 @@
:root {
--primary-color: #00426f;
--primary-color-light: #006fbc;
--primary-color-dark: #001523;
--secondary-color: #00426f; /* old value: #1a5c89 */
--success-color: #4caf50;
--error-color: #f44336;
--link-color: #039be5;
}
.primary-color {
background-color: var(--primary-color) !important;
}
.primary-color-border {
border-color: var(--primary-color) !important;
}
.primary-color-text {
color: var(--primary-color) !important;
}
.primary-color.lighten {
background-color: var(--primary-color-light) !important;
}
.primary-color-border.border-lighten {
border-color: var(--primary-color-light) !important;
}
.primary-color-text.text-lighten {
color: var(--primary-color-light) !important;
}
.primary-color.darken {
background-color: var(--primary-color-dark) !important;
}
.primary-color-border.border-darken {
border-color: var(--primary-color-dark) !important;
}
.primary-color-text.text-darken {
color: var(--primary-color-dark) !important;
}
.secondary-color {
background-color: var(--primary-color) !important;
}
.secondary-color-border {
border-color: var(--primary-color) !important;
}
.secondary-color-text {
color: var(--primary-color) !important;
}
.success-color {
background-color: var(--success-color) !important;
}
.success-color-border {
border-color: var(--success-color) !important;
}
.success-color-text {
color: var(--success-color) !important;
}
.error-color {
background-color: var(--error-color) !important;
}
.error-color-border {
border-color: var(--error-color) !important;
}
.error-color-text {
color: var(--error-color) !important;
}
.link-color {
background-color: var(--link-color) !important;
}
.link-color-border {
border-color: var(--link-color) !important;
}
.link-color-text {
color: var(--link-color) !important;
}

View File

@ -80,7 +80,7 @@ nopaque.resource_lists.CorpusList = class CorpusList extends nopaque.resource_li
<td>${values['current-user-is-following'] ? '<span><i class="left material-icons">visibility</i>Following</span>' : ''}</td>
<td class="right-align">
<a class="list-action-trigger btn-floating red waves-effect waves-light" data-list-action="delete-request"><i class="material-icons">delete</i></a>
<a class="list-action-trigger btn-floating service-color darken waves-effect waves-light" data-list-action="view"><i class="material-icons">send</i></a>
<a class="list-action-trigger btn-floating darken waves-effect waves-light" data-list-action="view"><i class="material-icons">send</i></a>
</td>
</tr>
`.trim();

View File

@ -1,12 +1,11 @@
@import "sass/abstracts/base-color-variables";
$primary-color: map-get($base-color-palette, "primary");
$primary-color-light: map-get($base-color-palette, "primary-light");
$primary-color-dark: map-get($base-color-palette, "primary-dark");
$secondary-color: map-get($base-color-palette, "secondary");
$success-color: map-get($base-color-palette, "success");
$error-color: map-get($base-color-palette, "error");
$link-color: map-get($base-color-palette, "link");
$primary-color: #00426f;
$primary-color-light: #006fbc;
$primary-color-dark: #001523;
$secondary-color: #00426f;
$success-color: #4caf50;
$error-color: #f44336;
$link-color: #039be5;
@import "external/materialize/sass/materialize";

View File

@ -1,10 +0,0 @@
$base-color-palette: (
"primary": #00426f,
"primary-light": #006fbc, // primary lightened by 15%
"primary-dark": #001523, // primary darkened by 15%
// "secondary": #1a5c89,
"secondary": #00426f,
"success": #4caf50,
"error": #f44336,
"link": #039be5
);

View File

@ -1,10 +0,0 @@
$corpus-status-color-palette: (
"UNPREPARED": #9e9e9e,
"QUEUED": #2196f3,
"BUILDING": #ffc107,
"BUILT": #4caf50,
"FAILED": #f44336,
"STARTING_ANALYSIS_SESSION": #2196f3,
"RUNNING_ANALYSIS_SESSION": #4caf50,
"CANCELING_ANALYSIS_SESSION": #ff5722
);

View File

@ -1,10 +0,0 @@
$job-status-color-palette: (
"INITIALIZING": #9e9e9e,
"SUBMITTED": #9e9e9e,
"QUEUED": #2196f3,
"RUNNING": #ffc107,
"CANCELING": #ff5722,
"CANCELED": #ff5722,
"COMPLETED": #4caf50,
"FAILED": #f44336
);

View File

@ -1,25 +0,0 @@
$ent-type-color-palette: (
"PERSON": #a6e22d,
"PER": #a6e22d,
"NORP": #ef60b4,
"FACILITY": #43c6fc,
"ORG": #43c6fc,
"GPE": #fd9720,
"LOC": #fd9720,
"PRODUCT": #a99dfb,
"MISC": #a99dfb,
"EVENT": #fc0,
"WORK_OF_ART": #fc0,
"LANGUAGE": #fc0,
"DATE": #2fbbab,
"TIME": #2fbbab,
"PERCENT": #bbb,
"MONEY": #bbb,
"QUANTITY": #bbb,
"ORDINAL": #bbb,
"CARDINAL": #bbb
);
$s-attr-color-palettes: (
"ent_type": $ent-type-color-palette
);

View File

@ -1,38 +0,0 @@
$file-setup-pipeline-color-palette: (
"base": #d5dc95,
"darken": #a1b300,
"lighten": #f2f3e1
);
$tesseract-ocr-pipeline-color-palette: (
"base": #a9d8c8,
"darken": #00a58b,
"lighten": #e7f4f1
);
$transkribus-htr-pipeline-color-palette: (
"base": #607d8b,
"darken": #37474f,
"lighten": #cfd8dc
);
$spacy-nlp-pipeline-color-palette: (
"base": #98acd2,
"darken": #0064a3,
"lighten": #e5e8f5
);
$corpus-analysis-color-palette: (
"base": #aa9cc9,
"darken": #6b3f89,
"lighten": #ebe8f6
);
$service-color-palettes: (
"file-setup-pipeline": $file-setup-pipeline-color-palette,
"tesseract-ocr-pipeline": $tesseract-ocr-pipeline-color-palette,
"transkribus-htr-pipeline": $transkribus-htr-pipeline-color-palette,
"spacy-nlp-pipeline": $spacy-nlp-pipeline-color-palette,
"corpus-analysis": $corpus-analysis-color-palette
);

View File

@ -1,7 +0,0 @@
$service-icon-letters: (
"file-setup-pipeline": "E",
"tesseract-ocr-pipeline": "F",
"transkribus-htr-pipeline": "F",
"spacy-nlp-pipeline": "G",
"corpus-analysis": "H"
);

View File

@ -1,22 +0,0 @@
$spacing-shortcuts: (
"margin": "m",
"padding": "p"
);
$spacing-directions: (
"top": "t",
"right": "r",
"bottom": "b",
"left": "l"
);
$spacing-values: (
"0": 0,
"1": 0.25rem,
"2": 0.5rem,
"3": 0.75rem,
"4": 1rem,
"5": 1.5rem,
"6": 3rem,
"auto": auto
);

View File

@ -1,84 +0,0 @@
.primary-color {
background-color: map-get($base-color-palette, "primary") !important;
}
.primary-color-border {
border-color: map-get($base-color-palette, "primary") !important;
}
.primary-color-text {
color: map-get($base-color-palette, "primary") !important;
}
.primary-color.lighten {
background-color: map-get($base-color-palette, "primary-light") !important;
}
.primary-color-border.border-lighten {
border-color: map-get($base-color-palette, "primary-light") !important;
}
.primary-color-text.text-lighten {
color: map-get($base-color-palette, "primary-light") !important;
}
.primary-color.darken {
background-color: map-get($base-color-palette, "primary-dark") !important;
}
.primary-color-border.border-darken {
border-color: map-get($base-color-palette, "primary-dark") !important;
}
.primary-color-text.text-darken {
color: map-get($base-color-palette, "primary-dark") !important;
}
.secondary-color {
background-color: map-get($base-color-palette, "secondary") !important;
}
.secondary-color-border {
border-color: map-get($base-color-palette, "secondary") !important;
}
.secondary-color-text {
color: map-get($base-color-palette, "secondary") !important;
}
.success-color {
background-color: map-get($base-color-palette, "success") !important;
}
.success-color-border {
border-color: map-get($base-color-palette, "success") !important;
}
.success-color-text {
color: map-get($base-color-palette, "success") !important;
}
.error-color {
background-color: map-get($base-color-palette, "error") !important;
}
.error-color-border {
border-color: map-get($base-color-palette, "error") !important;
}
.error-color-text {
color: map-get($base-color-palette, "error") !important;
}
.link-color {
background-color: map-get($base-color-palette, "link") !important;
}
.link-color-border {
border-color: map-get($base-color-palette, "link") !important;
}
.link-color-text {
color: map-get($base-color-palette, "link") !important;
}

View File

@ -1,13 +0,0 @@
@each $corpus-status, $corpus-status-color in $corpus-status-color-palette {
.corpus-status-color[data-corpus-status="#{$corpus-status}"] {
background-color: $corpus-status-color !important;
}
.corpus-status-color-border[data-corpus-status="#{$corpus-status}"] {
border-color: $corpus-status-color !important;
}
.corpus-status-color-text[data-corpus-status="#{$corpus-status}"] {
color: $corpus-status-color !important;
}
}

View File

@ -1,13 +0,0 @@
@each $job-status, $job-status-color in $job-status-color-palette {
.job-status-color[data-job-status="#{$job-status}"] {
background-color: $job-status-color !important;
}
.job-status-color-border[data-job-status="#{$job-status}"] {
border-color: $job-status-color !important;
}
.job-status-color-text[data-job-status="#{$job-status}"] {
color: $job-status-color !important;
}
}

View File

@ -1,4 +0,0 @@
::placeholder {
color: #9e9e9e;
opacity: 1;
}

View File

@ -1,19 +0,0 @@
@each $s-attr, $s-attr-color-palette in $s-attr-color-palettes {
@each $s-attr-value, $s-attr-value-color in $s-attr-color-palette {
.s-attr-color[data-s-attr="#{$s-attr}"][data-s-attr-value="#{$s-attr-value}"] {
background-color: $s-attr-value-color !important;
}
.s-attr-color-text[data-s-attr="#{$s-attr}"][data-s-attr-value="#{$s-attr-value}"] {
background-color: $s-attr-value-color !important;
}
.s-attr-color-border[data-s-attr="#{$s-attr}"][data-s-attr-value="#{$s-attr-value}"] {
background-color: $s-attr-value-color !important;
}
}
}
.s-attr .p-attr {
background-color: inherit;
}

View File

@ -1,40 +0,0 @@
@each $service, $color-palette in $service-color-palettes {
.service-color[data-service="#{$service}"],
[data-service="#{$service}"] .service-color[data-service="inherit"] {
background-color: map-get($color-palette, "base") !important;
&.darken {
background-color: map-get($color-palette, "darken") !important;
}
&.lighten {
background-color: map-get($color-palette, "lighten") !important;
}
}
.service-color-border[data-service="#{$service}"],
[data-service="#{$service}"] .service-color-border[data-service="inherit"] {
border-color: map-get($color-palette, "base") !important;
&.border-darken {
border-color: map-get($color-palette, "darken") !important;
}
&.border-lighten {
border-color: map-get($color-palette, "lighten") !important;
}
}
.service-color-text[data-service="#{$service}"],
[data-service="#{$service}"] .service-color-text[data-service="inherit"] {
color: map-get($color-palette, "base") !important;
&.text-darken {
color: map-get($color-palette, "darken") !important;
}
&.text-lighten {
color: map-get($color-palette, "lighten") !important;
}
}
}

View File

@ -1,6 +0,0 @@
@each $service, $letter in $service-icon-letters {
.nopaque-icons.service-icons[data-service="#{$service}"]:empty::before,
[data-service="#{$service}"] .nopaque-icons.service-icons[data-service="inherit"]:empty::before {
content: "#{$letter}";
}
}

View File

@ -1,27 +0,0 @@
@each $spacing-shortcut-name, $spacing-shortcut-value in $spacing-shortcuts {
@each $spacing-name, $spacing-value in $spacing-values {
// All directions
.#{$spacing-shortcut-value}-#{$spacing-name} {
#{$spacing-shortcut-name}: $spacing-value !important;
}
// Horizontal axis
.#{$spacing-shortcut-value}x-#{$spacing-name} {
#{$spacing-shortcut-name}-left: $spacing-value !important;
#{$spacing-shortcut-name}-right: $spacing-value !important;
}
// Vertical axis
.#{$spacing-shortcut-value}y-#{$spacing-name} {
#{$spacing-shortcut-name}-top: $spacing-value !important;
#{$spacing-shortcut-name}-bottom: $spacing-value !important;
}
// Cardinal directions
@each $spacing-direction-name, $spacing-direction-value in $spacing-directions {
.#{$spacing-shortcut-value}#{$spacing-direction-value}-#{$spacing-name} {
#{$spacing-shortcut-name}-#{$spacing-direction-name}: $spacing-value !important;
}
}
}
}

View File

@ -1,12 +0,0 @@
.corpus-status-text,
.job-status-text {
text-transform: lowercase;
}
.corpus-status-text[data-corpus-status]:empty::before {
content: attr(data-corpus-status);
}
.job-status-text[data-job-status]:empty::before {
content: attr(data-job-status);
}

View File

@ -1,26 +0,0 @@
/*
* Fixed HTML Structure: https://materializecss.com/sidenav.html#variations
* The sidenav-fixed class is used which causes the sidenav to be fixed and open
* on large screens and hides to the regular functionality on smaller screens.
* In order to prevent the sidenav to overlap the content, the content (header, main and footer)
* gets an offset equal to the width of the sidenav.
*/
header, main, footer {
padding-left: 300px;
}
@media only screen and (max-width : 992px) {
header, main, footer {
padding-left: 0;
}
}
.navbar-fixed > nav {
width: calc(100% - 300px);
}
@media only screen and (max-width : 992px) {
.navbar-fixed > nav {
width: 100%;
}
}

View File

@ -1,18 +0,0 @@
/*
* Sticky Footer: https://materializecss.com/footer.html#sticky-footer
* A sticky footer always stays on the bottom of the page regardless of how
* little content is on the page. However, this footer will be pushed down if
* there is a lot of content, so it is different from a fixed footer.
*
* Note: This may cause issues in Internet Explorer which has weak support for
* flexbox.
*/
body {
display: flex;
min-height: 100vh;
flex-direction: column;
}
main {
flex: 1 0 auto;
}

View File

@ -1,27 +0,0 @@
// Abstracts
@import "abstracts/base-color-variables";
@import "abstracts/corpus-status-color-variables";
@import "abstracts/job-status-color-variables";
@import "abstracts/s-attr-color-variables";
@import "abstracts/service-color-variables";
@import "abstracts/service-icon-variables";
@import "abstracts/spacing-variables";
// Components
@import "components/base-colors";
@import "components/corpus-status-color";
@import "components/helpers.scss";
@import "components/job-status-color";
@import "components/placeholder";
@import "components/s-attr-color";
@import "components/service-color";
@import "components/service-icon";
@import "components/spacing";
@import "components/status-spinner";
@import "components/status-text";
// Layout
@import "layout/sticky-footer";
/// Pages
/// Site specific styles are be imported with Jinja in HTML

View File

@ -1 +0,0 @@
@import "analysis/query-builder";

View File

@ -1 +0,0 @@
@import "layout/sidenav-fixed";

View File

@ -6,40 +6,22 @@
<script src="{{ url_for('static', filename='external/socket.io/js/socket.io.min.js') }}"></script>
{% assets
filters='rjsmin',
output='gen/app.%(version)s.js',
output='gen/nopaque.%(version)s.js',
'js/index.js',
'js/app.js',
'js/utils.js'
-%}
<script src="{{ ASSET_URL }}"></script>
{% endassets -%}
'js/utils.js',
{% assets
filters='rjsmin',
output='gen/Forms.%(version)s.js',
'js/forms/index.js',
'js/forms/base-form.js',
'js/forms/create-contribution-form.js',
'js/forms/create-corpus-file-form.js',
'js/forms/create-job-form.js'
-%}
<script src="{{ ASSET_URL }}"></script>
{% endassets -%}
'js/forms/create-job-form.js',
{% assets
filters='rjsmin',
output='gen/resource-displays.%(version)s.js',
'js/resource-displays/index.js',
'js/resource-displays/resource-display.js',
'js/resource-displays/corpus-display.js',
'js/resource-displays/job-display.js'
-%}
<script src="{{ ASSET_URL }}"></script>
{% endassets -%}
'js/resource-displays/job-display.js',
{% assets
filters='rjsmin',
output='gen/resource-lists.%(version)s.js',
'js/resource-lists/index.js',
'js/resource-lists/resource-list.js',
'js/resource-lists/admin-user-list.js',
@ -55,27 +37,15 @@
'js/resource-lists/public-corpus-list.js',
'js/resource-lists/public-user-list.js',
'js/resource-lists/spacy-nlp-pipeline-model-list.js',
'js/resource-lists/tesseract-ocr-pipeline-model-list.js'
-%}
<script src="{{ ASSET_URL }}"></script>
{% endassets -%}
'js/resource-lists/tesseract-ocr-pipeline-model-list.js',
{% assets
filters='rjsmin',
output='gen/requests.%(version)s.js',
'js/requests/index.js',
'js/requests/admin.js',
'js/requests/contributions.js',
'js/requests/corpora.js',
'js/requests/jobs.js',
'js/requests/users.js'
-%}
<script src="{{ ASSET_URL }}"></script>
{% endassets -%}
'js/requests/users.js',
{% assets
filters='rjsmin',
output='gen/corpus-analysis.%(version)s.js',
'js/corpus-analysis/index.js',
'js/corpus-analysis/cqi/index.js',
'js/corpus-analysis/cqi/constants.js',

View File

@ -26,11 +26,11 @@
{# dashboard items #}
<li><div class="divider"></div></li>
<li><a class="subheader">Dashboard</a></li>
<li>
<a class="waves-effect" href="{{ url_for('main.dashboard', _anchor='corpora') }}"><i class="nopaque-icons">I</i>My Corpora</a>
<li {% if request.path == url_for('corpora.corpora') %}class="active"{% endif %}>
<a class="waves-effect" href="{{ url_for('corpora.corpora') }}"><i class="nopaque-icons">I</i>My Corpora</a>
</li>
<li>
<a class="waves-effect" href="{{ url_for('main.dashboard', _anchor='jobs') }}"><i class="nopaque-icons">J</i>My Jobs</a>
<li {% if request.path == url_for('jobs.jobs') %}class="active"{% endif %}>
<a class="waves-effect" href="{{ url_for('jobs.jobs') }}"><i class="nopaque-icons">J</i>My Jobs</a>
</li>
<li>
<a class="waves-effect" href="{{ url_for('main.dashboard', _anchor='contributions') }}"><i class="material-icons">new_label</i>My Contributions</a>

View File

@ -1,26 +1,21 @@
<link href="{{ url_for('static', filename='external/material-design-icons/css/material-icons.css') }}" rel="stylesheet">
{# <link href="{{ url_for('static', filename='external/materialize/css/materialize.min.css') }}" rel="stylesheet"> #}
{% assets
filters='pyscss',
output='gen/nopaque-materialize.%(version)s.css',
'nopaque-materialize.scss'
-%}
<link href="{{ ASSET_URL }}" rel="stylesheet">
{% endassets -%}
{% if current_user.is_authenticated -%}
{% assets
filters='pyscss',
output='gen/sidenav-fixed.%(version)s.css',
'sass/sidenav-fixed.scss'
-%}
<link href="{{ ASSET_URL }}" rel="stylesheet">
{% endassets -%}
{% endif -%}
<link href="{{ url_for('static', filename='nopaque-icons/css/nopaque-icons.css') }}" rel="stylesheet">
{% assets
filters='pyscss',
output='gen/nopaque.%(version)s.css',
'sass/main.scss'
'css/materialize.css',
'css/materialize.override.css',
'css/nopaque-icons.css',
'css/theme-colors.css',
'css/corpus-status-colors.css',
'css/corpus-status-text.css',
'css/job-status-colors.css',
'css/job-status-text.css',
'css/service-colors.css',
'css/pagination.css',
'css/service-icons.css',
'css/s-attr-colors.css',
'css/spacing.css',
'css/status-spinner.css',
'css/utils.css'
-%}
<link href="{{ ASSET_URL }}" rel="stylesheet">
{% endassets -%}

View File

@ -2,6 +2,14 @@
{% set title = 'nopaque' %}
{% endif %}
{% if sidenav_fixed is not defined %}
{% set sidenav_fixed = current_user.is_authenticated %}
{% endif %}
{% if sticky_footer is not defined %}
{% set sticky_footer = true %}
{% endif %}
{% if navbar_fixed is not defined %}
{% set navbar_fixed = true %}
{% endif %}
@ -31,7 +39,7 @@
{% endblock stylesheets %}
{% endblock head %}
</head>
<body {% block body_attribs %}{% endblock body_attribs %}>
<body {% block body_attribs %}data-sidenav-fixed="{{ sidenav_fixed }}" data-sticky-footer="{{ sticky_footer }}"{% endblock body_attribs %}>
{% block body %}
<header {% block header_attribs %}{% endblock header_attribs %}>
{% block header %}
@ -88,11 +96,9 @@
{% endblock footer %}
</footer>
<div id="scripts">
{% block scripts %}
{% include "_base/scripts.html.j2" %}
{% endblock scripts %}
</div>
{% block scripts %}
{% include "_base/scripts.html.j2" %}
{% endblock scripts %}
{% endblock body %}
</body>
{% endblock html %}

View File

@ -10,13 +10,7 @@
{% block stylesheets %}
{{ super() }}
{% assets
filters='pyscss',
output='gen/pages/corpora/analysis.%(version)s.css',
'sass/pages/corpora/analysis.scss'
-%}
<link href="{{ ASSET_URL }}" rel="stylesheet">
{% endassets -%}
<link href="{{ url_for('static', filename='css/pages/corpora/analysis.css') }}" rel="stylesheet">
{% endblock stylesheets %}

View File

@ -0,0 +1,38 @@
{% extends "base.html.j2" %}
{% block page_content %}
<div class="container">
<h1>{{ title }}</h1>
<div class="card">
<div class="card-content">
<div class="corpus-list" data-user-id="{{ current_user.hashid }}"></div>
</div>
<div class="card-action right-align">
<a class="btn waves-effect waves-light" href="{{ url_for('corpora.create_corpus') }}">Create corpus<i class="material-icons right">add</i></a>
</div>
</div>
</div>
{#
<div class="parallax-container">
<div class="parallax">
<img src="{{ url_for('static', filename='images/parallax_lq/01_books_antique_book_old.jpg') }}">
</div>
</div>
<div class="container">
<div style="position: relative; top: -225px;">
<div class="card white">
<div class="card-content">
<div class="corpus-list" data-user-id="{{ current_user.hashid }}"></div>
</div>
<div class="card-action right-align">
<a class="btn waves-effect waves-light" href="{{ url_for('corpora.create_corpus') }}">Create corpus<i class="material-icons right">add</i></a>
</div>
</div>
</div>
</div>
#}
{% endblock page_content %}

View File

@ -4,13 +4,7 @@
{% block stylesheets %}
{{ super() }}
{% assets
filters='pyscss',
output='gen/pages/corpora/corpus.%(version)s.css',
'sass/pages/corpora/corpus.scss'
-%}
<link href="{{ ASSET_URL }}" rel="stylesheet">
{% endassets -%}
<link href="{{ url_for('static', filename='css/pages/corpora/corpus.css') }}" rel="stylesheet">
{% endblock stylesheets %}
@ -21,12 +15,12 @@
<div class="row corpus-display" data-corpus-id="{{ corpus.hashid }}" data-user-id="{{ corpus.user.hashid }}">
<div class="col s12">
<h1>{{ corpus.title }}</h1>
<span class="chip corpus-status corpus-status-color corpus-status-text white-text"></span>
</div>
<div class="col s12 l7">
<div class="card service-color-border border-darken" data-service="corpus-analysis" style="border-top: 10px solid">
<div class="card-content">
<span class="chip corpus-status corpus-status-color corpus-status-text white-text"></span>
<div class="row">
<div class="col s12">
<div class="input-field">

View File

@ -0,0 +1,98 @@
{% extends "base.html.j2" %}
{% block page_content %}
<div class="container">
<h1>{{ title }}</h1>
<div class="card">
<div class="card-content">
<div class="job-list" data-user-id="{{ current_user.hashid }}"></div>
</div>
<div class="card-action right-align">
<a class="btn modal-trigger waves-effect waves-light" data-target="create-job-modal">Create job<i class="material-icons right">add</i></a>
</div>
</div>
<div class="fixed-action-btn">
<a class="btn-floating btn-large">
<i class="large material-icons">add</i>
</a>
<ul>
<li>
<a class="btn-floating service-color darken tooltipped" data-position="left" data-tooltip="File Setup Pipeline" data-service="file-setup-pipeline">
<i class="nopaque-icons service-icons" data-service="file-setup-pipeline"></i>
</a>
</li>
<li>
<a class="btn-floating service-color darken tooltipped" data-position="left" data-tooltip="Tesseract OCR Pipeline" data-service="tesseract-ocr-pipeline">
<i class="nopaque-icons service-icons" data-service="tesseract-ocr-pipeline"></i>
</a>
</li>
{% if config.NOPAQUE_TRANSKRIBUS_ENABLED %}
<li>
<a class="btn-floating service-color darken tooltipped" data-position="left" data-tooltip="Transkribus HTR Pipeline" data-service="transkribus-htr-pipeline">
<i class="nopaque-icons service-icons" data-service="transkribus-htr-pipeline"></i>
</a>
</li>
{% endif %}
<li>
<a class="btn-floating service-color darken tooltipped" data-position="left" data-tooltip="SpaCy NLP Pipeline" data-service="spacy-nlp-pipeline">
<i class="nopaque-icons service-icons" data-service="spacy-nlp-pipeline"></i>
</a>
</li>
</ul>
</div>
</div>
{#
<div class="parallax-container">
<div class="parallax">
<img src="{{ url_for('static', filename='images/parallax_lq/01_books_antique_book_old.jpg') }}">
</div>
</div>
<div class="container">
<div class="fixed-action-btn">
<a class="btn-floating btn-large">
<i class="large material-icons">add</i>
</a>
<ul>
<li>
<a class="btn-floating service-color darken tooltipped" data-position="left" data-tooltip="File Setup Pipeline" data-service="file-setup-pipeline">
<i class="nopaque-icons service-icons" data-service="file-setup-pipeline"></i>
</a>
</li>
<li>
<a class="btn-floating service-color darken tooltipped" data-position="left" data-tooltip="Tesseract OCR Pipeline" data-service="tesseract-ocr-pipeline">
<i class="nopaque-icons service-icons" data-service="tesseract-ocr-pipeline"></i>
</a>
</li>
{% if config.NOPAQUE_TRANSKRIBUS_ENABLED %}
<li>
<a class="btn-floating service-color darken tooltipped" data-position="left" data-tooltip="Transkribus HTR Pipeline" data-service="transkribus-htr-pipeline">
<i class="nopaque-icons service-icons" data-service="transkribus-htr-pipeline"></i>
</a>
</li>
{% endif %}
<li>
<a class="btn-floating service-color darken tooltipped" data-position="left" data-tooltip="SpaCy NLP Pipeline" data-service="spacy-nlp-pipeline">
<i class="nopaque-icons service-icons" data-service="spacy-nlp-pipeline"></i>
</a>
</li>
</ul>
</div>
<div style="position: relative; top: -90px;">
<div class="card">
<div class="card-content">
<div class="job-list" data-user-id="{{ current_user.hashid }}"></div>
</div>
<div class="card-action right-align">
<a class="btn modal-trigger waves-effect waves-light" data-target="create-job-modal">Create job<i class="material-icons right">add</i></a>
</div>
</div>
</div>
</div>
#}
{% endblock page_content %}

View File

@ -9,6 +9,7 @@
<div class="col s12" id="corpora">
<h2>My Corpora</h2>
<p>Hallo <span class="pink-text">Audrey</span></p>
<p>Create a corpus to interactively perform linguistic analysis.</p>
</div>
@ -18,7 +19,6 @@
<div class="corpus-list" data-user-id="{{ current_user.hashid }}"></div>
</div>
<div class="card-action right-align">
<a class="btn disabled waves-effect waves-light" href="{{ url_for('corpora.import_corpus') }}">Import Corpus<i class="material-icons right">import_export</i></a>
<a class="btn waves-effect waves-light" href="{{ url_for('corpora.create_corpus') }}">Create corpus<i class="material-icons right">add</i></a>
</div>
</div>
@ -43,7 +43,7 @@
<div class="job-list" data-user-id="{{ current_user.hashid }}"></div>
</div>
<div class="card-action right-align">
<p><a class="btn modal-trigger waves-effect waves-light" data-target="create-job-modal"><i class="material-icons left">add</i>Create job</a></p>
<p><a class="btn modal-trigger waves-effect waves-light" data-target="create-job-modal">Create job<i class="material-icons right">add</i></a></p>
</div>
</div>
</div>
@ -72,6 +72,7 @@
</div>
</div>
{% if config.NOPAQUE_TRANSKRIBUS_ENABLED %}
<div class="col s4">
<div class="card extension-selector hoverable service-color" data-service="transkribus-htr-pipeline">
<a href="{{ url_for('contributions.transkribus_htr_pipeline_models') }}" style="position: absolute; width: 100%; height: 100%;"></a>
@ -81,6 +82,7 @@
</div>
</div>
</div>
{% endif %}
</div>
</div>
{% endblock page_content %}