code.gitea.io/gitea@v1.21.7/web_src/css/markup/content.css (about)

     1  .markup {
     2    overflow: hidden;
     3    font-size: 16px;
     4    line-height: 1.5 !important;
     5    word-wrap: break-word;
     6  }
     7  
     8  .markup > *:first-child {
     9    margin-top: 0 !important;
    10  }
    11  
    12  .markup > *:last-child {
    13    margin-bottom: 0 !important;
    14  }
    15  
    16  .markup a:not([href]) {
    17    color: inherit;
    18    text-decoration: none;
    19  }
    20  
    21  .markup .absent {
    22    color: var(--color-red);
    23  }
    24  
    25  .markup .anchor {
    26    float: left;
    27    padding-right: 4px;
    28    margin-left: -20px;
    29    color: inherit;
    30  }
    31  
    32  .markup .anchor .svg {
    33    vertical-align: middle;
    34  }
    35  
    36  .markup .anchor:focus {
    37    outline: none;
    38  }
    39  
    40  .markup h1 .anchor {
    41    margin-top: -2px; /* re-align to center */
    42  }
    43  
    44  .markup h1 .anchor .svg,
    45  .markup h2 .anchor .svg,
    46  .markup h3 .anchor .svg,
    47  .markup h4 .anchor .svg,
    48  .markup h5 .anchor .svg,
    49  .markup h6 .anchor .svg {
    50    visibility: hidden;
    51  }
    52  
    53  .markup h1:hover .anchor .svg,
    54  .markup h2:hover .anchor .svg,
    55  .markup h3:hover .anchor .svg,
    56  .markup h4:hover .anchor .svg,
    57  .markup h5:hover .anchor .svg,
    58  .markup h6:hover .anchor .svg {
    59    visibility: visible;
    60  }
    61  
    62  .markup h2 .anchor .svg,
    63  .markup h3 .anchor .svg,
    64  .markup h4 .anchor .svg {
    65    position: relative;
    66    top: -2px;
    67  }
    68  
    69  .markup h1,
    70  .markup h2,
    71  .markup h3,
    72  .markup h4,
    73  .markup h5,
    74  .markup h6 {
    75    margin-top: 24px;
    76    margin-bottom: 16px;
    77    font-weight: var(--font-weight-semibold);
    78    line-height: 1.25;
    79  }
    80  
    81  .markup h1 tt,
    82  .markup h1 code,
    83  .markup h2 tt,
    84  .markup h2 code,
    85  .markup h3 tt,
    86  .markup h3 code,
    87  .markup h4 tt,
    88  .markup h4 code,
    89  .markup h5 tt,
    90  .markup h5 code,
    91  .markup h6 tt,
    92  .markup h6 code {
    93    font-size: inherit;
    94  }
    95  
    96  .markup h1 {
    97    padding-bottom: 0.3em;
    98    font-size: 2em;
    99    border-bottom: 1px solid var(--color-secondary);
   100  }
   101  
   102  .markup h2 {
   103    padding-bottom: 0.3em;
   104    font-size: 1.5em;
   105    border-bottom: 1px solid var(--color-secondary);
   106  }
   107  
   108  .markup h3 {
   109    font-size: 1.25em;
   110  }
   111  
   112  .markup h4 {
   113    font-size: 1em;
   114  }
   115  
   116  .markup h5 {
   117    font-size: 0.875em;
   118  }
   119  
   120  .markup h6 {
   121    font-size: 0.85em;
   122    color: var(--color-text-light-2);
   123  }
   124  
   125  .markup p,
   126  .markup blockquote,
   127  .markup details,
   128  .markup ul,
   129  .markup ol,
   130  .markup dl,
   131  .markup table,
   132  .markup pre {
   133    margin-top: 0;
   134    margin-bottom: 16px;
   135  }
   136  
   137  .markup hr {
   138    height: 4px;
   139    padding: 0;
   140    margin: 16px 0;
   141    background-color: var(--color-secondary);
   142    border: 0;
   143  }
   144  
   145  .markup ul,
   146  .markup ol {
   147    padding-left: 2em;
   148  }
   149  
   150  .markup ul.no-list,
   151  .markup ol.no-list {
   152    padding: 0;
   153    list-style-type: none;
   154  }
   155  
   156  .markup .task-list-item {
   157    list-style-type: none;
   158  }
   159  
   160  .markup .task-list-item p + ul {
   161    margin-top: 16px;
   162  }
   163  
   164  .markup .task-list-item input[type="checkbox"] {
   165    margin: 0 .3em .25em -1.4em;
   166    vertical-align: middle;
   167    padding: 0;
   168  }
   169  
   170  .markup .task-list-item input[type="checkbox"] + p {
   171    margin-left: -0.2em;
   172    display: inline;
   173  }
   174  
   175  .markup .task-list-item > p {
   176    margin-inline: 16px;
   177  }
   178  
   179  .markup .task-list-item + .task-list-item {
   180    margin-top: 4px;
   181  }
   182  
   183  .markup input[type="checkbox"] {
   184    -webkit-appearance: none;
   185    -moz-appearance: none;
   186    appearance: none;
   187    position: relative;
   188    border: 1px solid var(--color-secondary);
   189    border-radius: var(--border-radius);
   190    background: var(--color-input-background);
   191    height: 14px;
   192    width: 14px;
   193    opacity: 1 !important; /* override fomantic on edit preview */
   194    pointer-events: auto !important; /* override fomantic on edit preview */
   195    vertical-align: middle !important; /* override fomantic on edit preview */
   196    -webkit-print-color-adjust: exact;
   197    color-adjust: exact;
   198  }
   199  
   200  .markup input[type="checkbox"]:not([disabled]):hover,
   201  .markup input[type="checkbox"]:not([disabled]):active {
   202    border-color: var(--color-primary);
   203  }
   204  
   205  .markup input[type="checkbox"]::after {
   206    position: absolute;
   207    left: 0;
   208    top: 0;
   209    bottom: 0;
   210    right: 0;
   211    pointer-events: none;
   212    background: var(--color-text);
   213    mask-size: cover;
   214    -webkit-mask-size: cover;
   215  }
   216  
   217  .markup input[type="checkbox"]:checked::after {
   218    content: "";
   219    mask-image: var(--checkbox-mask-checked);
   220    -webkit-mask-image: var(--checkbox-mask-checked);
   221    -webkit-print-color-adjust: exact;
   222    color-adjust: exact;
   223  }
   224  
   225  .markup input[type="checkbox"]:indeterminate::after {
   226    content: "";
   227    mask-image: var(--checkbox-mask-indeterminate);
   228    -webkit-mask-image: var(--checkbox-mask-indeterminate);
   229  }
   230  
   231  .markup ul ul,
   232  .markup ul ol,
   233  .markup ol ol,
   234  .markup ol ul {
   235    margin-top: 0;
   236    margin-bottom: 0;
   237  }
   238  
   239  .markup ol ol,
   240  .markup ul ol {
   241    list-style-type: lower-roman;
   242  }
   243  
   244  .markup li > p {
   245    margin-top: 16px;
   246  }
   247  
   248  .markup li + li {
   249    margin-top: 0.25em;
   250  }
   251  
   252  .markup dl {
   253    padding: 0;
   254  }
   255  
   256  .markup dl dt {
   257    padding: 0;
   258    margin-top: 16px;
   259    font-size: 1em;
   260    font-style: italic;
   261    font-weight: var(--font-weight-semibold);
   262  }
   263  
   264  .markup dl dd {
   265    padding: 0 16px;
   266    margin-bottom: 16px;
   267  }
   268  
   269  .markup blockquote {
   270    margin-left: 0;
   271    padding: 0 15px;
   272    color: var(--color-text-light-2);
   273    border-left: 4px solid var(--color-secondary);
   274  }
   275  
   276  .markup blockquote > :first-child {
   277    margin-top: 0;
   278  }
   279  
   280  .markup blockquote > :last-child {
   281    margin-bottom: 0;
   282  }
   283  
   284  .markup table {
   285    display: block;
   286    width: 100%;
   287    width: max-content;
   288    max-width: 100%;
   289    overflow: auto;
   290  }
   291  
   292  .markup table th {
   293    font-weight: var(--font-weight-semibold);
   294  }
   295  
   296  .markup table th,
   297  .markup table td {
   298    padding: 6px 13px !important;
   299    border: 1px solid var(--color-secondary) !important;
   300  }
   301  
   302  .markup table tr {
   303    border-top: 1px solid var(--color-secondary);
   304  }
   305  
   306  .markup table tr:nth-child(2n) {
   307    background-color: var(--color-markup-table-row);
   308  }
   309  
   310  .markup img,
   311  .markup video {
   312    max-width: 100%;
   313    box-sizing: initial;
   314  }
   315  
   316  /* this background ensures images can break <hr>. We can only do this on
   317     cases where the background is known and not transparent. */
   318  .markup.file-view img,
   319  .markup.file-view video,
   320  .comment-body .markup img, /* regular comment */
   321  .comment-body .markup video,
   322  .comment-content .markup img, /* code comment */
   323  .comment-content .markup video,
   324  .wiki .markup img,
   325  .wiki .markup video {
   326    background: var(--color-box-body);
   327  }
   328  
   329  .markup img[align="right"],
   330  .markup video[align="right"] {
   331    padding-left: 20px;
   332  }
   333  
   334  .markup img[align="left"],
   335  .markup video[align="left"] {
   336    padding-right: 28px;
   337  }
   338  
   339  .markup .emoji {
   340    max-width: none;
   341    vertical-align: text-top;
   342  }
   343  
   344  .markup span.frame {
   345    display: block;
   346    overflow: hidden;
   347  }
   348  
   349  .markup span.frame > span {
   350    display: block;
   351    float: left;
   352    width: auto;
   353    padding: 7px;
   354    margin: 13px 0 0;
   355    overflow: hidden;
   356    border: 1px solid var(--color-secondary);
   357  }
   358  
   359  .markup span.frame span img,
   360  .markup span.frame span video {
   361    display: block;
   362    float: left;
   363  }
   364  
   365  .markup span.frame span span {
   366    display: block;
   367    padding: 5px 0 0;
   368    clear: both;
   369    color: var(--color-text);
   370  }
   371  
   372  .markup span.align-center {
   373    display: block;
   374    overflow: hidden;
   375    clear: both;
   376  }
   377  
   378  .markup span.align-center > span {
   379    display: block;
   380    margin: 13px auto 0;
   381    overflow: hidden;
   382    text-align: center;
   383  }
   384  
   385  .markup span.align-center span img
   386  .markup span.align-center span video {
   387    margin: 0 auto;
   388    text-align: center;
   389  }
   390  
   391  .markup span.align-right {
   392    display: block;
   393    overflow: hidden;
   394    clear: both;
   395  }
   396  
   397  .markup span.align-right > span {
   398    display: block;
   399    margin: 13px 0 0;
   400    overflow: hidden;
   401    text-align: right;
   402  }
   403  
   404  .markup span.align-right span img,
   405  .markup span.align-right span video {
   406    margin: 0;
   407    text-align: right;
   408  }
   409  
   410  .markup span.float-left {
   411    display: block;
   412    float: left;
   413    margin-right: 13px;
   414    overflow: hidden;
   415  }
   416  
   417  .markup span.float-left span {
   418    margin: 13px 0 0;
   419  }
   420  
   421  .markup span.float-right {
   422    display: block;
   423    float: right;
   424    margin-left: 13px;
   425    overflow: hidden;
   426  }
   427  
   428  .markup span.float-right > span {
   429    display: block;
   430    margin: 13px auto 0;
   431    overflow: hidden;
   432    text-align: right;
   433  }
   434  
   435  .markup code,
   436  .markup tt {
   437    padding: 0.2em 0.4em;
   438    margin: 0;
   439    font-size: 85%;
   440    white-space: break-spaces;
   441    background-color: var(--color-markup-code-block);
   442    border-radius: var(--border-radius);
   443  }
   444  
   445  .markup code br,
   446  .markup tt br {
   447    display: none;
   448  }
   449  
   450  .markup del code {
   451    text-decoration: inherit;
   452  }
   453  
   454  .markup pre > code {
   455    padding: 0;
   456    margin: 0;
   457    font-size: 100%;
   458    white-space: pre-wrap;
   459    word-break: break-all;
   460    overflow-wrap: break-word;
   461    background: transparent;
   462    border: 0;
   463  }
   464  
   465  .markup .highlight {
   466    margin-bottom: 16px;
   467  }
   468  
   469  .markup .highlight pre,
   470  .markup pre {
   471    padding: 16px;
   472    font-size: 85%;
   473    line-height: 1.45;
   474    background-color: var(--color-markup-code-block);
   475    border-radius: var(--border-radius);
   476  }
   477  
   478  .markup .highlight pre {
   479    margin-bottom: 0;
   480    word-break: normal;
   481  }
   482  
   483  .markup pre {
   484    word-wrap: normal;
   485  }
   486  
   487  .markup pre code,
   488  .markup pre tt {
   489    display: inline;
   490    padding: 0;
   491    line-height: inherit;
   492    word-wrap: normal;
   493    background-color: transparent;
   494    border: 0;
   495  }
   496  
   497  .markup pre code::before,
   498  .markup pre code::after,
   499  .markup pre tt::before,
   500  .markup pre tt::after {
   501    content: normal;
   502  }
   503  
   504  .markup kbd {
   505    display: inline-block;
   506    padding: 3px 5px;
   507    font-size: 11px;
   508    line-height: 10px;
   509    color: var(--color-text-light);
   510    vertical-align: middle;
   511    background-color: var(--color-markup-code-block);
   512    border: 1px solid var(--color-secondary);
   513    border-radius: var(--border-radius);
   514    box-shadow: inset 0 -1px 0 var(--color-secondary);
   515  }
   516  
   517  .markup .ui.list .list,
   518  .markup ol.ui.list ol,
   519  .markup ul.ui.list ul {
   520    padding-left: 2em;
   521  }
   522  
   523  .file-revisions-btn {
   524    display: block;
   525    float: left;
   526    margin-bottom: 2px !important;
   527    padding: 11px !important;
   528    margin-right: 10px !important;
   529  }
   530  
   531  .file-revisions-btn i {
   532    -webkit-touch-callout: none;
   533    -webkit-user-select: none;
   534    user-select: none;
   535  }
   536  
   537  .markup-render {
   538    display: block;
   539    border: none;
   540    width: 100%;
   541    height: var(--height-loading); /* actual height is set in JS after loading */
   542    overflow: hidden;
   543    color-scheme: normal; /* match the value inside the iframe to allow it to become transparent */
   544  }
   545  
   546  .markup-block-error {
   547    display: block !important; /* override fomantic .ui.form .error.message {display: none} */
   548    border: none !important;
   549    margin-bottom: 0 !important;
   550    border-bottom-left-radius: 0 !important;
   551    border-bottom-right-radius: 0 !important;
   552    box-shadow: none !important;
   553    font-size: 85% !important;
   554    white-space: pre-wrap !important;
   555    padding: 0.5rem 1rem !important;
   556    text-align: left !important;
   557  }
   558  
   559  .markup-block-error + pre {
   560    border-top: none !important;
   561    margin-top: 0 !important;
   562    border-top-left-radius: 0 !important;
   563    border-top-right-radius: 0 !important;
   564  }
   565  
   566  .file-view.markup.orgmode li.unchecked::before {
   567    content: "[ ] ";
   568  }
   569  
   570  .file-view.markup.orgmode li.checked::before {
   571    content: "[x] ";
   572  }
   573  
   574  .file-view.markup.orgmode li.indeterminate::before {
   575    content: "[-] ";
   576  }
   577  
   578  /* This is only needed for <p> because they are literally acting as paragraphs,
   579   * and thus having an ::before on the same line would force the paragraph to
   580   * move to the next line. This can be avoided by an inline-block display that
   581   * avoids that property while still having the other properties of the block
   582   * display. */
   583  .file-view.markup.orgmode li.unchecked > p,
   584  .file-view.markup.orgmode li.checked > p,
   585  .file-view.markup.orgmode li.indeterminate > p {
   586    display: inline-block;
   587  }