Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: display correct image for codebases in ogp tags #681

Merged
merged 8 commits into from
Jan 26, 2024
20 changes: 5 additions & 15 deletions django/core/jinja2/base.jinja
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
{% from "common.jinja" import render_ogp_tags %}

{% if not user %}
{% set user = request.user %}
{% endif %}
Expand Down Expand Up @@ -273,7 +275,7 @@
{% endmacro %}

<!DOCTYPE html>
<html lang="en" class="no-js">
<html lang="en" class="no-js" prefix="og: http://ogp.me/ns#">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
Expand All @@ -289,20 +291,8 @@
<meta name="msapplication-TileColor" content="#da532c">
<meta name="theme-color" content="#ffffff">
{% block ogp_tags %}
<!-- Facebook Meta Tags -->
<meta property="og:url" content="https://www.comses.net/">
<meta property="og:type" content="website">
<meta property="og:title" content="The Network for Computational Modeling in the Social and Ecological Sciences (CoMSES Net)">
<meta property="og:description" content="CoMSES Net is an international open research community dedicated to fostering good practices for computational / agent based modeling.">
<meta property="og:image" content="{{ static('images/logo-comses.png') }}">
<!-- Twitter Meta Tags -->
<meta name="twitter:card" content="summary_large_image">
<meta property="twitter:domain" content="comses.net">
<meta property="twitter:url" content="https://www.comses.net/">
<meta name="twitter:title" content="The Network for Computational Modeling in the Social and Ecological Sciences (CoMSES Net)">
<meta name="twitter:description" content="CoMSES Net is an international open research community dedicated to fostering good practices for computational / agent based modeling.">
<meta name="twitter:image" content="{{ static('images/logo-comses.png') }}">
{% endblock ogp_tags%}
{{ render_ogp_tags() }}
{% endblock ogp_tags %}
<title>
{% block title %}CoMSES Net{% endblock %}
</title>
Expand Down
16 changes: 15 additions & 1 deletion django/core/jinja2/common.jinja
Original file line number Diff line number Diff line change
Expand Up @@ -299,4 +299,18 @@ Currently in <em><mark>{{ constants.DEPLOY_ENVIRONMENT }}</mark></em> mode.

{% macro format_date(date) %}
{{ date.strftime('%B %d, %Y %I:%M %p') }}
{% endmacro %}
{% endmacro %}

{% macro render_ogp_tags(url=None, title=None, description=None, image=None) %}
<!-- Open Graph Protocol Tags -->

