Skip to content

Commit 0c5f8e5

Browse files
author
John Solly
authored
Refactor remove portfolio (#404)
* . * . * Add PR link
1 parent a947fc1 commit 0c5f8e5

40 files changed

+7
-847
lines changed

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,6 @@ $ pre-commit install
113113
- Open Graph protocol compliant social media sharing for beautiful share cards (LinkedIn, Twitter, Facebook, Instagram, Reddit, etc)
114114
- Smart and powerful Global search so you can find any blog post with a keyword search.
115115
- Display site visitors in a web map
116-
- Portfolio page with testimonials, contact me, Web vitals, and more!
117116
- Light and Dark Theme that automatically switch based on user's current system theme.
118117
- Blog reading time so viewers can estimate how long it will take them to read a post.
119118
- Atom and RSS feed so users can subscribe to your latest blog posts.
@@ -162,6 +161,7 @@ $ pre-commit install
162161
- ~~Github Integration to show active issue backlog without leaving blog~~ (removed
163162
in https://github.com/jsolly/awesome-django-blog/pull/121)
164163
[commit:5c050a5b68d9c8ce7dcf90fdef44377cc28eab6b](https://github.com/jsolly/awesome-django-blog/commit/5c050a5b68d9c8ce7dcf90fdef44377cc28eab6b))
164+
- ~~Portfolio page with testimonials, contact me, Web vitals, and more!~~ (removed in https://github.com/jsolly/awesome-django-blog/pull/404)
165165

166166
## Contributing
167167

app/app/sitemaps.py

-12
Original file line numberDiff line numberDiff line change
@@ -70,18 +70,6 @@ def items(self):
7070
def location(self, item):
7171
return reverse(item)
7272

73-
74-
class PortfolioSiteMap(Sitemap):
75-
changefreq = "monthly"
76-
priority = 0.8
77-
78-
def items(self):
79-
return ["portfolio"]
80-
81-
def location(self, item):
82-
return reverse(item)
83-
84-
8573
class StatusPageSiteMap(Sitemap):
8674
changefreq = "monthly"
8775
priority = 0.1

app/app/urls.py

-2
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
WorksCitedSiteMap,
1010
privacyPolicySiteMap,
1111
CategorySitemap,
12-
PortfolioSiteMap,
1312
StatusPageSiteMap,
1413
)
1514
from .views import (
@@ -35,7 +34,6 @@
3534
"Works Cited": WorksCitedSiteMap,
3635
"Privacy Policy": privacyPolicySiteMap,
3736
"Categories": CategorySitemap,
38-
"Portfolio": PortfolioSiteMap,
3937
"Status Page": StatusPageSiteMap,
4038
}
4139

app/blog/context_processors.py

-2
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,4 @@ def breadcrumbs(request):
4949
breadcrumbs.append({"name": "Works Cited", "url": reverse(match.url_name)})
5050
elif match.url_name == "privacy":
5151
breadcrumbs.append({"name": "Privacy Policy", "url": reverse(match.url_name)})
52-
elif match.url_name == "portfolio":
53-
breadcrumbs.append({"name": "Portfolio", "url": reverse(match.url_name)})
5452
return {"breadcrumbs": breadcrumbs}

app/blog/templates/blog/parts/about_me.html

+2-1
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ <h2 class="post-title">John Solly</h2>
2727
<li>
2828
<a rel="me noopener noreferrer" target="_blank" href="https://mapstodon.space/@jsolly">Mastodon</a>
2929
</li>
30+
3031
</ul>
3132
<p>
3233
With over a decade of experience in the geospatial industry, I specialize in full-stack development of GIS
@@ -37,7 +38,7 @@ <h2 class="post-title">John Solly</h2>
3738
Throughout my career, I've built applications on platforms like Esri and Mapbox while also leveraging
3839
open-source GIS technologies such as OpenLayers, GeoServer, and GDAL. This site showcases my projects and is
3940
where I share useful articles with the GeoDev community. Check out my
40-
<a href="{% url 'portfolio' %}">portfolio</a> to see my latest work!
41+
<a rel="me" target="_blank" href="https://johnsolly.dev/showcase/">portfolio</a> to see my latest work!
4142
</p>
4243
</div>
4344
</div>

app/blog/templates/blog/parts/about_me_post_detail.html

+2-2
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ <h2 class="post-title">About {{ post.author.get_full_name }}</h2>
2626
</li>
2727
<li>
2828
<a rel="me noopener noreferrer" target="_blank" href="https://mapstodon.space/@jsolly">Mastodon</a>
29-
</li>
29+
</li>
3030
</ul>
3131
<p>
3232
I am a Senior Software Engineer with a focus on geospatial applications, based in the Columbus, OH
@@ -36,7 +36,7 @@ <h2 class="post-title">About {{ post.author.get_full_name }}</h2>
3636
</p>
3737
<p>
3838
Interested in collaborating or learning more about my work? Take a look at my <a
39-
href="{% url 'portfolio' %}">portfolio</a> for a showcase of my projects and expertise.
39+
target="_blank" rel="me" href="https://johnsolly.dev/showcase/">portfolio</a> for a showcase of my projects and expertise.
4040
</p>
4141
</div>
4242
</div>

app/blog/templates/blog/parts/footer.html

+1-3
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,13 @@
88
</a>
99
<ul class="dropdown-menu" id="footer-nav-categories" aria-labelledby="footer-navbarDropdown">
1010
{% for cat in category_qs %}
11-
{% if cat.slug != 'portfolio' %}
1211
<li>
1312
<a class="dropdown-item" href="{% url 'blog-category' cat.slug %}">{{cat.name}}</a>
1413
</li>
15-
{% endif %}
1614
{% endfor %}
1715
</ul>
1816
</li>
19-
<li class="nav-item"><a class="nav-link" href="{% url 'portfolio' %}">Portfolio</a></li>
17+
<li class="nav-item"><a class="nav-link" rel="me" target="_blank" href="https://johnsolly.dev">Portfolio</a></li>
2018
<li class="nav-item">
2119
<a rel="noopener noreferrer" target="_blank"
2220
href="https://us14.list-manage.com/contact-form?u=3fb3f4adf8ab2cd1ebd6ff743&form_id=7c78cd242677faaebfc3d4a2bc0d5fda"

app/blog/templates/blog/parts/header.html

+1-3
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,14 @@
1414
</a>
1515
<ul class="dropdown-menu" aria-labelledby="header-navbarDropdown">
1616
{% for cat in category_qs %}
17-
{% if cat.slug != 'portfolio' %}
1817
<li>
1918
<a class="dropdown-item" href="{% url 'blog-category' cat.slug %}">{{cat.name}}</a>
2019
</li>
21-
{% endif %}
2220
{% endfor %}
2321
</ul>
2422
</li>
2523
<li class="nav-item">
26-
<a class="nav-link" href="{% url 'portfolio' %}">Portfolio</a>
24+
<a class="nav-link" target="_blank" rel="me" href="https://johnsolly.dev">Portfolio</a>
2725
</li>
2826
<li class="nav-item">
2927
<a class="nav-link" rel="noopener noreferrer" target="_blank"

app/blog/templates/blog/parts/long_solly_bio.html

-39
This file was deleted.

app/blog/templates/blog/parts/page_speed_insights.html

-17
This file was deleted.

app/blog/templates/blog/parts/sidebar.html

-2
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,10 @@ <h2>Navigate to a Category</h2>
88
</a>
99
<div role="list" aria-label="Blog categories">
1010
{% for category_item in category_qs %}
11-
{% if category_item.slug != 'portfolio' %}
1211
<a href="{% url 'blog-category' category_item.slug %}"
1312
class="list-group-item {% if current_category == category_item.slug %}active{% endif %}"
1413
id="sidebar-{{ category_item.slug }}" role="listitem"
1514
data-badge="{{ category_item.posts_count }}">{{category_item.name}}</a>
16-
{% endif %}
1715
{% endfor %}
1816
</div>
1917
</div>

app/blog/templates/blog/portfolio.html

-85
This file was deleted.

app/blog/templates/blog/works_cited.html

-5
Original file line numberDiff line numberDiff line change
@@ -56,11 +56,6 @@ <h2>Icons and Logos</h2>
5656
Shopify's logo maker created the blogthedata.com logo.
5757
</p>
5858
<h2>Misc</h2>
59-
<p>
60-
<a href="https://avatarmaker.com/" target="_blank" rel="noopener noreferrer">Avatarmaker.com</a>
61-
Used this site to generate avatars used in the testimonial section on the
62-
portfolio page.
63-
</p>
6459
<p>
6560
<a href="https://github.com/OnlyManu/404-not-found-master" target="_blank" rel="noopener noreferrer">OnlyManu
6661
(Github

app/blog/urls.py

-2
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
PostUpdateView,
1414
PostDeleteView,
1515
CategoryView,
16-
PortfolioView,
1716
AllPostsView,
1817
SearchView,
1918
StatusView,
@@ -35,7 +34,6 @@
3534
path("post/<slug:slug>/update", PostUpdateView.as_view(), name="post-update"),
3635
path("post/<slug:slug>/delete", PostDeleteView.as_view(), name="post-delete"),
3736
path("category/<slug:slug>/", CategoryView.as_view(), name="blog-category"),
38-
path("portfolio/", PortfolioView.as_view(), name="portfolio"),
3937
path("search/", SearchView.as_view(), name="blog-search"),
4038
path(
4139
"post/<slug:slug>/comment/new",

app/blog/views.py

-58
Original file line numberDiff line numberDiff line change
@@ -208,64 +208,6 @@ def get_template_names(self):
208208
return "blog/categories.html"
209209

210210

211-
class PortfolioView(ListView):
212-
model = Post
213-
template_name = "blog/portfolio.html" # <app>/<model>_<viewtype>.html
214-
context_object_name = "posts" # The default is object_list
215-
paginate_by = 10
216-
217-
def get_queryset(self):
218-
return Post.objects.active().filter(category__slug="portfolio")
219-
220-
def get_context_data(self, *args, **kwargs):
221-
carousel_items = [
222-
{
223-
"avatar_url": "portfolio/AmyBrazil.webp",
224-
"name": "Amy Brazil",
225-
"position": "Direct Manager",
226-
"company": "YellowfinBI",
227-
"year": "2022",
228-
"quote": "I had the pleasure to hire, onboard and manage John...",
229-
"link": "https://www.linkedin.com/in/jsolly/",
230-
},
231-
{
232-
"avatar_url": "portfolio/CraigUtley.webp",
233-
"name": "Craig Utley",
234-
"position": "Direct Manager",
235-
"company": "YellowfinBI",
236-
"year": "2022",
237-
"quote": "There is a right way to come into an organization and John did it the right way...",
238-
"link": "https://www.linkedin.com/in/jsolly/",
239-
},
240-
{
241-
"avatar_url": "portfolio/MeredithBean.webp",
242-
"name": "Meredith Bean",
243-
"position": "Undergraduate Student",
244-
"company": "GMU",
245-
"year": "2016",
246-
"quote": "John was an extraordinary TA to me as a student in an introductory GIS class...",
247-
"link": "https://www.linkedin.com/in/jsolly/",
248-
},
249-
{
250-
"avatar_url": "portfolio/KathrynThorpe.webp",
251-
"name": "Kathryn Thorpe",
252-
"position": "Coworker",
253-
"company": "YellowfinBI",
254-
"year": "2022",
255-
"quote": "Not only is John the kind of guy you'd trust with all things IT based on his technical prowess...",
256-
"link": "https://www.linkedin.com/in/jsolly/",
257-
},
258-
]
259-
context = super().get_context_data(*args, **kwargs)
260-
context["url"] = self.request.path
261-
context["carousel_items"] = carousel_items
262-
context["title"] = "Solly's Portfolio | Blogthedata.com"
263-
context[
264-
"description"
265-
] = "John Solly's portfolio. A geospatial software engineer with a passion for creating beautiful and fast mapping applications."
266-
return context
267-
268-
269211
class SearchView(ListView):
270212
model = Post
271213
template_name = "blog/search_posts.html"

0 commit comments

Comments
 (0)