flask/flaskr/static/style.css
Neo 50d6984188 Add SimpleMDE to blog edit pages
Integrate SimpleMDE editor into the blog create and update
pages to enhance the user experience with a WYSIWYG markdown
editor. This change includes adding the necessary CSS and JS
links to the templates and applying specific styles for both
light and dark modes in the stylesheet.

The SimpleMDE editor provides a more intuitive interface for
users to write and format their blog posts, addressing the
requirement outlined in the issue description. The changes
ensure that the editor is initialized on the textarea elements
for both creating and updating blog posts.

Related to Issue ID: FLAS-30
2024-09-09 22:03:35 +00:00

251 lines
3.7 KiB
CSS

html {
font-family: 'Roboto', sans-serif;
background: #FEFAE0;
padding: 1rem;
}
body {
max-width: 960px;
margin: 0 auto;
background: white;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
border-radius: 8px;
}
h1, h2, h3, h4, h5, h6 {
font-family: 'Roboto', sans-serif;
color: #377ba8;
margin: 1rem 0;
}
a {
color: #377ba8;
text-decoration: none;
}
hr {
border: none;
border-top: 1px solid #E0E5B6;
}
nav {
background: #CCD5AE;
display: flex;
align-items: center;
padding: 0 0.5rem;
border-radius: 8px;
}
nav h1 {
flex: auto;
margin: 0;
}
nav h1 a {
text-decoration: none;
padding: 0.25rem 0.5rem;
color: #377ba8;
}
nav ul {
display: flex;
list-style: none;
margin: 0;
padding: 0;
align-items: center;
}
nav ul li a, nav ul li span, header .action {
display: block;
padding: 0.5rem;
color: #377ba8;
}
.content {
padding: 0 1rem 1rem;
}
.content > header {
border-bottom: 1px solid #E0E5B6;
display: flex;
align-items: flex-end;
}
.content > header h1 {
flex: auto;
margin: 1rem 0 0.25rem 0;
}
.flash {
margin: 1em 0;
padding: 1em;
background: #FAEDCE;
border: 1px solid #377ba8;
border-radius: 4px;
}
.post > header {
display: flex;
align-items: flex-end;
font-size: 0.85em;
}
.post > header > div:first-of-type {
flex: auto;
}
.post > header h1 {
font-size: 1.5em;
margin-bottom: 0;
}
.post .about {
color: slategray;
font-style: italic;
}
.post .body {
white-space: pre-line;
}
.content:last-child {
margin-bottom: 0;
}
.content form {
margin: 1em 0;
display: flex;
flex-direction: column;
}
.content label {
font-weight: bold;
margin-bottom: 0.5em;
}
.content input, .content textarea {
margin-bottom: 1em;
background: #f5f5f5;
border: 1px solid #ccc;
padding: 0.5em;
border-radius: 4px;
}
.content textarea {
min-height: 12em;
resize: vertical;
}
input.danger {
color: #cc2f2e;
}
input[type=submit] {
align-self: start;
min-width: 10em;
background-color: #377ba8;
color: white;
border: none;
border-radius: 4px;
cursor: pointer;
transition: background-color 0.3s;
}
input[type=submit]:hover {
background-color: #2c5f8a;
}
#theme-toggle {
position: relative;
width: 50px;
height: 25px;
background: #ccc;
border-radius: 25px;
cursor: pointer;
transition: background 0.3s;
display: flex;
align-items: center;
justify-content: center;
}
#theme-toggle:before {
content: '\f186'; /* FontAwesome Unicode for moon */
font-family: 'FontAwesome';
font-weight: 900;
position: absolute;
top: 2px;
left: 2px;
width: 21px;
height: 21px;
border-radius: 50%;
transition: transform 0.3s, content 0.3s;
display: flex;
align-items: center;
justify-content: center;
font-size: 14px;
color: #333;
}
html.dark-mode {
background: #555555;
}
body.dark-mode #theme-toggle {
background: #4d4d4d;
}
body.dark-mode #theme-toggle:before {
transform: translateX(25px);
content: '\f185'; /* FontAwesome Unicode for sun */
color: #e0e0e0;
}
body.dark-mode {
background: #121212;
color: #e0e0e0;
}
body.dark-mode a {
color: #bb86fc;
}
body.dark-mode nav {
background: #333;
}
body.dark-mode .flash {
background: #333;
border-color: #bb86fc;
}
body.dark-mode .post .about {
color: #999;
}
body.dark-mode .content input,
body.dark-mode .content textarea {
background: #333;
color: #e0e0e0;
border: 1px solid #555;
}
/* SimpleMDE specific styles */
.editor-toolbar {
background: #f5f5f5;
border: 1px solid #ccc;
border-radius: 4px 4px 0 0;
}
.CodeMirror {
border: 1px solid #ccc;
border-radius: 0 0 4px 4px;
}
body.dark-mode .editor-toolbar {
background: #333;
border: 1px solid #555;
}
body.dark-mode .CodeMirror {
border: 1px solid #555;
}