<!-- Twitter Meta Tags -->
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:site" content="@comses" />
<meta property="twitter:domain" content="comses.net" />
<meta property="og:url" content="{{ url or 'https://www.comses.net/'}}" />
<meta property="og:type" content="website" />
<meta property="og:title" content="{{ title or 'The Network for Computational Modeling in the Social and Ecological Sciences (CoMSES Net)'}}" />
<meta property="og:description" content="{{ description or 'CoMSES Net is an international open research community dedicated to fostering good practices for computational / agent based modeling.'}}" />
<meta property="og:image" content="{{ image or static('images/logo-comses.png') }}" />
{% endmacro %}
27 changes: 11 additions & 16 deletions django/core/jinja2/core/events/list.jinja
Original file line number Diff line number Diff line change
@@ -1,22 +1,7 @@
{% extends "search_layout.jinja" %}
{% from "common.jinja" import list_page, paginator, breadcrumb, subnav, member_profile_href, search_tag_href, search_bar
{% from "common.jinja" import list_page, paginator, breadcrumb, subnav, member_profile_href, search_tag_href, search_bar, render_ogp_tags
%}

{% block ogp_tags %}
<!-- Facebook Meta Tags -->
<meta property="og:url" content="https://www.comses.net/events/">
<meta property="og:type" content="website">
<meta property="og:title" content="Community Events">
<meta property="og:description" content="View all events related to CoMSES">
<meta property="og:image" content="{{ static('images/logo-comses.png') }}">
<!-- Twitter Meta Tags -->
<meta name="twitter:card" content="summary_large_image">
<meta property="twitter:domain" content="comses.net">
<meta property="twitter:url" content="https://www.comses.net/events/">
<meta name="twitter:title" content="Community Events">
<meta name="twitter:description" content="View all events related to CoMSES">
<meta name="twitter:image" content="{{ static('images/logo-comses.png') }}">
{% endblock ogp_tags %}


{% macro render_event(item, detail_url_name) %}
Expand Down Expand Up @@ -100,6 +85,9 @@
</div>
{% endmacro %}




{% block title %}Community Events{% endblock %}

{% block introduction %}<h1>Community Events</h1>{% endblock %}
Expand All @@ -121,13 +109,20 @@
{{ pagination_block }}
{% endblock %}



{% block content %}
{{ list_page(__all__, render_event, 'core:event-detail') }}
{% if count > 10 %}
{{ pagination_block }}
{% endif %}
{% endblock %}

{% block ogp_tags %}
{{ render_ogp_tags(url="https://www.comses.net/events/", title="Community Events", description="View all events related to CoMSES")}}
{% endblock ogp_tags %}


{% block sidebar %}
<div id="sidebar"></div>
{% endblock %}
Expand Down
17 changes: 2 additions & 15 deletions django/core/jinja2/core/events/retrieve.jinja
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{% extends "sidebar_layout.jinja" %}
{% from "common.jinja" import breadcrumb, embed_discourse_comments, share_card, member_profile_href, search_tag_href, delete_confirm_modal %}
{% from "common.jinja" import breadcrumb, embed_discourse_comments, share_card, member_profile_href, search_tag_href, delete_confirm_modal, render_ogp_tags %}

{% block title %}{{ title }}{% endblock %}

Expand All @@ -17,22 +17,9 @@
{% endblock %}

{% block ogp_tags %}
<!-- Facebook Meta Tags -->
<meta property="og:url" content="{{ request.build_absolute_uri(absolute_url) }}">
<meta property="og:type" content="article">
<meta property="og:title" content="{{ title }}">
<meta property="og:description" content="{{ summary }}">
<meta property="og:image" content="{{ static('images/logo-comses.png') }}">
<!-- Twitter Meta Tags -->
<meta name="twitter:card" content="summary_large_image">
<meta property="twitter:domain" content="comses.net">
<meta property="twitter:url" content="{{ request.build_absolute_uri(absolute_url) }}">
<meta name="twitter:title" content="{{ title }}">
<meta name="twitter:description" content="{{ summary }}">
<meta name="twitter:image" content="{{ static('images/logo-comses.png') }}">
{{ render_ogp_tags(url=request.build_absolute_uri(absolute_url), title=title, description=summary) }}
{% endblock ogp_tags %}


{% block content %}
<div id='discourse-content'>
<h1>{{ title }}</h1>
Expand Down
17 changes: 3 additions & 14 deletions django/core/jinja2/core/jobs/list.jinja
Original file line number Diff line number Diff line change
@@ -1,20 +1,9 @@
{% extends "search_layout.jinja" %}
{% from "common.jinja" import list_page, paginator, breadcrumb, member_profile_href, search_tag_href, search_bar %}
{% from "common.jinja" import list_page, paginator, breadcrumb, member_profile_href, search_tag_href, search_bar, render_ogp_tags %}


{% block ogp_tags %}
<!-- Facebook Meta Tags -->
<meta property="og:url" content="https://www.comses.net/jobs/">
<meta property="og:type" content="website">
<meta property="og:title" content="Community Jobs">
<meta property="og:description" content="View all jobs related to CoMSES">
<meta property="og:image" content="{{ static('images/logo-comses.png') }}">
<!-- Twitter Meta Tags -->
<meta name="twitter:card" content="summary_large_image">
<meta property="twitter:domain" content="comses.net">
<meta property="twitter:url" content="https://www.comses.net/jobs/">
<meta name="twitter:title" content="Community jobs">
<meta name="twitter:description" content="View all jobs related to CoMSES">
<meta name="twitter:image" content="{{ static('images/logo-comses.png') }}">
{{ render_ogp_tags(url="https://www.comses.net/jobs/", title="Community Jobs", description="View all jobs related to CoMSES")}}
{% endblock ogp_tags %}

{% macro render_job(item, detail_url_name) %}
Expand Down
16 changes: 2 additions & 14 deletions django/core/jinja2/core/jobs/retrieve.jinja
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{% extends "sidebar_layout.jinja" %}
{% from "common.jinja" import permission_button_group, breadcrumb, embed_discourse_comments, share_card, member_profile_href, search_tag_href, delete_confirm_modal %}
{% from "common.jinja" import permission_button_group, breadcrumb, embed_discourse_comments, share_card, member_profile_href, search_tag_href, delete_confirm_modal, render_ogp_tags %}

{% block title %}{{ title }}{% endblock %}

Expand All @@ -17,19 +17,7 @@
{% endblock %}

{% block ogp_tags %}
<!-- Facebook Meta Tags -->
<meta property="og:url" content="{{ request.build_absolute_uri(absolute_url) }}">
<meta property="og:type" content="article">
<meta property="og:title" content="{{ title }}">
<meta property="og:description" content="{{ summary }}">
<meta property="og:image" content="/static/images/logo.png">
<!-- Twitter Meta Tags -->
<meta name="twitter:card" content="summary_large_image">
<meta property="twitter:domain" content="comses.net">
<meta property="twitter:url" content="{{ request.build_absolute_uri(absolute_url) }}">
<meta name="twitter:title" content="{{ title }}">
<meta name="twitter:description" content="{{ summary }}">
<meta name="twitter:image" content="/static/images/logo.png">
{{ render_ogp_tags(url=request.build_absolute_uri(absolute_url), title=title, description=summary) }}
{% endblock ogp_tags %}

{% block content %}
Expand Down
16 changes: 2 additions & 14 deletions django/core/jinja2/core/member_profiles/list.jinja
Original file line number Diff line number Diff line change
@@ -1,21 +1,9 @@
{% extends "search_layout.jinja" %}
{% from "common.jinja" import item_component, list_page, paginator, breadcrumb, subnav, member_profile_href,
search_tag_href, search_bar %}
search_tag_href, search_bar, render_ogp_tags %}

