Plugin Directory

Changeset 3271774


Ignore:
Timestamp:
04/13/2025 11:23:05 AM (11 months ago)
Author:
matrixaddons
Message:

Update to version 1.2 from GitHub

Location:
document-engine
Files:
8 edited
1 copied

Legend:

Unmodified
Added
Removed
  • document-engine/tags/1.2/assets/admin/css/settings.css

    r2708444 r3271774  
     1/* Document Engine - Modern SaaS Admin Interface */
     2
     3/* Global Reset and Fonts */
     4.document-engine-admin-setting-page-wrap {
     5    --primary-color: #2563eb;
     6    --primary-hover: #1d4ed8;
     7    --primary-light: #dbeafe;
     8    --primary-lightest: #eff6ff;
     9    --success-color: #10b981;
     10    --warning-color: #f59e0b;
     11    --danger-color: #ef4444;
     12    --text-dark: #1f2937;
     13    --text-medium: #4b5563;
     14    --text-light: #9ca3af;
     15    --bg-light: #f9fafb;
     16    --border-color: #e5e7eb;
     17    --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
     18    --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
     19    --radius-sm: 0.25rem;
     20    --radius-md: 0.375rem;
     21    --radius-lg: 0.5rem;
     22    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
     23    color: var(--text-dark);
     24    max-width: 1200px;
     25    margin: 20px auto 0;
     26    background-color: white;
     27    border-radius: var(--radius-lg);
     28    box-shadow: var(--shadow-md);
     29    overflow: hidden;
     30}
     31
     32/* Modern Notice Design */
     33.document-engine-admin-setting-page-wrap .notice,
     34.document-engine-admin-setting-page-wrap div.updated,
     35.document-engine-admin-setting-page-wrap div.error,
     36.document-engine-admin-setting-page-wrap .update-nag,
     37.document-engine-admin-setting-page-wrap #message {
     38    margin: 20px 30px !important;
     39    padding: 14px 20px !important;
     40    border-radius: var(--radius-md) !important;
     41    box-shadow: var(--shadow-sm) !important;
     42    border-left: 0 !important;
     43    border: 1px solid transparent !important;
     44    background-color: white !important;
     45    font-size: 14px !important;
     46}
     47
     48.document-engine-admin-setting-page-wrap div.updated,
     49.document-engine-admin-setting-page-wrap .notice-success,
     50.document-engine-admin-setting-page-wrap #message.updated {
     51    border-color: #d1fae5 !important;
     52    background-color: #ecfdf5 !important;
     53    color: #065f46 !important;
     54}
     55
     56.document-engine-admin-setting-page-wrap div.error,
     57.document-engine-admin-setting-page-wrap .notice-error {
     58    border-color: #fee2e2 !important;
     59    background-color: #fef2f2 !important;
     60    color: #991b1b !important;
     61}
     62
     63.document-engine-admin-setting-page-wrap .notice-warning,
     64.document-engine-admin-setting-page-wrap .update-nag {
     65    border-color: #fef3c7 !important;
     66    background-color: #fffbeb !important;
     67    color: #92400e !important;
     68}
     69
     70.document-engine-admin-setting-page-wrap .notice-info {
     71    border-color: #dbeafe !important;
     72    background-color: #eff6ff !important;
     73    color: #1e40af !important;
     74}
     75
     76.document-engine-admin-setting-page-wrap .notice p,
     77.document-engine-admin-setting-page-wrap div.updated p,
     78.document-engine-admin-setting-page-wrap div.error p,
     79.document-engine-admin-setting-page-wrap #message p {
     80    margin: 0 !important;
     81    padding: 0 !important;
     82    font-size: 14px !important;
     83    line-height: 1.5 !important;
     84}
     85
     86.document-engine-admin-setting-page-wrap .notice strong,
     87.document-engine-admin-setting-page-wrap div.updated strong,
     88.document-engine-admin-setting-page-wrap div.error strong,
     89.document-engine-admin-setting-page-wrap #message strong {
     90    font-weight: 600 !important;
     91}
     92
     93/* Header Section */
     94.document-engine-admin-setting-page-wrap h1 {
     95    margin: 0;
     96    padding: 24px 30px;
     97    font-size: 1.5rem;
     98    font-weight: 600;
     99    color: var(--text-dark);
     100    border-bottom: 1px solid var(--border-color);
     101}
     102
     103/* Navigation Tabs */
     104.document-engine-nav-tab-wrapper {
     105    display: flex;
     106    align-items: center;
     107    background-color: var(--bg-light);
     108    padding: 0 20px;
     109    margin: 0;
     110    border-bottom: 1px solid var(--border-color);
     111    gap: 8px;
     112}
     113
     114.document-engine-nav-tab-wrapper .nav-tab {
     115    background: transparent;
     116    border: none;
     117    color: var(--text-medium);
     118    font-size: 14px;
     119    font-weight: 500;
     120    padding: 16px 20px;
     121    margin: 0;
     122    position: relative;
     123    transition: all 0.2s ease;
     124}
     125
     126.document-engine-nav-tab-wrapper .nav-tab:hover {
     127    color: var(--primary-color);
     128    background-color: rgba(79, 70, 229, 0.05);
     129}
     130
     131.document-engine-nav-tab-wrapper .nav-tab-active {
     132    color: var(--primary-color);
     133    font-weight: 600;
     134}
     135
     136.document-engine-nav-tab-wrapper .nav-tab-active:after {
     137    content: "";
     138    position: absolute;
     139    bottom: 0;
     140    left: 0;
     141    right: 0;
     142    height: 3px;
     143    background-color: var(--primary-color);
     144    border-radius: 3px 3px 0 0;
     145}
     146
     147/* Sub Navigation */
     148.subsubsub {
     149    display: flex;
     150    flex-wrap: wrap;
     151    background-color: white;
     152    padding: 16px 30px;
     153    margin: 0;
     154    gap: 16px;
     155    border-bottom: 1px solid var(--border-color);
     156    list-style: none;
     157}
     158
     159.subsubsub li {
     160    margin: 0;
     161    padding: 0;
     162}
     163
     164.subsubsub a {
     165    color: var(--text-medium);
     166    font-size: 14px;
     167    font-weight: 500;
     168    text-decoration: none;
     169    padding: 6px 12px;
     170    border-radius: var(--radius-sm);
     171    transition: all 0.2s ease;
     172}
     173
     174.subsubsub a:hover {
     175    color: var(--primary-color);
     176    background-color: rgba(79, 70, 229, 0.05);
     177}
     178
     179.subsubsub a.current {
     180    color: var(--primary-color);
     181    background-color: rgba(79, 70, 229, 0.1);
     182    font-weight: 600;
     183}
     184
     185/* Form Layout */
     186.document-engine-admin-setting-page-wrap form {
     187    padding: 0;
     188    margin: 0;
     189}
     190
     191.document-engine-admin-setting-page-wrap table.form-table {
     192    margin: 0;
     193    padding: 20px 30px 30px;
     194    width: 100%;
     195    border-collapse: separate;
     196    border-spacing: 0 15px;
     197}
     198
     199.document-engine-admin-setting-page-wrap h2 {
     200    font-size: 18px;
     201    font-weight: 600;
     202    margin: 30px 30px 0;
     203    padding-bottom: 10px;
     204    color: var(--text-dark);
     205    border-bottom: 1px solid var(--border-color);
     206}
     207
     208.document-engine-admin-setting-page-wrap h2:first-of-type {
     209    margin-top: 20px;
     210}
     211
     212.document-engine-admin-setting-page-wrap table.form-table tr th {
     213    padding: 15px 20px 15px 0;
     214    width: 230px;
     215    font-weight: 500;
     216    color: var(--text-medium);
     217    vertical-align: top;
     218    text-align: left;
     219    font-size: 14px;
     220}
     221
     222.document-engine-admin-setting-page-wrap table.form-table tr td {
     223    padding: 10px 0;
     224    vertical-align: top;
     225}
     226
     227/* Form Fields - Enhanced Visibility */
     228.document-engine-admin-setting-page-wrap input[type="text"],
     229.document-engine-admin-setting-page-wrap input[type="number"],
     230.document-engine-admin-setting-page-wrap input[type="email"],
     231.document-engine-admin-setting-page-wrap input[type="url"],
     232.document-engine-admin-setting-page-wrap input[type="password"],
     233.document-engine-admin-setting-page-wrap select,
     234.document-engine-admin-setting-page-wrap textarea {
     235    min-height: 42px;
     236    padding: 10px 14px;
     237    font-size: 14px;
     238    border: 1px solid #cbd5e1;
     239    border-radius: var(--radius-md);
     240    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
     241    color: var(--text-dark);
     242    background-color: white;
     243    width: 400px;
     244    max-width: 100%;
     245    transition: all 0.2s;
     246    margin: 0;
     247}
     248
     249.document-engine-admin-setting-page-wrap input[type="text"]:focus,
     250.document-engine-admin-setting-page-wrap input[type="number"]:focus,
     251.document-engine-admin-setting-page-wrap input[type="email"]:focus,
     252.document-engine-admin-setting-page-wrap input[type="url"]:focus,
     253.document-engine-admin-setting-page-wrap input[type="password"]:focus,
     254.document-engine-admin-setting-page-wrap select:focus,
     255.document-engine-admin-setting-page-wrap textarea:focus {
     256    border-color: var(--primary-color);
     257    box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.25);
     258    outline: none;
     259}
     260
     261/* Select Fields */
     262.document-engine-admin-setting-page-wrap select {
     263    padding-right: 30px;
     264    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%236b7280' width='18px' height='18px'%3E%3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");
     265    background-position: right 10px center;
     266    background-repeat: no-repeat;
     267    -webkit-appearance: none;
     268    -moz-appearance: none;
     269    appearance: none;
     270}
     271
     272.document-engine-admin-setting-page-wrap textarea {
     273    min-height: 120px;
     274    line-height: 1.5;
     275    vertical-align: top;
     276}
     277
     278/* Number inputs */
     279.document-engine-admin-setting-page-wrap input[type="number"] {
     280    width: 120px;
     281    padding-right: 8px;
     282}
     283
     284/* Improved Checkbox Design */
     285.document-engine-admin-setting-page-wrap input[type="checkbox"] {
     286    position: relative;
     287    width: 20px;
     288    height: 20px;
     289    -webkit-appearance: none;
     290    -moz-appearance: none;
     291    appearance: none;
     292    outline: none;
     293    border: 2px solid #cbd5e1;
     294    border-radius: 4px;
     295    background-color: white;
     296    cursor: pointer;
     297    overflow: hidden;
     298    margin: 0 8px 0 0;
     299    vertical-align: middle;
     300    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
     301}
     302
     303.document-engine-admin-setting-page-wrap input[type="checkbox"]:checked {
     304    background-color: var(--primary-color);
     305    border-color: var(--primary-color);
     306}
     307
     308.document-engine-admin-setting-page-wrap input[type="checkbox"]:checked::after {
     309    content: '';
     310    position: absolute;
     311    left: 6px;
     312    top: 2px;
     313    width: 5px;
     314    height: 10px;
     315    border: solid white;
     316    border-width: 0 2px 2px 0;
     317    transform: rotate(45deg);
     318}
     319
     320.document-engine-admin-setting-page-wrap fieldset {
     321    margin: 0;
     322    padding: 0;
     323    border: none;
     324}
     325
     326.document-engine-admin-setting-page-wrap label {
     327    font-size: 14px;
     328    font-weight: 400;
     329    color: var(--text-dark);
     330    cursor: pointer;
     331    vertical-align: middle;
     332    margin-left: 2px;
     333    line-height: 20px;
     334    display: inline-block;
     335}
     336
     337/* Better spacing for multiple checkboxes */
     338.document-engine-multicheckbox {
     339    display: flex;
     340    flex-wrap: wrap;
     341    gap: 15px 25px;
     342}
     343
     344.document-engine-multicheckbox fieldset {
     345    display: flex;
     346    align-items: center;
     347}
     348
     349/* Field descriptions */
     350.document-engine-admin-setting-page-wrap .description {
     351    display: block;
     352    margin-top: 8px;
     353    font-size: 13px;
     354    color: var(--text-light);
     355    max-width: 700px;
     356    line-height: 1.5;
     357}
     358
     359/* Save Button */
     360.document-engine-admin-setting-page-wrap .submit {
     361    padding: 20px 30px;
     362    margin: 0;
     363    background: var(--bg-light);
     364    border-top: 1px solid var(--border-color);
     365    text-align: right;
     366    clear: both;
     367}
     368
     369.document-engine-save-button {
     370    background-color: var(--primary-color) !important;
     371    border: none !important;
     372    color: white !important;
     373    padding: 12px 28px !important;
     374    font-size: 14px !important;
     375    font-weight: 500 !important;
     376    border-radius: var(--radius-md) !important;
     377    cursor: pointer !important;
     378    transition: all 0.2s !important;
     379    box-shadow: var(--shadow-sm) !important;
     380    height: auto !important;
     381    line-height: 1.5 !important;
     382    text-shadow: none !important;
     383    letter-spacing: 0.3px !important;
     384}
     385
     386.document-engine-save-button:hover {
     387    background-color: var(--primary-hover) !important;
     388    transform: translateY(-1px);
     389    box-shadow: var(--shadow-md) !important;
     390}
     391
     392.document-engine-save-button:active {
     393    transform: translateY(0);
     394}
     395
     396/* Preserve existing functionality classes */
    1397.document-engine-hide {
    2398    display: none !important;
     
    11407}
    12408
    13 textarea#document_engine_pdf_footer_text {
    14     height: 200px;
    15     width: 500px;
    16     padding: 10px;
    17 }
    18 
    19 #document_engine_pdf_custom_css_textarea_wrap {
    20     height: 350px;
     409/* Image Upload Fields - Fixed display */
     410.document-engine-image-field {
     411    margin-bottom: 20px;
     412}
     413
     414.document-engine-image-field .matrixaddons-image-field-wrap {
     415    width: 100%;
    21416    display: block;
    22 }
    23 
    24 .document-engine-multicheckbox {
    25     display: flex;
    26     gap: 20px;
     417    position: relative;
     418}
     419
     420.document-engine-image-field .matrixaddons-image-field-wrap .matrixaddons-image-field-add {
     421    display: flex;
     422    flex-direction: column;
    27423    align-items: center;
    28 }
    29 
    30 .document-engine-multicheckbox input[type="checkbox"] {
    31     margin: 0;
    32     margin-right: 5px;
    33 }
    34 
    35 .document-engine-image-field .matrixaddons-image-field-wrap {
    36     width: 100%;
    37     display: inline-block;
    38 }
    39 
    40 .document-engine-image-field .matrixaddons-image-field-wrap .matrixaddons-image-field-add {
    41 
    42     display: -webkit-box;
    43     display: -ms-flexbox;
    44     display: flex;
    45     -webkit-box-orient: vertical;
    46     -webkit-box-direction: normal;
    47     -ms-flex-direction: column;
    48     flex-direction: column;
    49     -webkit-box-align: center;
    50     -ms-flex-align: center;
    51     align-items: center;
    52     -webkit-box-pack: center;
    53     -ms-flex-pack: center;
    54424    justify-content: center;
    55425    text-decoration: none;
    56     padding: 10px 0px 20px 0px;
    57     background: #FFFFFF;
    58     border: 1px dashed #074771;
    59     border-radius: 4px;
    60     width: 400px;
    61     float: left;
    62     margin-right: 20px;
    63 
    64 }
    65 
     426    padding: 25px;
     427    background: var(--bg-light);
     428    border: 2px dashed var(--border-color);
     429    border-radius: var(--radius-md);
     430    width: 280px;
     431    max-width: 100%;
     432    transition: all 0.2s;
     433    float: none;
     434    margin: 0 0 20px 0;
     435}
     436
     437.document-engine-image-field .matrixaddons-image-field-wrap .matrixaddons-image-field-add:hover {
     438    border-color: var(--primary-color);
     439    background-color: rgba(79, 70, 229, 0.05);
     440}
     441
     442/* Fix image container display */
    66443.document-engine-image-field .matrixaddons-image-field-wrap .image-container {
    67     max-width: 100%;
     444    border-radius: var(--radius-md);
    68445    overflow: hidden;
    69 }
    70 
    71 .document-engine-image-field .matrixaddons-image-field-wrap .image-container {
     446    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
     447    width: 200px;
     448    height: 200px;
    72449    float: left;
    73450    position: relative;
    74451    cursor: pointer;
    75     width: 193px;
    76 }
    77 
    78 .field-container {
    79     width: calc(100% - 193px);
    80     float: right;
    81 }
    82 
    83 .document-engine-image-field .matrixaddons-image-field-wrap .image-container:before {
    84     content: "";
     452    margin-right: 20px;
     453    margin-bottom: 20px;
     454    background-color: #f8fafc;
     455}
     456
     457.document-engine-image-field .matrixaddons-image-field-wrap .image-container img {
    85458    display: block;
    86     padding-top: 100%;
    87 }
    88 
     459    width: 100%;
     460    height: 100%;
     461    object-fit: contain;
     462    border-radius: 4px;
     463}
     464
     465/* Image wrapper and content */
    89466.document-engine-image-field .matrixaddons-image-field-wrap .image-wrapper {
    90467    position: absolute;
     
    101478}
    102479
    103 .document-engine-image-field .matrixaddons-image-field-wrap .image-container img {
    104     display: block;
    105     width: 100%;
    106     height: 100%;
    107 
    108     border-radius: 4px;
    109 }
    110 
     480/* Image overlay with delete button */
    111481.document-engine-image-field .matrixaddons-image-field-wrap .image-container .image-overlay {
    112     -webkit-transition: all .2s ease-in-out;
    113     -o-transition: all .2s ease-in-out;
    114482    transition: all .2s ease-in-out;
    115483    display: none;
    116484    position: absolute;
    117     -webkit-box-align: center;
    118     -ms-flex-align: center;
    119485    align-items: center;
    120     -webkit-box-pack: center;
    121     -ms-flex-pack: center;
    122486    justify-content: center;
    123487    width: 100%;
     
    127491    left: 0;
    128492    border-radius: 4px;
    129     background: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 7, 63, 0.7)), to(rgba(0, 7, 63, 0.7)));
    130     background: -o-linear-gradient(bottom, rgba(0, 7, 63, 0.7), rgba(0, 7, 63, 0.7));
    131493    background: linear-gradient(0deg, rgba(0, 7, 63, 0.7), rgba(0, 7, 63, 0.7));
    132     cursor: -webkit-grab;
    133     cursor: grab;
     494    cursor: pointer;
     495}
     496
     497.document-engine-image-field .matrixaddons-image-field-wrap .image-container:hover .image-overlay {
     498    display: flex;
    134499}
    135500
     
    137502    color: #fff;
    138503    cursor: pointer;
    139     width: 13%;
    140     height: 13%;
    141     min-width: 16px;
    142     min-height: 16px;
    143     background-size: 100%;
    144     background-position: center;
    145     background-repeat: no-repeat;
    146 }
    147 
    148 .document-engine-image-field .matrixaddons-image-field-wrap .image-container:hover .image-overlay {
    149     display: flex;
    150 }
    151 
    152 .document-engine-image-field .matrixaddons-image-field-wrap .matrixaddons-field .matrixaddons-title {
    153     position: relative;
    154     width: 30%;
    155     float: left;
    156 }
    157 
    158 .document-engine-image-field .matrixaddons-image-field-wrap .matrixaddons-field .matrixaddons-fieldset {
    159     float: right;
    160     width: calc(70% - 20px);
    161 }
     504    width: 32px;
     505    height: 32px;
     506    display: flex;
     507    align-items: center;
     508    justify-content: center;
     509    background-color: rgba(255, 255, 255, 0.2);
     510    border-radius: 50%;
     511}
     512
     513.document-engine-image-field .matrixaddons-image-field-wrap .image-container a.document-engine-remove-image:hover {
     514    background-color: rgba(255, 255, 255, 0.3);
     515}
     516
     517/* Keep original editor properties */
     518#document_engine_pdf_custom_css_textarea_wrap {
     519    height: 350px;
     520    display: block;
     521    border: 1px solid var(--border-color);
     522    border-radius: var(--radius-md);
     523    box-shadow: var(--shadow-sm);
     524    margin-top: 10px;
     525    clear: both;
     526}
     527
     528textarea#document_engine_pdf_footer_text {
     529    height: 200px;
     530    width: 500px;
     531    max-width: 100%;
     532    padding: 12px;
     533}
     534
     535/* Clear floats */
     536.clear {
     537    clear: both;
     538    display: block;
     539    height: 0;
     540    width: 100%;
     541}
     542
     543/* Mobile Responsiveness */
     544@media (max-width: 782px) {
     545    .document-engine-admin-setting-page-wrap {
     546        margin: 15px 10px 0;
     547    }
     548   
     549    .document-engine-admin-setting-page-wrap table.form-table tr th {
     550        width: 100%;
     551        display: block;
     552        padding: 15px 0 5px;
     553    }
     554   
     555    .document-engine-admin-setting-page-wrap table.form-table tr td {
     556        width: 100%;
     557        display: block;
     558        padding: 0 0 15px;
     559    }
     560   
     561    .document-engine-admin-setting-page-wrap input[type="text"],
     562    .document-engine-admin-setting-page-wrap input[type="email"],
     563    .document-engine-admin-setting-page-wrap input[type="url"],
     564    .document-engine-admin-setting-page-wrap input[type="password"],
     565    .document-engine-admin-setting-page-wrap select,
     566    .document-engine-admin-setting-page-wrap textarea {
     567        width: 100%;
     568    }
     569   
     570    .document-engine-image-field .matrixaddons-image-field-wrap .matrixaddons-image-field-add {
     571        width: 100%;
     572        margin-right: 0;
     573    }
     574   
     575    .field-container {
     576        width: 100%;
     577        float: none;
     578    }
     579   
     580    .document-engine-image-field .matrixaddons-image-field-wrap .image-container {
     581        float: none;
     582        margin: 0 auto 20px;
     583    }
     584   
     585    .document-engine-nav-tab-wrapper {
     586        flex-wrap: wrap;
     587    }
     588   
     589    .submit {
     590        padding: 15px;
     591    }
     592
     593    .document-engine-multicheckbox {
     594        flex-direction: column;
     595        gap: 10px;
     596    }
     597}
  • document-engine/tags/1.2/changelog.txt

    r3105432 r3271774  
     1= 1.1.1 - 2024-06-21 =
     2- Fixed - PDF icon color grayscale
     3
    14= 1.1 - 2023-12-17 =
    25- Fixed - excerpt not working on archive pages
  • document-engine/tags/1.2/document-engine.php

    r3105432 r3271774  
    66 * Author: MatrixAddons
    77 * Author URI: https://profiles.wordpress.org/matrixaddons
    8  * Version: 1.1.1
     8 * Version: 1.2
    99 * License: GPL2+
    1010 * License URI: https://www.gnu.org/licenses/gpl-2.0.txt
     
    2828// Define DOCUMENT_ENGINE_VERSION.
    2929if (!defined('DOCUMENT_ENGINE_VERSION')) {
    30     define('DOCUMENT_ENGINE_VERSION', '1.1.1');
     30    define('DOCUMENT_ENGINE_VERSION', '1.2');
    3131}
    3232
  • document-engine/tags/1.2/readme.txt

    r3105432 r3271774  
    1 === Document Engine - Download Posts as PDF, PDF Embedder, WordPress to PDF ===
     1=== Document Engine - Download Posts as PDF, PDF Embedder, Posts to PDF ===
    22Contributors: MatrixAddons
    33Tags: wordpress to pdf, pdf maker, generate pdf, create pdf, pdf viewer
    44Requires at least: 5.4
    5 Tested up to: 6.4
     5Tested up to: 6.8
    66Requires PHP: 5.6
    7 Stable tag: 1.1.1
     7Stable tag: 1.2
    88License: GPLv3
    99License URI: https://opensource.org/licenses/GPL-3.0
     
    7878== Changelog ==
    7979
    80 = 1.1.1 - 2024-06-21 =
    81 - Fixed - PDF icon color grayscale
     80= 1.2 - 2025-04-13 =
     81- Fixed - Setting page design
    8282
    8383== Frequently Asked Questions ==
  • document-engine/trunk/assets/admin/css/settings.css

    r2708444 r3271774  
     1/* Document Engine - Modern SaaS Admin Interface */
     2
     3/* Global Reset and Fonts */
     4.document-engine-admin-setting-page-wrap {
     5    --primary-color: #2563eb;
     6    --primary-hover: #1d4ed8;
     7    --primary-light: #dbeafe;
     8    --primary-lightest: #eff6ff;
     9    --success-color: #10b981;
     10    --warning-color: #f59e0b;
     11    --danger-color: #ef4444;
     12    --text-dark: #1f2937;
     13    --text-medium: #4b5563;
     14    --text-light: #9ca3af;
     15    --bg-light: #f9fafb;
     16    --border-color: #e5e7eb;
     17    --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
     18    --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
     19    --radius-sm: 0.25rem;
     20    --radius-md: 0.375rem;
     21    --radius-lg: 0.5rem;
     22    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
     23    color: var(--text-dark);
     24    max-width: 1200px;
     25    margin: 20px auto 0;
     26    background-color: white;
     27    border-radius: var(--radius-lg);
     28    box-shadow: var(--shadow-md);
     29    overflow: hidden;
     30}
     31
     32/* Modern Notice Design */
     33.document-engine-admin-setting-page-wrap .notice,
     34.document-engine-admin-setting-page-wrap div.updated,
     35.document-engine-admin-setting-page-wrap div.error,
     36.document-engine-admin-setting-page-wrap .update-nag,
     37.document-engine-admin-setting-page-wrap #message {
     38    margin: 20px 30px !important;
     39    padding: 14px 20px !important;
     40    border-radius: var(--radius-md) !important;
     41    box-shadow: var(--shadow-sm) !important;
     42    border-left: 0 !important;
     43    border: 1px solid transparent !important;
     44    background-color: white !important;
     45    font-size: 14px !important;
     46}
     47
     48.document-engine-admin-setting-page-wrap div.updated,
     49.document-engine-admin-setting-page-wrap .notice-success,
     50.document-engine-admin-setting-page-wrap #message.updated {
     51    border-color: #d1fae5 !important;
     52    background-color: #ecfdf5 !important;
     53    color: #065f46 !important;
     54}
     55
     56.document-engine-admin-setting-page-wrap div.error,
     57.document-engine-admin-setting-page-wrap .notice-error {
     58    border-color: #fee2e2 !important;
     59    background-color: #fef2f2 !important;
     60    color: #991b1b !important;
     61}
     62
     63.document-engine-admin-setting-page-wrap .notice-warning,
     64.document-engine-admin-setting-page-wrap .update-nag {
     65    border-color: #fef3c7 !important;
     66    background-color: #fffbeb !important;
     67    color: #92400e !important;
     68}
     69
     70.document-engine-admin-setting-page-wrap .notice-info {
     71    border-color: #dbeafe !important;
     72    background-color: #eff6ff !important;
     73    color: #1e40af !important;
     74}
     75
     76.document-engine-admin-setting-page-wrap .notice p,
     77.document-engine-admin-setting-page-wrap div.updated p,
     78.document-engine-admin-setting-page-wrap div.error p,
     79.document-engine-admin-setting-page-wrap #message p {
     80    margin: 0 !important;
     81    padding: 0 !important;
     82    font-size: 14px !important;
     83    line-height: 1.5 !important;
     84}
     85
     86.document-engine-admin-setting-page-wrap .notice strong,
     87.document-engine-admin-setting-page-wrap div.updated strong,
     88.document-engine-admin-setting-page-wrap div.error strong,
     89.document-engine-admin-setting-page-wrap #message strong {
     90    font-weight: 600 !important;
     91}
     92
     93/* Header Section */
     94.document-engine-admin-setting-page-wrap h1 {
     95    margin: 0;
     96    padding: 24px 30px;
     97    font-size: 1.5rem;
     98    font-weight: 600;
     99    color: var(--text-dark);
     100    border-bottom: 1px solid var(--border-color);
     101}
     102
     103/* Navigation Tabs */
     104.document-engine-nav-tab-wrapper {
     105    display: flex;
     106    align-items: center;
     107    background-color: var(--bg-light);
     108    padding: 0 20px;
     109    margin: 0;
     110    border-bottom: 1px solid var(--border-color);
     111    gap: 8px;
     112}
     113
     114.document-engine-nav-tab-wrapper .nav-tab {
     115    background: transparent;
     116    border: none;
     117    color: var(--text-medium);
     118    font-size: 14px;
     119    font-weight: 500;
     120    padding: 16px 20px;
     121    margin: 0;
     122    position: relative;
     123    transition: all 0.2s ease;
     124}
     125
     126.document-engine-nav-tab-wrapper .nav-tab:hover {
     127    color: var(--primary-color);
     128    background-color: rgba(79, 70, 229, 0.05);
     129}
     130
     131.document-engine-nav-tab-wrapper .nav-tab-active {
     132    color: var(--primary-color);
     133    font-weight: 600;
     134}
     135
     136.document-engine-nav-tab-wrapper .nav-tab-active:after {
     137    content: "";
     138    position: absolute;
     139    bottom: 0;
     140    left: 0;
     141    right: 0;
     142    height: 3px;
     143    background-color: var(--primary-color);
     144    border-radius: 3px 3px 0 0;
     145}
     146
     147/* Sub Navigation */
     148.subsubsub {
     149    display: flex;
     150    flex-wrap: wrap;
     151    background-color: white;
     152    padding: 16px 30px;
     153    margin: 0;
     154    gap: 16px;
     155    border-bottom: 1px solid var(--border-color);
     156    list-style: none;
     157}
     158
     159.subsubsub li {
     160    margin: 0;
     161    padding: 0;
     162}
     163
     164.subsubsub a {
     165    color: var(--text-medium);
     166    font-size: 14px;
     167    font-weight: 500;
     168    text-decoration: none;
     169    padding: 6px 12px;
     170    border-radius: var(--radius-sm);
     171    transition: all 0.2s ease;
     172}
     173
     174.subsubsub a:hover {
     175    color: var(--primary-color);
     176    background-color: rgba(79, 70, 229, 0.05);
     177}
     178
     179.subsubsub a.current {
     180    color: var(--primary-color);
     181    background-color: rgba(79, 70, 229, 0.1);
     182    font-weight: 600;
     183}
     184
     185/* Form Layout */
     186.document-engine-admin-setting-page-wrap form {
     187    padding: 0;
     188    margin: 0;
     189}
     190
     191.document-engine-admin-setting-page-wrap table.form-table {
     192    margin: 0;
     193    padding: 20px 30px 30px;
     194    width: 100%;
     195    border-collapse: separate;
     196    border-spacing: 0 15px;
     197}
     198
     199.document-engine-admin-setting-page-wrap h2 {
     200    font-size: 18px;
     201    font-weight: 600;
     202    margin: 30px 30px 0;
     203    padding-bottom: 10px;
     204    color: var(--text-dark);
     205    border-bottom: 1px solid var(--border-color);
     206}
     207
     208.document-engine-admin-setting-page-wrap h2:first-of-type {
     209    margin-top: 20px;
     210}
     211
     212.document-engine-admin-setting-page-wrap table.form-table tr th {
     213    padding: 15px 20px 15px 0;
     214    width: 230px;
     215    font-weight: 500;
     216    color: var(--text-medium);
     217    vertical-align: top;
     218    text-align: left;
     219    font-size: 14px;
     220}
     221
     222.document-engine-admin-setting-page-wrap table.form-table tr td {
     223    padding: 10px 0;
     224    vertical-align: top;
     225}
     226
     227/* Form Fields - Enhanced Visibility */
     228.document-engine-admin-setting-page-wrap input[type="text"],
     229.document-engine-admin-setting-page-wrap input[type="number"],
     230.document-engine-admin-setting-page-wrap input[type="email"],
     231.document-engine-admin-setting-page-wrap input[type="url"],
     232.document-engine-admin-setting-page-wrap input[type="password"],
     233.document-engine-admin-setting-page-wrap select,
     234.document-engine-admin-setting-page-wrap textarea {
     235    min-height: 42px;
     236    padding: 10px 14px;
     237    font-size: 14px;
     238    border: 1px solid #cbd5e1;
     239    border-radius: var(--radius-md);
     240    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
     241    color: var(--text-dark);
     242    background-color: white;
     243    width: 400px;
     244    max-width: 100%;
     245    transition: all 0.2s;
     246    margin: 0;
     247}
     248
     249.document-engine-admin-setting-page-wrap input[type="text"]:focus,
     250.document-engine-admin-setting-page-wrap input[type="number"]:focus,
     251.document-engine-admin-setting-page-wrap input[type="email"]:focus,
     252.document-engine-admin-setting-page-wrap input[type="url"]:focus,
     253.document-engine-admin-setting-page-wrap input[type="password"]:focus,
     254.document-engine-admin-setting-page-wrap select:focus,
     255.document-engine-admin-setting-page-wrap textarea:focus {
     256    border-color: var(--primary-color);
     257    box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.25);
     258    outline: none;
     259}
     260
     261/* Select Fields */
     262.document-engine-admin-setting-page-wrap select {
     263    padding-right: 30px;
     264    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%236b7280' width='18px' height='18px'%3E%3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");
     265    background-position: right 10px center;
     266    background-repeat: no-repeat;
     267    -webkit-appearance: none;
     268    -moz-appearance: none;
     269    appearance: none;
     270}
     271
     272.document-engine-admin-setting-page-wrap textarea {
     273    min-height: 120px;
     274    line-height: 1.5;
     275    vertical-align: top;
     276}
     277
     278/* Number inputs */
     279.document-engine-admin-setting-page-wrap input[type="number"] {
     280    width: 120px;
     281    padding-right: 8px;
     282}
     283
     284/* Improved Checkbox Design */
     285.document-engine-admin-setting-page-wrap input[type="checkbox"] {
     286    position: relative;
     287    width: 20px;
     288    height: 20px;
     289    -webkit-appearance: none;
     290    -moz-appearance: none;
     291    appearance: none;
     292    outline: none;
     293    border: 2px solid #cbd5e1;
     294    border-radius: 4px;
     295    background-color: white;
     296    cursor: pointer;
     297    overflow: hidden;
     298    margin: 0 8px 0 0;
     299    vertical-align: middle;
     300    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
     301}
     302
     303.document-engine-admin-setting-page-wrap input[type="checkbox"]:checked {
     304    background-color: var(--primary-color);
     305    border-color: var(--primary-color);
     306}
     307
     308.document-engine-admin-setting-page-wrap input[type="checkbox"]:checked::after {
     309    content: '';
     310    position: absolute;
     311    left: 6px;
     312    top: 2px;
     313    width: 5px;
     314    height: 10px;
     315    border: solid white;
     316    border-width: 0 2px 2px 0;
     317    transform: rotate(45deg);
     318}
     319
     320.document-engine-admin-setting-page-wrap fieldset {
     321    margin: 0;
     322    padding: 0;
     323    border: none;
     324}
     325
     326.document-engine-admin-setting-page-wrap label {
     327    font-size: 14px;
     328    font-weight: 400;
     329    color: var(--text-dark);
     330    cursor: pointer;
     331    vertical-align: middle;
     332    margin-left: 2px;
     333    line-height: 20px;
     334    display: inline-block;
     335}
     336
     337/* Better spacing for multiple checkboxes */
     338.document-engine-multicheckbox {
     339    display: flex;
     340    flex-wrap: wrap;
     341    gap: 15px 25px;
     342}
     343
     344.document-engine-multicheckbox fieldset {
     345    display: flex;
     346    align-items: center;
     347}
     348
     349/* Field descriptions */
     350.document-engine-admin-setting-page-wrap .description {
     351    display: block;
     352    margin-top: 8px;
     353    font-size: 13px;
     354    color: var(--text-light);
     355    max-width: 700px;
     356    line-height: 1.5;
     357}
     358
     359/* Save Button */
     360.document-engine-admin-setting-page-wrap .submit {
     361    padding: 20px 30px;
     362    margin: 0;
     363    background: var(--bg-light);
     364    border-top: 1px solid var(--border-color);
     365    text-align: right;
     366    clear: both;
     367}
     368
     369.document-engine-save-button {
     370    background-color: var(--primary-color) !important;
     371    border: none !important;
     372    color: white !important;
     373    padding: 12px 28px !important;
     374    font-size: 14px !important;
     375    font-weight: 500 !important;
     376    border-radius: var(--radius-md) !important;
     377    cursor: pointer !important;
     378    transition: all 0.2s !important;
     379    box-shadow: var(--shadow-sm) !important;
     380    height: auto !important;
     381    line-height: 1.5 !important;
     382    text-shadow: none !important;
     383    letter-spacing: 0.3px !important;
     384}
     385
     386.document-engine-save-button:hover {
     387    background-color: var(--primary-hover) !important;
     388    transform: translateY(-1px);
     389    box-shadow: var(--shadow-md) !important;
     390}
     391
     392.document-engine-save-button:active {
     393    transform: translateY(0);
     394}
     395
     396/* Preserve existing functionality classes */
    1397.document-engine-hide {
    2398    display: none !important;
     
    11407}
    12408
    13 textarea#document_engine_pdf_footer_text {
    14     height: 200px;
    15     width: 500px;
    16     padding: 10px;
    17 }
    18 
    19 #document_engine_pdf_custom_css_textarea_wrap {
    20     height: 350px;
     409/* Image Upload Fields - Fixed display */
     410.document-engine-image-field {
     411    margin-bottom: 20px;
     412}
     413
     414.document-engine-image-field .matrixaddons-image-field-wrap {
     415    width: 100%;
    21416    display: block;
    22 }
    23 
    24 .document-engine-multicheckbox {
    25     display: flex;
    26     gap: 20px;
     417    position: relative;
     418}
     419
     420.document-engine-image-field .matrixaddons-image-field-wrap .matrixaddons-image-field-add {
     421    display: flex;
     422    flex-direction: column;
    27423    align-items: center;
    28 }
    29 
    30 .document-engine-multicheckbox input[type="checkbox"] {
    31     margin: 0;
    32     margin-right: 5px;
    33 }
    34 
    35 .document-engine-image-field .matrixaddons-image-field-wrap {
    36     width: 100%;
    37     display: inline-block;
    38 }
    39 
    40 .document-engine-image-field .matrixaddons-image-field-wrap .matrixaddons-image-field-add {
    41 
    42     display: -webkit-box;
    43     display: -ms-flexbox;
    44     display: flex;
    45     -webkit-box-orient: vertical;
    46     -webkit-box-direction: normal;
    47     -ms-flex-direction: column;
    48     flex-direction: column;
    49     -webkit-box-align: center;
    50     -ms-flex-align: center;
    51     align-items: center;
    52     -webkit-box-pack: center;
    53     -ms-flex-pack: center;
    54424    justify-content: center;
    55425    text-decoration: none;
    56     padding: 10px 0px 20px 0px;
    57     background: #FFFFFF;
    58     border: 1px dashed #074771;
    59     border-radius: 4px;
    60     width: 400px;
    61     float: left;
    62     margin-right: 20px;
    63 
    64 }
    65 
     426    padding: 25px;
     427    background: var(--bg-light);
     428    border: 2px dashed var(--border-color);
     429    border-radius: var(--radius-md);
     430    width: 280px;
     431    max-width: 100%;
     432    transition: all 0.2s;
     433    float: none;
     434    margin: 0 0 20px 0;
     435}
     436
     437.document-engine-image-field .matrixaddons-image-field-wrap .matrixaddons-image-field-add:hover {
     438    border-color: var(--primary-color);
     439    background-color: rgba(79, 70, 229, 0.05);
     440}
     441
     442/* Fix image container display */
    66443.document-engine-image-field .matrixaddons-image-field-wrap .image-container {
    67     max-width: 100%;
     444    border-radius: var(--radius-md);
    68445    overflow: hidden;
    69 }
    70 
    71 .document-engine-image-field .matrixaddons-image-field-wrap .image-container {
     446    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
     447    width: 200px;
     448    height: 200px;
    72449    float: left;
    73450    position: relative;
    74451    cursor: pointer;
    75     width: 193px;
    76 }
    77 
    78 .field-container {
    79     width: calc(100% - 193px);
    80     float: right;
    81 }
    82 
    83 .document-engine-image-field .matrixaddons-image-field-wrap .image-container:before {
    84     content: "";
     452    margin-right: 20px;
     453    margin-bottom: 20px;
     454    background-color: #f8fafc;
     455}
     456
     457.document-engine-image-field .matrixaddons-image-field-wrap .image-container img {
    85458    display: block;
    86     padding-top: 100%;
    87 }
    88 
     459    width: 100%;
     460    height: 100%;
     461    object-fit: contain;
     462    border-radius: 4px;
     463}
     464
     465/* Image wrapper and content */
    89466.document-engine-image-field .matrixaddons-image-field-wrap .image-wrapper {
    90467    position: absolute;
     
    101478}
    102479
    103 .document-engine-image-field .matrixaddons-image-field-wrap .image-container img {
    104     display: block;
    105     width: 100%;
    106     height: 100%;
    107 
    108     border-radius: 4px;
    109 }
    110 
     480/* Image overlay with delete button */
    111481.document-engine-image-field .matrixaddons-image-field-wrap .image-container .image-overlay {
    112     -webkit-transition: all .2s ease-in-out;
    113     -o-transition: all .2s ease-in-out;
    114482    transition: all .2s ease-in-out;
    115483    display: none;
    116484    position: absolute;
    117     -webkit-box-align: center;
    118     -ms-flex-align: center;
    119485    align-items: center;
    120     -webkit-box-pack: center;
    121     -ms-flex-pack: center;
    122486    justify-content: center;
    123487    width: 100%;
     
    127491    left: 0;
    128492    border-radius: 4px;
    129     background: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 7, 63, 0.7)), to(rgba(0, 7, 63, 0.7)));
    130     background: -o-linear-gradient(bottom, rgba(0, 7, 63, 0.7), rgba(0, 7, 63, 0.7));
    131493    background: linear-gradient(0deg, rgba(0, 7, 63, 0.7), rgba(0, 7, 63, 0.7));
    132     cursor: -webkit-grab;
    133     cursor: grab;
     494    cursor: pointer;
     495}
     496
     497.document-engine-image-field .matrixaddons-image-field-wrap .image-container:hover .image-overlay {
     498    display: flex;
    134499}
    135500
     
    137502    color: #fff;
    138503    cursor: pointer;
    139     width: 13%;
    140     height: 13%;
    141     min-width: 16px;
    142     min-height: 16px;
    143     background-size: 100%;
    144     background-position: center;
    145     background-repeat: no-repeat;
    146 }
    147 
    148 .document-engine-image-field .matrixaddons-image-field-wrap .image-container:hover .image-overlay {
    149     display: flex;
    150 }
    151 
    152 .document-engine-image-field .matrixaddons-image-field-wrap .matrixaddons-field .matrixaddons-title {
    153     position: relative;
    154     width: 30%;
    155     float: left;
    156 }
    157 
    158 .document-engine-image-field .matrixaddons-image-field-wrap .matrixaddons-field .matrixaddons-fieldset {
    159     float: right;
    160     width: calc(70% - 20px);
    161 }
     504    width: 32px;
     505    height: 32px;
     506    display: flex;
     507    align-items: center;
     508    justify-content: center;
     509    background-color: rgba(255, 255, 255, 0.2);
     510    border-radius: 50%;
     511}
     512
     513.document-engine-image-field .matrixaddons-image-field-wrap .image-container a.document-engine-remove-image:hover {
     514    background-color: rgba(255, 255, 255, 0.3);
     515}
     516
     517/* Keep original editor properties */
     518#document_engine_pdf_custom_css_textarea_wrap {
     519    height: 350px;
     520    display: block;
     521    border: 1px solid var(--border-color);
     522    border-radius: var(--radius-md);
     523    box-shadow: var(--shadow-sm);
     524    margin-top: 10px;
     525    clear: both;
     526}
     527
     528textarea#document_engine_pdf_footer_text {
     529    height: 200px;
     530    width: 500px;
     531    max-width: 100%;
     532    padding: 12px;
     533}
     534
     535/* Clear floats */
     536.clear {
     537    clear: both;
     538    display: block;
     539    height: 0;
     540    width: 100%;
     541}
     542
     543/* Mobile Responsiveness */
     544@media (max-width: 782px) {
     545    .document-engine-admin-setting-page-wrap {
     546        margin: 15px 10px 0;
     547    }
     548   
     549    .document-engine-admin-setting-page-wrap table.form-table tr th {
     550        width: 100%;
     551        display: block;
     552        padding: 15px 0 5px;
     553    }
     554   
     555    .document-engine-admin-setting-page-wrap table.form-table tr td {
     556        width: 100%;
     557        display: block;
     558        padding: 0 0 15px;
     559    }
     560   
     561    .document-engine-admin-setting-page-wrap input[type="text"],
     562    .document-engine-admin-setting-page-wrap input[type="email"],
     563    .document-engine-admin-setting-page-wrap input[type="url"],
     564    .document-engine-admin-setting-page-wrap input[type="password"],
     565    .document-engine-admin-setting-page-wrap select,
     566    .document-engine-admin-setting-page-wrap textarea {
     567        width: 100%;
     568    }
     569   
     570    .document-engine-image-field .matrixaddons-image-field-wrap .matrixaddons-image-field-add {
     571        width: 100%;
     572        margin-right: 0;
     573    }
     574   
     575    .field-container {
     576        width: 100%;
     577        float: none;
     578    }
     579   
     580    .document-engine-image-field .matrixaddons-image-field-wrap .image-container {
     581        float: none;
     582        margin: 0 auto 20px;
     583    }
     584   
     585    .document-engine-nav-tab-wrapper {
     586        flex-wrap: wrap;
     587    }
     588   
     589    .submit {
     590        padding: 15px;
     591    }
     592
     593    .document-engine-multicheckbox {
     594        flex-direction: column;
     595        gap: 10px;
     596    }
     597}
  • document-engine/trunk/changelog.txt

    r3105432 r3271774  
     1= 1.1.1 - 2024-06-21 =
     2- Fixed - PDF icon color grayscale
     3
    14= 1.1 - 2023-12-17 =
    25- Fixed - excerpt not working on archive pages
  • document-engine/trunk/document-engine.php

    r3105432 r3271774  
    66 * Author: MatrixAddons
    77 * Author URI: https://profiles.wordpress.org/matrixaddons
    8  * Version: 1.1.1
     8 * Version: 1.2
    99 * License: GPL2+
    1010 * License URI: https://www.gnu.org/licenses/gpl-2.0.txt
     
    2828// Define DOCUMENT_ENGINE_VERSION.
    2929if (!defined('DOCUMENT_ENGINE_VERSION')) {
    30     define('DOCUMENT_ENGINE_VERSION', '1.1.1');
     30    define('DOCUMENT_ENGINE_VERSION', '1.2');
    3131}
    3232
  • document-engine/trunk/readme.txt

    r3105432 r3271774  
    1 === Document Engine - Download Posts as PDF, PDF Embedder, WordPress to PDF ===
     1=== Document Engine - Download Posts as PDF, PDF Embedder, Posts to PDF ===
    22Contributors: MatrixAddons
    33Tags: wordpress to pdf, pdf maker, generate pdf, create pdf, pdf viewer
    44Requires at least: 5.4
    5 Tested up to: 6.4
     5Tested up to: 6.8
    66Requires PHP: 5.6
    7 Stable tag: 1.1.1
     7Stable tag: 1.2
    88License: GPLv3
    99License URI: https://opensource.org/licenses/GPL-3.0
     
    7878== Changelog ==
    7979
    80 = 1.1.1 - 2024-06-21 =
    81 - Fixed - PDF icon color grayscale
     80= 1.2 - 2025-04-13 =
     81- Fixed - Setting page design
    8282
    8383== Frequently Asked Questions ==
Note: See TracChangeset for help on using the changeset viewer.