From 2895a94ae7eea2ce558b3307cacc2b5c5c54926b Mon Sep 17 00:00:00 2001 From: Laurent Morvillier Date: Thu, 3 Oct 2019 15:29:35 +0200 Subject: [PATCH 01/12] removed pycache from git + updated config for prod --- .gitignore | 5 +++-- .../__pycache__/0001_initial.cpython-37.pyc | Bin 1578 -> 0 bytes .../0002_auto_20190917_1255.cpython-37.pyc | Bin 716 -> 0 bytes .../0003_auto_20190917_1258.cpython-37.pyc | Bin 920 -> 0 bytes .../0004_auto_20190917_1301.cpython-37.pyc | Bin 812 -> 0 bytes .../0005_auto_20190918_0918.cpython-37.pyc | Bin 890 -> 0 bytes .../__pycache__/__init__.cpython-37.pyc | Bin 141 -> 0 bytes pokercc/._settings.py | Bin 0 -> 4096 bytes pokercc/settings.py | 4 ++-- pokercc/urls.py | 2 +- 10 files changed, 6 insertions(+), 5 deletions(-) delete mode 100644 news/migrations/__pycache__/0001_initial.cpython-37.pyc delete mode 100644 news/migrations/__pycache__/0002_auto_20190917_1255.cpython-37.pyc delete mode 100644 news/migrations/__pycache__/0003_auto_20190917_1258.cpython-37.pyc delete mode 100644 news/migrations/__pycache__/0004_auto_20190917_1301.cpython-37.pyc delete mode 100644 news/migrations/__pycache__/0005_auto_20190918_0918.cpython-37.pyc delete mode 100644 news/migrations/__pycache__/__init__.cpython-37.pyc create mode 100644 pokercc/._settings.py diff --git a/.gitignore b/.gitignore index de240f5..e7216ea 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ db.sqlite3 news/__pycache__ pokercc/__pycache__ - - +news/migrations/__pycache__/ +**/.DS_Store +rumble/ diff --git a/news/migrations/__pycache__/0001_initial.cpython-37.pyc b/news/migrations/__pycache__/0001_initial.cpython-37.pyc deleted file mode 100644 index ba6cfaa11d4abe5519b59e9a213748ac8242311e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1578 zcma)6OK;mo5ayB;B}$a6Bu-j8Y3jbAi{zrG21OCak2YwX2DN-4P!N=6L{nKlx}==S zJ+@c#A`cpZp z%O>M7J;fs$zyQXLg!zmq+vH|q`Bq~4w)QPv^PR5@u%Y&=0X4Ly^QOyWp{Wt^pjbdn5^7th8jZ*_IacuY_6H!}=0d8)vVdV6|Dv4Xc2=ERI#cza=LZac5#w!49Ie-j5DEK#gA z$~*r9Ws}>RFzq$w!`EU~I;|?)ROXHK!n>*hU^iO89=x}(NO#R+W9Gqf=6zbT4IgOL zKGdq!6}QOt@4`paHy=y)bk!t7X+O`3QkpTGNb~7Y&z4>|E3;rMFf0*dD;IGRih1w? z=h7`u#37HbPEY=?+mWP+OB z&C-B69ZQsEnNh&jtei=V913X-!${m$OYEGAy>e50S@dzT*!`k!)lrO6Fq@kNvIXl$G^V55Er1&yK$j zPQN=k{#JVHj2H{qI@FtZs!jo+P95nU(B7UXRit}(5sJ!e9}&-CoM7d8Pty`3TuwGm zGJ$cFenb23z%)#wOqwu~4J|mGGo;FnVxWhA z9u3Z^lZpWkXG-h=;N>9CUZ5C{2TJe3%^^0}-{1c{&Bx#nPxBO=Ac9I# z(~MFVd(x{}#%e$FyPU}&3ttl9i{Kj(0kA6i%CbnXIT?h%@qaR)Hg2G8OSNnUo=xg< zY4Wzzs!FsL6a?(-dDz5<{&IgwzNO3mUvoY`LoZEzR#H}S@+~@q`I+qUXG65@40#s2# zV;Ih7lc{XMoVZ(zliVgJ+CaHfui@H;qRQ1$TTfirxMPBf+309GKbjuTjOXxs)5ZBK zzL?M6@zb}*vo|);E4bD6J28(C)44yhbkTrmQkky}j++Yjl&NO#{KD|$4_79Y`#CQMz diff --git a/news/migrations/__pycache__/0003_auto_20190917_1258.cpython-37.pyc b/news/migrations/__pycache__/0003_auto_20190917_1258.cpython-37.pyc deleted file mode 100644 index ef15007084b50e9e3541f61dfff2bca46ccbfd55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 920 zcmZWn&u`N(6n5eyP1APU4e>)9;FL?#4NWkF&`Q^V1RWCFE|HLx)m~}l*u_qV1`;4e_BjhVw_!l_woHR^gj{N-m^7%b~pWm}yFG4Ur{rK|s7e?r(-891kXBVb^42B}= za8x*{<5=J2Zh=!=c&S(IG56EpIieo*zai=~oVUK>v_tCcH7m=xnCaLx zQ8AyXtei`sO;AY6xIUO#Tr)c0?84Na!7!9M6s0b8W=@Kkm;2PEm<4$YDtau;+j)>j zd53lL9`!Fh8eBH0)^!vO|HHHavt~2VsLIf(Gt6+hPP@RMXWEnIx^Q<-un*eY7z_qm zBwLn}Yz;Pd20NP%$>!GfwrNdeQ7}=O0Diuc>L~V%f5J0y1}B%Co3<1L2(ywIx0Epk zF{}VYWCa6=wf^axacb5UnSxAYmGNWOR_>3Q{O7V{N}Dyi(gvhsPuWLRRzcHMjA!<* zO{;nkI*2z+NUA*{CL#oiFF6ChOUV0W#x2tBC|fW=nV8O*R?r;CL_-b*_wCh`?G6*| zOU33h@seGbfaaN)N#oKJ6IS%#aZPJ9JRA-8#>%z$_2Kc+3vzroenTd&_r|Zx`Xmz< zN7C9Vt%>A3oh7dr)w6B1ne zL-GcAF94tKv2?gGtPUufLobV5S!7oI1frF{ieH7{o>v~^I- zXELegqEy-|1czK5r6z7Y46j|B>Ma70*y1F%xizz53Qp#7n^W+z7I(nU+L@OHSqHjV zkGm_%z12FV)x`W8#eLphIVNUi$5(iO3_H4gxTb^LoDx1NePb{fY_Vin3AQ;H?hJN@ z_t|js-UHoAMNvRmX%9Ew33(h+JhIGl-4-Q7B~XF3D}nByR>sPt01Pqcp3WiX+F1xy zeQKMF`mfLo9qmr@q&$;Gx9k|`A{>Pq+GlkF#&p0KCS2x#c9*gD%Op2R&5FYUN)BZ@ z2PG+<)WImPKpvRuq-muN4upjHtb7jV+T&SL&V;u4RQok$?1XOZjV61e{jtQSK=j7w z;2HzorZcp73FC|w0+^>(^`3>_SRo# lzjfgc5cS8#v0Wz(7Z6fUaPlQipomsNsA*|AP%5Oh7fWd6W~NbG+iTWNQF}vh z;F2H0U)n1t{s0F~%-Tr{Ywh#w?9S|av$Nmp`38;R_m_{~ZNvDf7wf^u*rQnu3BUj| zGjcOFb1Sw?y|ywtW^WC!fqgT8p_z8R+HnW0QzPvBq8KBzl%LOMGO6dHsFafnz^po% z>b>>Q_wUiHY63K36O7mbb7saivXrucjZWGH2A!n|&Qg0_@^;DVfeSAB=|<|LLD~Zk z{3ZM6%tmu2xI58@9`u*Q7dDq{X2+Wl5Z8h7-mgg#V^-kjNp6JGf)pTp>!_*YSuEOg}}!0V_KS16~`NEafy@2!ZQ>&1W1wZrMn zc82AR)P3BgS#1%xw!@fd(bu=y|JLgN&}>eIj`CXKL%3+vx0)Z{Ifrc<57&~U&fCP^ Xb8oGuw4vNrZJl51(p8$wz;x}u*AMd{ diff --git a/news/migrations/__pycache__/__init__.cpython-37.pyc b/news/migrations/__pycache__/__init__.cpython-37.pyc deleted file mode 100644 index 652151316cf383d8689c47ddb963f3c35354ffd0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 141 zcmZ?b<>g`k0`3LXu^{>}h=2h`Aj1KOi&=m~3PUi1CZpd$Vqox1Ojhs@R)|o50+1L3ClDJkFz{^v(m+1nBL)UWIUt(=a103v0xD64 z=wMg?WDB5aVFdD_;!?@^xq68O1v#mDIf=z3rNyZ!DTyVi$^pS3J*A(f#)4>Pm6w_z zdK8R?z-S1JhQMeDjE2By2#kinXb6mkz-S1JhQMeDjD`TN5CC;HK^P3=LNYRo6^c@e z^Gl18Qx($ki?S6m^GZ_lN;32F5_57Y6>?J3N)(cE67#ZwePO7sAx)wBAMO Date: Thu, 3 Oct 2019 16:43:09 +0200 Subject: [PATCH 02/12] UI / submission improvements --- news/choices.py | 6 ++--- news/forms.py | 8 +++---- news/static/news/css/app.css | 40 +++++++++++++++++++++------------- news/templates/news/index.html | 2 +- news/views.py | 8 ++++--- 5 files changed, 37 insertions(+), 27 deletions(-) diff --git a/news/choices.py b/news/choices.py index 74ac3e2..939064d 100644 --- a/news/choices.py +++ b/news/choices.py @@ -1,5 +1,5 @@ STYLE_CHOICES = ( - (0, "Standard"), - (1, "Quote"), - (2, "Image Only") + (0, "Standard [Title + URL + Image]"), + (1, "Quote [Title]"), + (2, "Image Only [Image]") ) diff --git a/news/forms.py b/news/forms.py index 652e213..3874a87 100644 --- a/news/forms.py +++ b/news/forms.py @@ -11,17 +11,15 @@ class PostForm(forms.Form): style = forms.ChoiceField(label='Style',choices=STYLE_CHOICES, required=True) title = forms.CharField(label='Title', max_length=200, required=False) - body = forms.CharField(label='Optional text', max_length=10000, required=False) - url = forms.CharField(label='URL', max_length=200, required=False) - # date = forms.DateTimeField('date published') - # state = forms.IntegerField(label='State', default=1) + + body = forms.CharField(label='Optional body', max_length=10000, required=False) today = datetime.today() # + datetime.timedelta(days=1) today_formatted = today.strftime("%Y-%m-%d %H:%M:%S") + image = forms.FileField(required=False) pub_date = forms.DateTimeField(label='Optional publication date, example: ' + today_formatted, required=False) - image = forms.FileField() class SigninForm(forms.Form): username = forms.CharField(label='Enter Username', min_length=4, max_length=150) diff --git a/news/static/news/css/app.css b/news/static/news/css/app.css index e68f179..f7f6ad6 100644 --- a/news/static/news/css/app.css +++ b/news/static/news/css/app.css @@ -152,18 +152,6 @@ a h1 { } } -.inside_image_top { - position: absolute; - top: 12px; - left: 12px; -} - -.inside_image_bottom { - position: absolute; - bottom: 12px; - left: 12px; -} - .details { font-size: 14px; color: #999; @@ -197,12 +185,34 @@ a h1 { } @media print, screen and (min-width: 40em) { .imgcontainer { - width: 500px; + width: 600px; border-bottom: 10px solid #111; border-top: 10px solid #111; } } +.imgcontainer h1 { + padding: 0px 8px; + line-height: 120%; +} + +.imgcontainer h1 span { + background-color: #111111; +} + +.inside_image_top { + position: absolute; + top: 0px; + left: 12px; + right: 12px; +} + +.inside_image_bottom { + position: absolute; + bottom: 12px; + left: 12px; +} + .post { padding: 10px 0px; margin-bottom: 10px; @@ -293,7 +303,7 @@ input[type=email] { input[type=file] { font-size: 14px; padding:10px 15px; - background:#e8e8e8; + background:#555; border:0 none; cursor:pointer; -webkit-border-radius: 8px; @@ -303,7 +313,7 @@ input[type=file] { input[type=file]:hover { font-size: 14px; padding:10px 15px; - background:#fcf; + background:#777; border:0 none; cursor:pointer; -webkit-border-radius: 8px; diff --git a/news/templates/news/index.html b/news/templates/news/index.html index 747f42f..7e2dbbe 100644 --- a/news/templates/news/index.html +++ b/news/templates/news/index.html @@ -30,7 +30,7 @@
{% if post.url %}{% endif %} -

{{ post.title }}

+

{{ post.title }}

{% if post.url %}
{% endif %} {% if post.body %} diff --git a/news/views.py b/news/views.py index 809cd41..4b0f68e 100644 --- a/news/views.py +++ b/news/views.py @@ -106,10 +106,12 @@ def submission(request): post.url = form.cleaned_data['url'] post.style = form.cleaned_data['style'] - filename = str(uuid.uuid4()) - handle_uploaded_file(filename, request.FILES['image']) + file = request.FILES.get('image', None) + if file is not None: + filename = str(uuid.uuid4()) + handle_uploaded_file(filename, file) + post.image_url = filename - post.image_url = filename if request.user.is_staff: post.state = PostState.PUBLISHED.value pub_date = form.cleaned_data['pub_date'] From 4a196fadd380ff82197dc69870cba8b4c7e98c88 Mon Sep 17 00:00:00 2001 From: Laurent Morvillier Date: Thu, 3 Oct 2019 17:49:45 +0200 Subject: [PATCH 03/12] bug fix on comments + UI improvements --- news/choices.py | 3 ++- news/models.py | 22 +++++++++++----------- news/static/news/css/app.css | 23 +++++++++++++++++++++++ news/templates/news/index.html | 19 ++++++++----------- 4 files changed, 44 insertions(+), 23 deletions(-) diff --git a/news/choices.py b/news/choices.py index 939064d..92fc064 100644 --- a/news/choices.py +++ b/news/choices.py @@ -1,5 +1,6 @@ STYLE_CHOICES = ( (0, "Standard [Title + URL + Image]"), (1, "Quote [Title]"), - (2, "Image Only [Image]") + (2, "Image Only [Image]"), + (3, "Youtube [Put video id in URL]") ) diff --git a/news/models.py b/news/models.py index 2300b0b..df6ab82 100644 --- a/news/models.py +++ b/news/models.py @@ -2,6 +2,7 @@ from django.db import models from django.contrib.auth.models import User from django.conf import settings from enum import Enum +from django.db.models import Q # Create your models here. class PostState(Enum): @@ -19,26 +20,25 @@ class Post(models.Model): state = models.IntegerField(default=0) style = models.IntegerField(default=0) image_url = models.CharField(max_length=100) + def __str__(self): - return self.title + string = self.title + if self.style == 2: + string = "some image" + elif self.style == 3: + string = "Youtube: " + self.title + return string def top_comments(self): return self.comment_set.order_by('-voters').all()[:1] def flat_comments(self, user): flat = [] - for comment in self.comment_set.all(): - # flat.append(comment) - flat.extend(comment.flat_children(0, user)) + for comment in self.comment_set.filter(Q(parent_comment=None)).all(): + children = comment.flat_children(0, user) + flat.extend(children) return flat - def is_youtube_video(self): - return "youtube.com" in self.url - - # return self.comment_set.annotate(ratings_num=count('voters')).order_by('-ratings_num')[:5] - # return self.comment_set.order_by('voters_num').all()[:5] - - class Comment(models.Model): author = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, null=True) post = models.ForeignKey(Post, on_delete=models.CASCADE) diff --git a/news/static/news/css/app.css b/news/static/news/css/app.css index f7f6ad6..78986aa 100644 --- a/news/static/news/css/app.css +++ b/news/static/news/css/app.css @@ -349,3 +349,26 @@ form .secondary_button { .reply_form { margin-top: 8px; } + +.youtube { + width: 95vw; + height: 60vw; +} +/* @media print, screen and (min-width: 40em) { + .youtube { + width: 90vw; + height: 60vw; + } +} */ +@media print, screen and (min-width: 50em) { + .youtube { + width: 60vw; + height: 35vw; + } +} +@media print, screen and (min-width: 70em) { + .youtube { + width: 45vw; + height: 25vw; + } +} diff --git a/news/templates/news/index.html b/news/templates/news/index.html index 7e2dbbe..caee1d8 100644 --- a/news/templates/news/index.html +++ b/news/templates/news/index.html @@ -20,12 +20,6 @@ {% if post.style == 0 %} - {% if post.is_youtube_video %} - -

{{ post.title }}

-
- - {% else %}
@@ -40,7 +34,6 @@ {% endif %}
- {% endif %}
{% if post.comment_set.count > 0 %}{{ post.comment_set.count }} comment{% if post.comment_set.count > 1 %}s{% endif %}{% else %}write comment{% endif %} @@ -77,13 +70,9 @@ {% elif post.style == 2 %} - {% if post.is_youtube_video %} - - {% else %}
- {% endif %}
@@ -97,6 +86,14 @@
+ {% elif post.style == 3 %} + + +

{{ post.title }}

+
+ + + {% endif %} From f60444c231488bdc7cc8228b829272b8795399c0 Mon Sep 17 00:00:00 2001 From: Laurent Morvillier Date: Tue, 8 Oct 2019 16:26:31 +0200 Subject: [PATCH 04/12] various fixes and improvements --- news/models.py | 2 +- news/static/news/css/app.css | 8 ++-- news/templates/base.html | 2 +- news/templates/news/post.html | 27 ++++++++--- .../news/user/password_reset_confirm.html | 45 +++++++++++++------ .../news/user/password_reset_html_email.html | 3 +- .../news/user/password_reset_subject.txt | 1 + news/urls.py | 7 +-- pokercc/settings.py | 9 +++- 9 files changed, 72 insertions(+), 32 deletions(-) create mode 100644 news/templates/news/user/password_reset_subject.txt diff --git a/news/models.py b/news/models.py index df6ab82..52e4525 100644 --- a/news/models.py +++ b/news/models.py @@ -30,7 +30,7 @@ class Post(models.Model): return string def top_comments(self): - return self.comment_set.order_by('-voters').all()[:1] + return self.comment_set.filter(Q(parent_comment=None)).order_by('-voters').all()[:1] def flat_comments(self, user): flat = [] diff --git a/news/static/news/css/app.css b/news/static/news/css/app.css index 78986aa..b0655d2 100644 --- a/news/static/news/css/app.css +++ b/news/static/news/css/app.css @@ -180,14 +180,14 @@ a h1 { .imgcontainer { position: relative; color: white; - border-bottom: 10px solid #111; - border-top: 10px solid #111; + /* border-bottom: 0px solid #111; */ + border-top: 20px solid #111; } @media print, screen and (min-width: 40em) { .imgcontainer { width: 600px; - border-bottom: 10px solid #111; - border-top: 10px solid #111; + /* border-bottom: 10px solid #111; */ + border-top: 20px solid #111; } } diff --git a/news/templates/base.html b/news/templates/base.html index a761eb5..49a5f9f 100644 --- a/news/templates/base.html +++ b/news/templates/base.html @@ -61,7 +61,7 @@
Contact -

Copyright © 2019 Stax River

+

Copyright © 2019 Poker Rumble

diff --git a/news/templates/news/post.html b/news/templates/news/post.html index ea06802..4739df5 100644 --- a/news/templates/news/post.html +++ b/news/templates/news/post.html @@ -36,14 +36,20 @@ {% endif %}
-
- {% csrf_token %} -

Add comment

+ {% if user.is_authenticated %} + + {% csrf_token %} +

Add comment

+

+ +

+ +
+ {% else %}

- + Please login to comment the post

- - + {% endif %} + @@ -61,6 +77,8 @@ diff --git a/news/templates/news/index.html b/news/templates/news/index.html index caee1d8..4a88248 100644 --- a/news/templates/news/index.html +++ b/news/templates/news/index.html @@ -2,7 +2,7 @@ {% load static %} -{% block title %}My amazing blog{% endblock %} +{% block title %}Poker Rumble - {% endblock %} {% block content %} {% if latest_post_list %} @@ -95,6 +95,11 @@ {% endif %} + + + diff --git a/news/templates/news/static/about.html b/news/templates/news/static/about.html new file mode 100644 index 0000000..f75243b --- /dev/null +++ b/news/templates/news/static/about.html @@ -0,0 +1,14 @@ +{% extends "base.html" %} + +{% block title %}About - Poker Rumble{% endblock %} + +{% block content %} + +

About

+ +

+ This site is owned by Stax River. + It is hosted by ALWAYSDATA, 91 rue du Faubourg Saint-Honoré, 75008 Paris (phone: +33 1 84 16 23 40). +

+ +{% endblock content %} diff --git a/news/templates/news/static/contact.html b/news/templates/news/static/contact.html index 5d5acce..5bf2e81 100644 --- a/news/templates/news/static/contact.html +++ b/news/templates/news/static/contact.html @@ -1,13 +1,13 @@ {% extends "base.html" %} -{% block title %}Contact{% endblock %} +{% block title %}Contact - Poker Rumble{% endblock %} {% block content %}

Contact

- Please contact us directly on social media! + Please contact us directly on social media, @pokerrumble on twitter and instagram!

{% endblock content %} diff --git a/news/templates/news/user/password_reset_html_email.html b/news/templates/news/user/password_reset_html_email.html index 234bfef..f6bcfad 100644 --- a/news/templates/news/user/password_reset_html_email.html +++ b/news/templates/news/user/password_reset_html_email.html @@ -1,3 +1,3 @@ -Someone asked for password reset for email {{ email }}. -Follow the link below: +Someone asked for a password reset for email {{ email }}. +Please follow the link below: {{ protocol}}://{{ domain }}{% url 'news:password_reset_confirm' uidb64=uid token=token %} diff --git a/news/urls.py b/news/urls.py index f8f4936..48f2a90 100644 --- a/news/urls.py +++ b/news/urls.py @@ -8,6 +8,7 @@ app_name = 'news' urlpatterns = [ # Static path('contact', TemplateView.as_view(template_name='news/static/contact.html'), name='contact'), + path('about', TemplateView.as_view(template_name='news/static/about.html'), name='about'), # Posts path('', views.index, name='index'), path('', views.post, name='post'), diff --git a/news/views.py b/news/views.py index 4b0f68e..1384a91 100644 --- a/news/views.py +++ b/news/views.py @@ -11,7 +11,7 @@ from django.contrib.auth.decorators import login_required from django.contrib.auth.forms import PasswordChangeForm from django.db.models import Q from django.utils.html import strip_tags -from .models import Post, Comment, PostState +from .models import Post, Comment, PostState, Tag from .forms import PostForm, CustomUserCreationForm, SigninForm from datetime import datetime import logging @@ -106,6 +106,9 @@ def submission(request): post.url = form.cleaned_data['url'] post.style = form.cleaned_data['style'] + tags = parsed_tags(form.cleaned_data['tags']) + post.tag_set.add(*tags) + file = request.FILES.get('image', None) if file is not None: filename = str(uuid.uuid4()) @@ -128,6 +131,15 @@ def submission(request): return render(request, 'news/submission.html', {'form': form}) +def parsed_tags(tag_strings): + tags = [] + separated_tags_strings = tag_strings.split(",") + for tag_string in separated_tags_strings: + tag, created = Tag.objects.get_or_create(name=tag_string.strip()) + tag.save() + tags.append(tag) + return tags + def handle_uploaded_file(filename, f): with open(settings.MEDIA_ROOT + filename, 'wb+') as destination: for chunk in f.chunks(): @@ -144,7 +156,7 @@ def comment_with_parent(request, post_id, comment_id): comment.post = get_object_or_404(Post, pk=post_id) if comment_id is not None: comment.parent_comment = get_object_or_404(Comment, pk=comment_id) - comment.body = strip_tags(request.POST['body']) + comment.body = strip_tags(request.POST['body']) # removes HTML tags comment.save() comment.voters.add(request.user) comment.save() From 55252e5575c891624975f075193b16511ad54cca Mon Sep 17 00:00:00 2001 From: Laurent Morvillier Date: Wed, 9 Oct 2019 15:51:08 +0200 Subject: [PATCH 06/12] Adds comments to youtube videos --- news/models.py | 5 +++++ news/templates/news/index.html | 20 +++++++++++++++----- news/templates/news/post.html | 6 ++++-- 3 files changed, 24 insertions(+), 7 deletions(-) diff --git a/news/models.py b/news/models.py index 9020bb0..d939ba1 100644 --- a/news/models.py +++ b/news/models.py @@ -43,6 +43,11 @@ class Post(models.Model): tag_names = map(lambda t: t.name, self.tag_set.all()) return ", ".join(tag_names) + def html_title(self): + if self.title: + return title + return 'Poker Rumble - Amazing content' + class Comment(models.Model): author = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, null=True) post = models.ForeignKey(Post, on_delete=models.CASCADE) diff --git a/news/templates/news/index.html b/news/templates/news/index.html index 4a88248..c2dd151 100644 --- a/news/templates/news/index.html +++ b/news/templates/news/index.html @@ -2,22 +2,20 @@ {% load static %} -{% block title %}Poker Rumble - {% endblock %} +{% block title %}Poker Rumble - Your source of great poker content{% endblock %} {% block content %} {% if latest_post_list %} - {% for post in latest_post_list %} - - + {% for post in latest_post_list %} +
{{ post.date }} - {{ post.author.username }}
- {% if post.style == 0 %}
@@ -94,6 +92,18 @@ +
+ + +
+ {% for comment in post.top_comments %} + {{ comment.body }} - {{ comment.author.username }}
+ {% endfor %} +
+
+ {% endif %} {% extends 'base.html' %} -{% block title %}Email Sent{% endblock %} +{% block title %}Email Sent - Poker Rumble{% endblock %} {% block content %}

Check your inbox.

diff --git a/news/templates/news/user/password_reset_form.html b/news/templates/news/user/password_reset_form.html index 03a9232..e14388a 100644 --- a/news/templates/news/user/password_reset_form.html +++ b/news/templates/news/user/password_reset_form.html @@ -1,7 +1,7 @@ {% extends 'base.html' %} -{% block title %}Forgot Your Password?{% endblock %} +{% block title %}Forgot Your Password? - Poker Rumble{% endblock %} {% block content %}

Forgot your password?

diff --git a/news/templates/news/user/signin.html b/news/templates/news/user/signin.html index 0136853..dee8f83 100644 --- a/news/templates/news/user/signin.html +++ b/news/templates/news/user/signin.html @@ -1,7 +1,7 @@ {% extends "base.html" %} {% block title %} - Sign-in + Sign-in - Poker Rumble {% endblock %} {% block content %} From 9643962883f6273e11eafbdf3c1d56d7188d56a8 Mon Sep 17 00:00:00 2001 From: Laurent Morvillier Date: Wed, 9 Oct 2019 17:11:26 +0200 Subject: [PATCH 08/12] Fixes titles --- news/templates/news/user/register.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/news/templates/news/user/register.html b/news/templates/news/user/register.html index 8e4f185..e96ec0e 100644 --- a/news/templates/news/user/register.html +++ b/news/templates/news/user/register.html @@ -1,7 +1,7 @@ {% extends "base.html" %} {% block title %} - Create User + Create User - Poker Rumble {% endblock %} {% block content %} From d576fd969388f7593eed71ebd6c4055ddee8ebde Mon Sep 17 00:00:00 2001 From: Laurent Morvillier Date: Thu, 10 Oct 2019 11:47:38 +0200 Subject: [PATCH 09/12] Added slug to post urls --- news/forms.py | 2 +- news/migrations/0008_auto_20191010_0909.py | 23 ++++++++++++++++++++++ news/migrations/0009_auto_20191010_0910.py | 18 +++++++++++++++++ news/migrations/0010_auto_20191010_0945.py | 18 +++++++++++++++++ news/models.py | 17 ++++++++++++++-- news/static/news/css/app.css | 11 ++++------- news/templates/news/index.html | 8 ++++---- news/urls.py | 3 ++- news/views.py | 5 ++++- 9 files changed, 89 insertions(+), 16 deletions(-) create mode 100644 news/migrations/0008_auto_20191010_0909.py create mode 100644 news/migrations/0009_auto_20191010_0910.py create mode 100644 news/migrations/0010_auto_20191010_0945.py diff --git a/news/forms.py b/news/forms.py index 6de3f19..386bdc7 100644 --- a/news/forms.py +++ b/news/forms.py @@ -10,7 +10,7 @@ from datetime import datetime, date, time, timedelta class PostForm(forms.Form): style = forms.ChoiceField(label='Style',choices=STYLE_CHOICES, required=True) - title = forms.CharField(label='Title', max_length=200, required=False) + title = forms.CharField(label='Title (required for slug/SEO)', max_length=200, required=True) url = forms.CharField(label='URL', max_length=200, required=False) body = forms.CharField(label='Optional body', max_length=10000, required=False) diff --git a/news/migrations/0008_auto_20191010_0909.py b/news/migrations/0008_auto_20191010_0909.py new file mode 100644 index 0000000..6fce27c --- /dev/null +++ b/news/migrations/0008_auto_20191010_0909.py @@ -0,0 +1,23 @@ +# Generated by Django 2.2.6 on 2019-10-10 09:09 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('news', '0007_auto_20191009_1009'), + ] + + operations = [ + migrations.AddField( + model_name='post', + name='slug', + field=models.SlugField(default='', unique=True), + ), + migrations.AlterField( + model_name='tag', + name='post', + field=models.ManyToManyField(blank=True, to='news.Post'), + ), + ] diff --git a/news/migrations/0009_auto_20191010_0910.py b/news/migrations/0009_auto_20191010_0910.py new file mode 100644 index 0000000..ad315f8 --- /dev/null +++ b/news/migrations/0009_auto_20191010_0910.py @@ -0,0 +1,18 @@ +# Generated by Django 2.2.6 on 2019-10-10 09:10 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('news', '0008_auto_20191010_0909'), + ] + + operations = [ + migrations.AlterField( + model_name='post', + name='slug', + field=models.SlugField(default=''), + ), + ] diff --git a/news/migrations/0010_auto_20191010_0945.py b/news/migrations/0010_auto_20191010_0945.py new file mode 100644 index 0000000..5cbb56e --- /dev/null +++ b/news/migrations/0010_auto_20191010_0945.py @@ -0,0 +1,18 @@ +# Generated by Django 2.2.6 on 2019-10-10 09:45 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('news', '0009_auto_20191010_0910'), + ] + + operations = [ + migrations.AlterField( + model_name='post', + name='slug', + field=models.SlugField(default='', max_length=200), + ), + ] diff --git a/news/models.py b/news/models.py index 80b7ef8..e5288df 100644 --- a/news/models.py +++ b/news/models.py @@ -1,8 +1,9 @@ from django.db import models from django.contrib.auth.models import User from django.conf import settings -from enum import Enum from django.db.models import Q +from django.utils.text import slugify +from enum import Enum # Create your models here. class PostState(Enum): @@ -20,6 +21,11 @@ class Post(models.Model): state = models.IntegerField(default=0) style = models.IntegerField(default=0) image_url = models.CharField(max_length=100) + slug = models.SlugField(default='', max_length=200) + + def save(self, *args, **kwargs): + self.slug = slugify(self.title) + super(Post, self).save(*args, **kwargs) def __str__(self): string = self.title @@ -29,6 +35,13 @@ class Post(models.Model): string = "Youtube: " + self.title return string + def get_absolute_url(self): + kwargs = { + 'pk': self.id, + 'slug': self.slug + } + return reverse('post_detail', kwargs=kwargs) + def top_comments(self): return self.comment_set.filter(Q(parent_comment=None)).order_by('-voters').all()[:1] @@ -45,7 +58,7 @@ class Post(models.Model): def html_title(self): if self.title: - return title + return self.title return 'Poker Rumble - Amazing content' class Comment(models.Model): diff --git a/news/static/news/css/app.css b/news/static/news/css/app.css index a574c88..e8543b5 100644 --- a/news/static/news/css/app.css +++ b/news/static/news/css/app.css @@ -46,10 +46,6 @@ header { } } -/* header a { - text-decoration: none; -} */ - .title { background-color: var(--header-bg-color); } @@ -59,8 +55,7 @@ header h1 { margin-bottom: 0px; font-family: "HelveticaNeue-CondensedBlack", "HelveticaNeueBlackCondensed", "HelveticaNeue-Black-Condensed", "Helvetica Neue Black Condensed", "HelveticaNeueBlack", "HelveticaNeue-Black", "Helvetica Neue Black", "HelveticaNeue", "Helvetica Neue", 'TeXGyreHerosCnBold', "Helvetica", "Tahoma", "Geneva", "Arial Narrow", "Arial", sans-serif; font-weight:900; - font-stretch:condensed; /* font-family: 'LibreBaskervilleBold'; */ - /* letter-spacing: -1px; */ + font-stretch:condensed; text-transform: uppercase; font-size: 32px; } @@ -75,6 +70,9 @@ header h1 a { color: #fff; } +header h1 a:hover { + color: #BFA030; +} header h2 { margin-top: -10px; padding: 0; @@ -83,7 +81,6 @@ header h2 { nav { padding: 4px; - /* margin-top: 4px; */ font-size: 14px; background-color: #333; } diff --git a/news/templates/news/index.html b/news/templates/news/index.html index c2dd151..0cb554f 100644 --- a/news/templates/news/index.html +++ b/news/templates/news/index.html @@ -34,7 +34,7 @@
@@ -54,7 +54,7 @@
@@ -74,7 +74,7 @@
@@ -94,7 +94,7 @@
diff --git a/news/urls.py b/news/urls.py index 48f2a90..1cd3c2a 100644 --- a/news/urls.py +++ b/news/urls.py @@ -11,7 +11,8 @@ urlpatterns = [ path('about', TemplateView.as_view(template_name='news/static/about.html'), name='about'), # Posts path('', views.index, name='index'), - path('', views.post, name='post'), + path("/", views.post, name="post"), + # path('', views.post, name='post'), path('/comment/', views.comment_with_parent, name='comment_with_parent'), path('/comment', views.comment, name='comment'), path('comment//delete', views.delete_comment, name='delete_comment'), diff --git a/news/views.py b/news/views.py index 1384a91..477dda5 100644 --- a/news/views.py +++ b/news/views.py @@ -11,6 +11,7 @@ from django.contrib.auth.decorators import login_required from django.contrib.auth.forms import PasswordChangeForm from django.db.models import Q from django.utils.html import strip_tags +from django.utils.text import slugify from .models import Post, Comment, PostState, Tag from .forms import PostForm, CustomUserCreationForm, SigninForm from datetime import datetime @@ -89,7 +90,7 @@ def index(request): context = { 'latest_post_list' : posts } return render(request, 'news/index.html', context) -def post(request, post_id): +def post(request, post_id, post_slug): post = get_object_or_404(Post, pk=post_id) return render(request, 'news/post.html', {'post': post, 'comments': post.flat_comments(request.user) }) @@ -109,6 +110,8 @@ def submission(request): tags = parsed_tags(form.cleaned_data['tags']) post.tag_set.add(*tags) + post.slug = slugify(post.title) + file = request.FILES.get('image', None) if file is not None: filename = str(uuid.uuid4()) From 8c091354da7d6c4b7c1f9b32cc0864d50abc6251 Mon Sep 17 00:00:00 2001 From: Laurent Date: Thu, 10 Oct 2019 17:03:49 +0200 Subject: [PATCH 10/12] Updated logo and icons --- news/static/image/favicon.png | Bin 1228 -> 1407 bytes news/static/image/icon1024.png | Bin 0 -> 32144 bytes news/static/image/icon1024_basic.png | Bin 0 -> 22562 bytes news/static/image/icon1024_transparent.png | Bin 0 -> 29488 bytes news/static/image/icon128.png | Bin 0 -> 3895 bytes news/static/image/icon128_transparent.png | Bin 5500 -> 3498 bytes .../image/icon128_transparent_black.png | Bin 2964 -> 0 bytes .../image/icon128_transparent_white.png | Bin 3890 -> 0 bytes news/static/image/icon_square.png | Bin 5701 -> 0 bytes 9 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 news/static/image/icon1024.png create mode 100644 news/static/image/icon1024_basic.png create mode 100644 news/static/image/icon1024_transparent.png create mode 100644 news/static/image/icon128.png delete mode 100644 news/static/image/icon128_transparent_black.png delete mode 100644 news/static/image/icon128_transparent_white.png delete mode 100644 news/static/image/icon_square.png diff --git a/news/static/image/favicon.png b/news/static/image/favicon.png index e00a48a6e54d93811e4623b3c9fd5e4f9950d90c..a212ae890239f27e7686c09ee3d99a0f3cd1db0e 100644 GIT binary patch delta 1399 zcmV--1&I303I7U^8Gix*001Qm=7|6R1x86kK~!jg?V5W`Q&$|v&uwXY`?4)q3fPhs zD38HVac(dp!69=Sn~rSG7$?)YS2nXmfdR5V+>2-;b7Px>nbalDWdbVMLlMa`%rr}u zEx6zYX>qmXDTPv6+TOOe-5*pStZ>gQr!*w}{&jor@1EcJ+<)Ia=l*`@6!YCK04rIH zaCcy-iU5RL5rA+j0uXLR0K%=P5Vh-a`|k7;cZb{}0b^|%m&*y&lR^)mGZ0_3n3~$n zlQwet43mkaDLF-XqIdSkA}7I+=0aFQ)98B*Lxjs4@N%+(bE+nBV-^pcN2Ft*ysrO9 z{lG%K2LSXLiGQcw(tY#eI6|k$02-Q1noA~1Gm`XGeKM#YbfNN#2Ebh|H-CG`1 zbCI}41MqbID!R8kx=w(^H5!1Tyj7XWG@j^|hlP*l(GFTbp#i`!aP-Z1NMoGCs4JHv z@e2^U&>EbRHZmg#&rIfKrr;%o5|M!3Go?`vkX}%K z?%r|Dh|3)yVHOLSAHBV1*EY#(?;9?51ZLP?AU=IG@znXzA$<5|ZALnlnls*#^L?dZR>Y4!p zAgIKB%SM6SIUBm*R^u{~PynQ1xlyjB0mY7yy9P?$36{EPo`E0S=eO(rTpYfQ-$eF14Y)#Bc1B=48OW z1J7-hJYOUM09dE|5iprO0DyfvR>N1GnaSMOcS>O_p#T^RP+zTpd6BYHxt~=lrjKV9 zK*uc8i*~-xk0|0+QD ze@Fklzw9NKvDzEei_a}N8N5zSD*T|QQ9Y>Eu-h8chxWz_`SU{|m$A>*s?OFbr4oOI z)U9=R?A=j-uYW&OZZ8ncHL%&eH*Zb#8HvGr?ievMU4<7sB%F>O zEur0^nbl*jXuEo56M@}NMt@PG2!*4N?7emMIOg^q0Py`U7V{(-3SS`s(6o-tJ2T}V z8=6K#;R`)Luip9Hl>ob7r!SZ+wgtD(f);WBtn%cbhYXOwPFTr`1&aNp2yijLnO4*F zKdcK~ZMkM{{TZs#g%`?=Zm$Wdw=`eoteEKK?Rzdo40e$ zyMz$?0JIZAS^-2W9jAz-5MllH#g?72)IA%u)@ z&X3r(JzloHOj*b4l?fCDO2`AkgHw5C)lbq2_VfUfHul+tsko|vzM za2%)8w(W5W0F1F-)Xv}mfaJyul6%fyP_0M>jIrA(=e$d`5LIx_yJ&8PSCa@K_E7-s zs)Z<|o#y8DH3=c4l_Izc8$XEB%5AEfnl~U+xykyVlz$)+-uRp2o$rB;JEvViFF@$z0PpDFOFDS9RT3Hms)XoiQ}suyblMd1_%Mn+nLG@UCi4V zJoe)6_<#Q6Z3Pn!KYgPV0|FZYGjq#0_|6}N?=8j_Dg6Z2002lXI@0?Hv;lswX@F`0 zstL3KJK_=PeFWBkNABB-&)#0$t2uvRQA$5j=K+y0#WP*&pUQ5HQoQl(O$cwvE~*w1 z9Iv0a71Q~2e#C4Y}pl@izx0D#1zgYH+RaDGD0kYk^sF1#f*i0|0O~xT*Wo&&k5M7MJ9_C?$qr z$bSVJU;@1#;0K!qs1~4_O#=WVE4Hd$5;T`%QO002ovPDHLkV1gzELyG_a diff --git a/news/static/image/icon1024.png b/news/static/image/icon1024.png new file mode 100644 index 0000000000000000000000000000000000000000..3987e422b47f6bc909319738eb47cd5a590a2214 GIT binary patch literal 32144 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 literal 0 HcmV?d00001 diff --git a/news/static/image/icon1024_basic.png b/news/static/image/icon1024_basic.png new file mode 100644 index 0000000000000000000000000000000000000000..1efa4f85de3bdeadbb7dcb130632a9734519597d GIT binary patch literal 22562 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 Z7LIB=r@WqtQ(z(y%(ub*?2ClFe*sx5QZN7j literal 0 HcmV?d00001 diff --git a/news/static/image/icon1024_transparent.png b/news/static/image/icon1024_transparent.png new file mode 100644 index 0000000000000000000000000000000000000000..3e35537f9ceeb4a0789b253495d2ff17506b6d2c GIT binary patch literal 29488 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 CS{X$E literal 0 HcmV?d00001 diff --git a/news/static/image/icon128.png b/news/static/image/icon128.png new file mode 100644 index 0000000000000000000000000000000000000000..514b16cdb3607a3ea094cbb829e4e4548ea162ff GIT binary patch literal 3895 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 FV1f(ES9AaX literal 0 HcmV?d00001 diff --git a/news/static/image/icon128_transparent.png b/news/static/image/icon128_transparent.png index b30104fc43e0e6c7209239b68e9452073d2d8012..e74726f9b8bc0e0a28cb803c87ce7edf90072ccb 100644 GIT binary patch literal 3498 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 Wjx| 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
    OX7jU`<(U0`X^^-o>p+2B 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 KMNUMnLSTZy|7$}4 diff --git a/news/static/image/icon128_transparent_white.png b/news/static/image/icon128_transparent_white.png deleted file mode 100644 index 508be278750ea6f17a055d299d3f75e22ad28a62..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3890 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 From 9cb1042df7236ab90674f5a8e7d4b2e597bd417f Mon Sep 17 00:00:00 2001 From: Laurent Date: Thu, 10 Oct 2019 17:21:36 +0200 Subject: [PATCH 11/12] Updated logo and icons --- news/static/image/icon128_black.png | Bin 0 -> 2350 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 news/static/image/icon128_black.png diff --git a/news/static/image/icon128_black.png b/news/static/image/icon128_black.png new file mode 100644 index 0000000000000000000000000000000000000000..a89dc0d561fe96e20fb8b6fa9d900416b1d32a35 GIT binary patch literal 2350 zcmV+}3DNe6P) zd5m3C7{Gs>&P1zYX^mK08cI=WX*6jmnGls?>`{c!kjB#fAt50|2=Rv~vBaK86A{{4 zV_&K$68qX}wWSnE&9sVc^E&?c-qUBi_vW5+&-UJYzvTO8=Du^!x14+L*}emcq9}@@ zD2k#eilQirq9}@@D2+=?>qyKx%>@W5>g4pj)RaE>(cqXO z4E>WaNXv@tSW}q?4D(=*e#La8Ma6cet*itlIk!qbU>NW;@g3+wx`7+fF@wxZLRwC2 z$GMhwfDsPu)Nl+$T1tWV&hjOlz!{G0)liH8-X*?+LdpH;n8ClC33L(PDWT}6x<)My57rm_3>zN8B{%iQGYus5)f_=c=^c?jt- z)fHz0Ylv^WMv-rUu|^(<#I{Jp#x__Z$_C)d?5+sUSR_(o8>-Red7v$$Pl7Q6iO|@_ z=`Zp#(4NUNo@qlOGPXhbqZEK!h&X1@jznT?L-cof9~jw(ubk2h+=}+?Q<62nIklYT zijhdf#a39QvOEF|sp`E73^2HMPh<{zdy^X|!TA(8JnO|K36XvQHX2t)3C%K-i%kNc zfUI>_(q@jy#il9I<{DnFgk=-(qR9_T17JQfOQodAE5IKnKQIk|&B&q-B~6T<&^B2y z^)-+t-N>k{5jFwv8nDjdcZy%$L^hrnVKa`r5qJTZYVq3?=mI_l76Yq`e`^Ew2aceA zvw#JCGM_>GQ7={3A|Zww(!N;X%F@Dqx^ zsh9bVw+wW1#vIGahLn}aS_NBXP#-&$ugIaJHB&7s8`Aj~IMDL~(hhnh zCF%s-Fl2Z*b}J~Cmptj(0=%Ape&zCUUZwIr0Xm7)1*yTOp32>fEPGFh+)rQ^CuAAT zKL=om$Ff&>EZc_MkAD{d@GR05Nr5fEuO7=!X%6HoU{T&eTm-;xND8zR*oY*b@Wp12 zWt-yU1KiaiiK+AknrXn~3ROrd07_XsW7C4)*}PN^n_dch>7pQ40q_&>p`)_$vb)E! zxAR!G3C=#eU7nMh%4=Xhk7e)Xv1}8Z+1h0Qq_SlE2w+za;p>Yo z+XtCz=OC8 zfXQL2pO104QMz88U!n!Lo&0v_BAt1N%=|$9$9^Nw3Or6eTRaxL)(*G>dxe){_s&n1 zV~~$nTYH=myv7cgh`qwIBGlJ6cVcIYbx60i?r1_1OPMO%Ng`=b9n+58$>%p&fxm}iPH-hf#0dz0f=r{NqXgvDIKIU4p42Hb`mn3 z>kE@{fNlbvB^=@j0P;1Pb#MJp;ABtr*cUj8%9}@8fid_Sfx&%Sdj@9t1{XNGZ<3TYk!BSasorKH)61nYmjfqNxb8e;)UtHl*T~YYJlLd|bD7;N zInKv?GGrxoMi~X%#s4#!E~WB^-s#AGg7RyZWB(MIiCuod;g{^E_xw=N(?lCB*fPB=tOenoiW-Hb)ZAhz);rzAK9%VcyQoVYB&$64a z{&|BqMt+&v-wqSLut7kfm%PiT3p$D*zy@(kp;346YB|BBKRB z%%qC*fSU=k_@fi^bCOpBgZ)(JKdhji^#Bw_Q4~c{6h%=KMNt$*Q4~c{6h#TaKl*{3 U^5A4bhyVZp07*qoM6N<$f_`RjR{#J2 literal 0 HcmV?d00001 From 43b8cba28833f5f0a5e76c2027dab89ab609bbf2 Mon Sep 17 00:00:00 2001 From: Laurent Morvillier Date: Thu, 10 Oct 2019 17:40:31 +0200 Subject: [PATCH 12/12] Header improvements --- news/static/news/css/app.css | 15 +++++++++++---- news/templates/base.html | 2 +- news/templates/news/index.html | 2 +- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/news/static/news/css/app.css b/news/static/news/css/app.css index e8543b5..a1f7275 100644 --- a/news/static/news/css/app.css +++ b/news/static/news/css/app.css @@ -47,7 +47,10 @@ header { } .title { - background-color: var(--header-bg-color); + border-top: 2px solid var(--header-bg-color); + border-bottom: 2px solid var(--header-bg-color); + + /* background-color: var(--header-bg-color); */ } header h1 { @@ -71,7 +74,7 @@ header h1 a { } header h1 a:hover { - color: #BFA030; + color: var(--header-bg-color); } header h2 { margin-top: -10px; @@ -81,8 +84,9 @@ header h2 { nav { padding: 4px; - font-size: 14px; - background-color: #333; + font-size: 13px; + text-transform: uppercase; + /* background-color: #333; */ } footer { @@ -149,6 +153,9 @@ a h1 { } } +.date { + margin-bottom: 4px; +} .details { font-size: 14px; color: #999; diff --git a/news/templates/base.html b/news/templates/base.html index b94b408..3dfb37a 100644 --- a/news/templates/base.html +++ b/news/templates/base.html @@ -42,9 +42,9 @@
    + Poker Rumble icon diff --git a/news/templates/news/index.html b/news/templates/news/index.html index 0cb554f..b3c40f8 100644 --- a/news/templates/news/index.html +++ b/news/templates/news/index.html @@ -12,7 +12,7 @@
    -
    +
    {{ post.date }} - {{ post.author.username }}