{% block ogp_tags %}
<!-- Facebook Meta Tags -->
<meta property="og:url" content="https://www.comses.net/jobs/">
<meta property="og:type" content="website">
<meta property="og:title" content="Community Jobs">
<meta property="og:description" content="View all jobs related to CoMSES">
<meta property="og:image" content="{{ static('images/logo-comses.png') }}">
<!-- Twitter Meta Tags -->
<meta name="twitter:card" content="summary_large_image">
<meta property="twitter:domain" content="comses.net">
<meta property="twitter:url" content="https://www.comses.net/jobs/">
<meta name="twitter:title" content="Community jobs">
<meta name="twitter:description" content="View all jobs related to CoMSES">
<meta name="twitter:image" content="{{ static('images/logo-comses.png') }}">
{{ render_ogp_tags(url="https://www.comses.net/users/", title="Member Profiles", description="View all users related to CoMSES")}}
{% endblock ogp_tags %}

{% macro render_user(member_profile) %}
Expand Down
17 changes: 2 additions & 15 deletions django/core/jinja2/core/member_profiles/retrieve.jinja
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{% extends "sidebar_layout.jinja" %}
{% from "common.jinja" import breadcrumb, subnav, affiliation_href, search_tag_btn, render_social_profile_url %}
{% from "common.jinja" import breadcrumb, subnav, affiliation_href, search_tag_btn, render_social_profile_url, render_ogp_tags %}
{% from "library/codebases/macros.jinja" import render_codebase_result, render_reviewer_feedback %}

{% block title %}User profile for {{ profile.name }}{% endblock %}
Expand All @@ -15,22 +15,9 @@
{% endblock %}

{% block ogp_tags %}
<!-- Facebook Meta Tags -->
<meta property="og:url" content="{{ request.build_absolute_uri(absolute_url) }}">
<meta property="og:type" content="article">
<meta property="og:title" content="{{ profile.name }}">
<meta property="og:description" content="{{ profile.bio }}">
<meta property="og:image" content="{{ static('images/logo-comses.png') }}">
<!-- Twitter Meta Tags -->
<meta name="twitter:card" content="summary_large_image">
<meta property="twitter:domain" content="comses.net">
<meta property="twitter:url" content="{{ request.build_absolute_uri(absolute_url) }}">
<meta name="twitter:title" content="{{ profile.name }}">
<meta name="twitter:description" content="{{ profile.bio }}">
<meta name="twitter:image" content="{{ static('images/logo-comses.png') }}">
{{ render_ogp_tags(url=request.build_absolute_uri(absolute_url), title=profile.name, description=profile.bio)}}
{% endblock ogp_tags %}


{% block content %}
<div class='row'>
<div class='col-3'>
Expand Down
19 changes: 4 additions & 15 deletions django/home/jinja2/home/digest.jinja
Original file line number Diff line number Diff line change
@@ -1,21 +1,10 @@
{% extends "base.jinja" %}
{% from "common.jinja" import breadcrumb, subnav %}
{% from "common.jinja" import breadcrumb, subnav, import render_ogp_tags %}

{% block ogp_tags %}
<!-- Facebook Meta Tags -->
<meta property="og:url" content="https://www.comses.net/">
<meta property="og:type" content="website">
<meta property="og:title" content="The CoMSES Digest">
<meta property="og:description" content="CoMSES Net is an international open research community dedicated to fostering good practices for computational / agent based modeling.">
<meta property="og:image" content="{{ static('images/logo-comses.png') }}">
<!-- Twitter Meta Tags -->
<meta name="twitter:card" content="summary_large_image">
<meta property="twitter:domain" content="comses.net">
<meta property="twitter:url" content="https://www.comses.net/">
<meta name="twitter:title" content="The CoMSES Digest">
<meta name="twitter:description" content="CoMSES Net is an international open research community dedicated to fostering good practices for computational / agent based modeling.">
<meta name="twitter:image" content="{{ static('images/logo-comses.png') }}">
{% endblock ogp_tags%}
{{ render_ogp_tags(url="https://www.comses.net/", title="The COMSES Digest", description="CoMSES Net is an international open research community dedicated to fostering good practices for computational / agent based modeling.") }}
{% endblock ogp_tags %}


{% block title %}CoMSES Digests{% endblock %}

Expand Down
18 changes: 3 additions & 15 deletions django/home/jinja2/home/education.jinja
Original file line number Diff line number Diff line change
@@ -1,21 +1,9 @@
{% extends "base.jinja" %}
{% from "common.jinja" import breadcrumb %}
{% from "common.jinja" import breadcrumb, render_ogp_tags %}

{% block ogp_tags %}
<!-- Facebook Meta Tags -->
<meta property="og:url" content="https://www.comses.net/">
<meta property="og:type" content="website">
<meta property="og:title" content="CoMSES Net Education">
<meta property="og:description" content="CoMSES Net training modules provide guidance on good practices for computational modeling and sharing your work with FAIR principles for research software (FAIR4RS) and FORCE11 Software Citation Principles in mind.">
<meta property="og:image" content="{{ static('images/logo-comses.png') }}">
<!-- Twitter Meta Tags -->
<meta name="twitter:card" content="summary_large_image">
<meta property="twitter:domain" content="comses.net">
<meta property="twitter:url" content="https://www.comses.net/">
<meta name="twitter:title" content="CoMSES Net Education">
<meta name="twitter:description" content="CoMSES Net training modules provide guidance on good practices for computational modeling and sharing your work with FAIR principles for research software (FAIR4RS) and FORCE11 Software Citation Principles in mind.">
<meta name="twitter:image" content="{{ static('images/logo-comses.png') }}">
{% endblock ogp_tags%}
{{ render_ogp_tags(url="https://www.comses.net/", title="CoMSES Net Education", description="CoMSES Net training modules provide guidance on good practices for computational modeling and sharing your work with FAIR principles for research software (FAIR4RS) and FORCE11 Software Citation Principles in mind.") }}
{% endblock ogp_tags %}

{% block title %}{{ page.title }}{% endblock %}

Expand Down
16 changes: 2 additions & 14 deletions django/library/jinja2/library/codebases/list.jinja
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{% extends "search_layout.jinja" %}
{% from "common.jinja" import list_page, paginator, breadcrumb, search_bar %}
{% from "common.jinja" import list_page, paginator, breadcrumb, search_bar, render_ogp_tags %}
{% from "library/codebases/macros.jinja" import render_codebase_result %}

{% block title %}CoMSES Net Computational Model Library{% endblock %}
Expand All @@ -24,19 +24,7 @@
{% endblock %}

{% block ogp_tags %}
<!-- Facebook Meta Tags -->
<meta property="og:url" content="https://www.comses.net/codebases/">
<meta property="og:type" content="website">
<meta property="og:title" content="Community Codebases">
<meta property="og:description" content="View all codebases related to CoMSES">
<meta property="og:image" content="{{ static('images/logo-comses.png') }}">
<!-- Twitter Meta Tags -->
<meta name="twitter:card" content="summary_large_image">
<meta property="twitter:domain" content="comses.net">
<meta property="twitter:url" content="https://www.comses.net/codebases/">
<meta name="twitter:title" content="Community codebases">
<meta name="twitter:description" content="View all codebases related to CoMSES">
<meta name="twitter:image" content="{{ static('images/logo-comses.png') }}">
{{ render_ogp_tags(url="https://www.comses.net/codebases/", title="Community Codebases", description="View all codebases related to CoMSES") }}
{% endblock ogp_tags %}

{% block content %}
Expand Down
10 changes: 8 additions & 2 deletions django/library/jinja2/library/codebases/releases/retrieve.jinja
Original file line number Diff line number Diff line change
Expand Up @@ -62,14 +62,20 @@
<meta property="og:type" content="article">
<meta property="og:title" content="{{ codebase.title }}">
<meta property="og:description" content="{{ codebase.summarized_description }}">
<meta property="og:image" content="{{ codebase.get_featured_image() }}">
{% if codebase.featured_images.exists() %}
<meta property="og:image" content="{{ codebase.get_featured_rendition_url() }}">
<meta property="twitter:image" content="{{ codebase.get_featured_rendition_url() }}">
{% else %}
<!-- Provide a fallback image URL -->
<meta property="og:image" content="{{ static('images/logo-comses.png') }}">
<meta property="twitter:image" content="{{ static('images/logo-comses.png') }}">
{% endif %}
<!-- Twitter Meta Tags -->
<meta name="twitter:card" content="summary_large_image">
<meta property="twitter:domain" content="comses.net">
<meta property="twitter:url" content="{{ request.build_absolute_uri(absolute_url) }}">
<meta name="twitter:title" content="{{ codebase.title }}">
<meta name="twitter:description" content="{{ codebase.summarized_description }}">
<meta name="twitter:image" content="{{ codebase.get_featured_image() }}">
{% endblock ogp_tags %}

{% block content %}
Expand Down
6 changes: 6 additions & 0 deletions django/library/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -624,6 +624,12 @@ def get_image_urls(self, spec="max-900x600"):
pass # image does not exist
return urls

def get_featured_rendition_url(self):
featured_image = self.get_featured_image()
if featured_image:
return featured_image.get_rendition("max-900x600").url
return None

def subpath(self, *args):
return pathlib.Path(self.base_library_dir, *args)

Expand Down
Loading