Compare commits

...

10 commits

Author SHA1 Message Date
8f28d9a11d Strip tags for twitter card title 2020-02-19 11:43:52 +01:00
1057189416 Merge branch 'master' of https://github.com/arulrajnet/attila into upstream 2020-02-19 10:57:30 +01:00
Arul
b7c3285563
Gitub actions (#53)
* push action

Initial scratch pad

* #26 requirements.txt added

* #26 unit test failures fixes

* #26 install theme in action

python3 compatible test

* #26 test failure fixes based on new pelican

* #26 python3 test fixes
2019-09-02 22:27:15 +05:30
Arul
a31ff4e2c9
Merge pull request #51 from sio/fix-js-vulnerability
Fix Javascript issues
2019-08-31 14:03:39 +05:30
Vitaly Potyarkin
73e216f522 Proper handling of canonical URLs (#52)
* add canonical_url block to base.html, change canonical url for pages

* Avoid nesting block within block

That leads to repeating the block twice instead of replacing its value
from `base.html`
2019-08-31 14:02:27 +05:30
Vitaly Potyarkin
f576582b9b Remove unused functionality from script.js
It was causing an error in console.log
2019-08-28 12:23:52 +03:00
Vitaly Potyarkin
19ccfbdeaf Use jQuery from Google CDN 2019-08-28 11:57:26 +03:00
Vitaly Potyarkin
ab0dbd5542 Import script.js from the Ghost theme
Source repo (MIT): https://github.com/zutrinken/attila
Last modified: Mon Sep 3 11:42:49 2018 +0200
Commit: 6c3b7fff419e1350da55f91d8a4362dd40175e84
Tag: 1.7.5
2019-08-28 11:48:12 +03:00
Vitaly Potyarkin
c7698d2b31 Revert changes to header id for blog posts (#49) 2019-07-31 21:45:56 +05:30
Arul
e7a78c4ff7
#44 no default cover (#45)
support for HOME_COVER and HOME_COLOR
2019-03-11 07:53:39 +05:30
22 changed files with 305 additions and 78 deletions

28
.github/workflows/main.yml vendored Normal file
View file

@ -0,0 +1,28 @@
name: Python package
on: [push]
jobs:
build:
runs-on: ubuntu-18.04
strategy:
max-parallel: 4
matrix:
python-version: [2.7, 3.5, 3.6, 3.7]
steps:
- uses: actions/checkout@v1
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v1
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r tests/requirements.txt
pelican-themes -i ../attila
- name: Test with pytest
run: |
cd tests
pytest

1
.gitignore vendored
View file

@ -1,3 +1,4 @@
*.pyc
*.log
output
tests/.cache/

View file

@ -81,14 +81,20 @@ You can set cover images for your blog, article, page, tag, category and author.
The is the cover image for your site main index.html.
To set blog cover, set the property `HEADER_COVER` in
To set blog cover, set the property `HOME_COVER` in
`pelicanconf.py`:
[source,python]
----
HEADER_COVER = '/assets/images/blog_cover.png'
HOME_COVER = '/assets/images/blog_cover.png'
----
[NOTE]
====
HEADER_COVER property is deprecated. Work around will be use HOME_COVER and use cover in individual articles.
This property will be used if there is no cover image set to an article, page, tag, category, author.
====
[[article-cover]]
==== Article Cover
@ -167,17 +173,22 @@ For more refer link:#author-bio[author] .
=== Header Color
To define a simple header background color, set the property
`HEADER_COLOR` in `pelicanconf.py`:
`HOME_COLOR` in `pelicanconf.py`:
[source,python]
----
HEADER_COLOR = 'black'
HOME_COLOR = 'black'
----
you can use any valid css color. This will be used if there is no cover
image set in link:#articles[article] level and site level.
This property will be used if there is no cover image set to an article, page, tag, category, author.
[NOTE]
====
HEADER_COLOR property is deprecated. Work around will be use HOME_COLOR and use color in individual articles.
This property will be used if there is no HEADER_COVER and cover image set to an article, page, tag, category, author.
====
[[social-urls]]
=== Social URLs

File diff suppressed because one or more lines are too long

View file

@ -15,7 +15,7 @@
{% block header %}
<!-- Page Header -->
<!-- Set your background image for this header on the line below. -->
<header id="blog-header" class="has-cover">
<header id="blog-header" {% if selected_cover or selected_color %}class="has-cover"{% endif %}>
<div class="inner">
<nav id="navigation">
{% if SITE_LOGO %}
@ -36,8 +36,6 @@
<div class="blog-cover cover" style="background-image: url('{{ selected_cover }}')">
{% elif selected_color %}
<div class="blog-cover cover" style="background-color: {{ selected_color }}">
{% else %}
<div class="blog-cover cover" style="background-image: url('{{ SITEURL }}/{{ THEME_STATIC_DIR }}/images/post-bg.jpg')">
{% endif %}
</div>
</header>

View file

@ -27,10 +27,10 @@
{% set selected_color = HEADER_COLOR %}
{% endif %}
{% block canonical_url %}<link href="{{ SITEURL }}/{{ article.url }}" rel="canonical" />{% endblock canonical_url %}
{% block head %}
{{ super() }}
<link href="{{ SITEURL }}/{{ article.url }}" rel="canonical" />
{% for keyword in article.keywords %}
<meta name="keywords" content="{{keyword}}" >
{% endfor %}
@ -63,7 +63,7 @@
<!-- Page Header -->
<!-- Set your background image for this header on the line below. -->
<header id="post-header" class="has-cover">
<header id="post-header" {% if selected_cover or selected_color %}class="has-cover"{% endif %}>
<div class="inner">
<nav id="navigation">
{% if SITE_LOGO %}
@ -102,8 +102,6 @@
<div class="post-cover cover" style="background-image: url('{{ selected_cover }}')">
{% elif selected_color %}
<div class="post-cover cover" style="background-color: {{ selected_color }}">
{% else %}
<div class="post-cover cover" style="background-image: url('{{ SITEURL }}/{{ THEME_STATIC_DIR }}/images/post-bg.jpg')">
{% endif %}
</div>
</header>

View file

@ -46,7 +46,7 @@
{% block header %}
<!-- Page Header -->
<!-- Set your background image for this header on the line below. -->
<header id="blog-header" class="has-cover">
<header id="blog-header" {% if selected_cover or selected_color %}class="has-cover"{% endif %}>
<div class="inner">
<nav id="navigation">
{% if SITE_LOGO %}
@ -66,14 +66,12 @@
<div class="blog-cover cover" style="background-image: url('{{ selected_cover }}')">
{% elif selected_color %}
<div class="blog-cover cover" style="background-color: {{ selected_color }}">
{% else %}
<div class="blog-cover cover" style="background-image: url('{{ SITEURL }}/{{ THEME_STATIC_DIR }}/images/post-bg.jpg')">
{% endif %}
</div>
</header>
{% if AUTHORS_BIO and author.name.lower() in AUTHORS_BIO %}
<section id="blog-author" class="has-cover" >
<section id="blog-author" {% if selected_cover or selected_color %}class="has-cover"{% endif %} >
<div class="inner">
<aside class="post-author">
{% if selected_avatar %}

View file

@ -16,7 +16,7 @@
{% block header %}
<!-- Page Header -->
<!-- Set your background image for this header on the line below. -->
<header id="blog-header" class="has-cover">
<header id="blog-header" {% if selected_cover or selected_color %}class="has-cover"{% endif %}>
<div class="inner">
<nav id="navigation">
{% if SITE_LOGO %}
@ -37,8 +37,6 @@
<div class="blog-cover cover" style="background-image: url('{{ selected_cover }}')">
{% elif selected_color %}
<div class="blog-cover cover" style="background-color: {{ selected_color }}">
{% else %}
<div class="blog-cover cover" style="background-image: url('{{ SITEURL }}/{{ THEME_STATIC_DIR }}/images/post-bg.jpg')">
{% endif %}
</div>
</header>

View file

@ -21,7 +21,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="referrer" content="origin" />
<meta name="generator" content="Pelican" />
<link href="{{ SITEURL }}/" rel="canonical" />
{% block canonical_url %}<link href="{{ SITEURL }}/" rel="canonical" />{% endblock canonical_url %}
<!-- Feed -->
{% for name,link in SOCIAL if name.lower() in ['rss', 'rss-square', 'feed'] %}
@ -116,6 +116,7 @@
</footer>
</section>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script type="text/javascript" src="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/js/script.js"></script>
{% if JS_OVERRIDE %}

View file

@ -15,7 +15,7 @@
{% block header %}
<!-- Page Header -->
<!-- Set your background image for this header on the line below. -->
<header id="blog-header" class="has-cover">
<header id="blog-header" {% if selected_cover or selected_color %}class="has-cover"{% endif %}>
<div class="inner">
<nav id="navigation">
{% if SITE_LOGO %}
@ -36,8 +36,6 @@
<div class="blog-cover cover" style="background-image: url('{{ selected_cover }}')">
{% elif selected_color %}
<div class="blog-cover cover" style="background-color: {{ selected_color }}">
{% else %}
<div class="blog-cover cover" style="background-image: url('{{ SITEURL }}/{{ THEME_STATIC_DIR }}/images/post-bg.jpg')">
{% endif %}
</div>
</header>

View file

@ -23,7 +23,7 @@
{% block header %}
<!-- Page Header -->
<!-- Set your background image for this header on the line below. -->
<header id="blog-header" class="has-cover">
<header id="blog-header" {% if selected_cover or selected_color %}class="has-cover"{% endif %}>
<div class="inner">
<nav id="navigation">
{% if SITE_LOGO %}
@ -45,8 +45,6 @@
<div class="blog-cover cover" style="background-image: url('{{ selected_cover }}')">
{% elif selected_color %}
<div class="blog-cover cover" style="background-color: {{ selected_color }}">
{% else %}
<div class="blog-cover cover" style="background-image: url('{{ SITEURL }}/{{ THEME_STATIC_DIR }}/images/post-bg.jpg')">
{% endif %}
</div>
</header>

View file

@ -12,14 +12,22 @@
{% else %}
{% set selected_cover = SITEURL+"/"+HEADER_COVER %}
{% endif %}
{% elif HOME_COVER %}
{% if HOME_COVER|lower|truncate(4, True, '') == "http" %}
{% set selected_cover = HOME_COVER %}
{% else %}
{% set selected_cover = SITEURL+"/"+HOME_COVER %}
{% endif %}
{% elif HEADER_COLOR %}
{% set selected_color = HEADER_COLOR %}
{% elif HOME_COLOR %}
{% set selected_color = HOME_COLOR %}
{% endif %}
{% block header %}
<!-- Page Header -->
<!-- Set your background image for this header on the line below. -->
<header id="blog-header" class="has-cover">
<header id="blog-header" {% if selected_cover or selected_color %}class="has-cover"{% endif %}>
<div class="inner">
<nav id="navigation">
{% if SITE_LOGO %}
@ -40,8 +48,6 @@
<div class="blog-cover cover" style="background-image: url('{{ selected_cover }}')">
{% elif selected_color %}
<div class="blog-cover cover" style="background-color: {{ selected_color }}">
{% else %}
<div class="blog-cover cover" style="background-image: url('{{ SITEURL }}/{{ THEME_STATIC_DIR }}/images/post-bg.jpg')">
{% endif %}
</div>
</header>

View file

@ -2,6 +2,10 @@
{% block title %}{{ page.title }}{% endblock title %}
{% block canonical_url %}
<link href="{{ SITEURL }}/{{ page.url }}" rel="canonical" />
{% endblock canonical_url %}
{# <!-- Choosing cover image --> #}
{% if page.cover %}
{% if page.cover|lower|truncate(4, True, '') == "http" %}
@ -30,7 +34,7 @@
{% block header %}
<!-- Page Header -->
<!-- Set your background image for this header on the line below. -->
<header id="post-header" class="has-cover">
<header id="post-header" {% if selected_cover or selected_color %}class="has-cover"{% endif %}>
<div class="inner">
<nav id="navigation">
{% if SITE_LOGO %}
@ -51,8 +55,6 @@
<div class="post-cover cover" style="background-image: url('{{ selected_cover }}')">
{% elif selected_color %}
<div class="post-cover cover" style="background-color: {{ selected_color }}">
{% else %}
<div class="post-cover cover" style="background-image: url('{{ SITEURL }}/{{ THEME_STATIC_DIR }}/images/post-bg.jpg')">
{% endif %}
</div>
</header>

View file

@ -57,7 +57,7 @@
{% for name,link in SOCIAL if name.lower() in ['twitter'] %}
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="@{{ link|replace('http://', 'https://')|replace('https://twitter.com/', '') }}">
<meta name="twitter:title" content="{{ article.title }}">
<meta name="twitter:title" content="{{ article.title | striptags }}">
<meta name="twitter:url" content="{{ SITEURL }}/{{ article.url }}">
{% if article.twitter_image %}

View file

@ -2,10 +2,20 @@
{% block title %}{{ SITENAME }} - Archives for {{ period | reverse | join (' ') }}{% endblock %}
{% if HEADER_COVER %}
{% if HEADER_COVER|lower|truncate(4, True, '') == "http" %}
{% set selected_cover = HEADER_COVER %}
{% else %}
{% set selected_cover = SITEURL+"/"+HEADER_COVER %}
{% endif %}
{% elif HEADER_COLOR %}
{% set selected_color = HEADER_COLOR %}
{% endif %}
{% block header %}
<!-- Page Header -->
<!-- Set your background image for this header on the line below. -->
<header id="blog-header" class="has-cover">
<header id="blog-header" {% if selected_cover or selected_color %}class="has-cover"{% endif %}>
<div class="inner">
<nav id="navigation">
{% if SITE_LOGO %}
@ -22,12 +32,10 @@
</span>
</nav>
<h1 class="post-title">Archives for {{ period | reverse | join (' ') }}</h1>
{% if HEADER_COVER %}
<div class="blog-cover cover" style="background-image: url('{{ HEADER_COVER }}')">
{% elif HEADER_COLOR %}
<div class="post-cover cover" style="background-color: {{ HEADER_COLOR }}">
{% else %}
<div class="post-cover cover" style="background-image: url('{{ SITEURL }}/{{ THEME_STATIC_DIR }}/images/post-bg.jpg')">
{% if selected_cover %}
<div class="blog-cover cover" style="background-image: url('{{ selected_cover }}')">
{% elif selected_color %}
<div class="blog-cover cover" style="background-color: {{ selected_color }}">
{% endif %}
</div>
</header>

View file

@ -23,7 +23,7 @@
{% block header %}
<!-- Page Header -->
<!-- Set your background image for this header on the line below. -->
<header id="blog-header" class="has-cover">
<header id="blog-header" {% if selected_cover or selected_color %}class="has-cover"{% endif %}>
<div class="inner">
<nav id="navigation">
{% if SITE_LOGO %}
@ -45,8 +45,6 @@
<div class="blog-cover cover" style="background-image: url('{{ selected_cover }}')">
{% elif selected_color %}
<div class="blog-cover cover" style="background-color: {{ selected_color }}">
{% else %}
<div class="blog-cover cover" style="background-image: url('{{ SITEURL }}/{{ THEME_STATIC_DIR }}/images/post-bg.jpg')">
{% endif %}
</div>
</header>

View file

@ -15,7 +15,7 @@
{% block header %}
<!-- Page Header -->
<!-- Set your background image for this header on the line below. -->
<header id="blog-header" class="has-cover">
<header id="blog-header" {% if selected_cover or selected_color %}class="has-cover"{% endif %}>
<div class="inner">
<nav id="navigation">
{% if SITE_LOGO %}
@ -36,8 +36,6 @@
<div class="blog-cover cover" style="background-image: url('{{ selected_cover }}')">
{% elif selected_color %}
<div class="blog-cover cover" style="background-color: {{ selected_color }}">
{% else %}
<div class="blog-cover cover" style="background-image: url('{{ SITEURL }}/{{ THEME_STATIC_DIR }}/images/post-bg.jpg')">
{% endif %}
</div>
</header>

View file

@ -4,6 +4,7 @@ from __future__ import unicode_literals
AUTHOR = u'Zutrinken'
SITENAME = u'Attila Demo'
SITESUBTITLE = u'Blog description here.'
SITEURL = ''
PATH = 'content'
@ -114,6 +115,18 @@ COLOR_SCHEME_CSS = 'github.css'
CSS_OVERRIDE = ['assets/css/myblog.css']
# Jinja config - Pelican 4
JINJA_ENVIRONMENT = {
'extensions' :[
'jinja2.ext.loopcontrols',
'jinja2.ext.i18n',
'jinja2.ext.with_',
'jinja2.ext.do'
]
}
JINJA_FILTERS = {'max': max}
# AUTHORS_BIO = {
# "arul": {
# "name": "Arul",

3
tests/requirements.txt Normal file
View file

@ -0,0 +1,3 @@
pelican
BeautifulSoup4
pytest

View file

@ -246,10 +246,15 @@ class BaseTest(object):
def gen_article_and_html_from_rst(self, rstPath):
content, metadata = self.reader.read(rstPath)
article = Article(content=content, metadata=metadata)
generator = ArticlesGenerator( context=self.settings.copy(), settings=self.settings, path=CONTENT_DIR, theme=self.settings['THEME'], output_path=OUTPUT_DIR)
context = self.settings.copy()
context['generated_content'] = {}
context['static_links'] = set()
context['static_content'] = {}
context['localsiteurl'] = self.settings['SITEURL']
generator = ArticlesGenerator( context=context, settings=self.settings, path=CONTENT_DIR, theme=self.settings['THEME'], output_path=OUTPUT_DIR)
generator.generate_context()
f = lambda a: True if (a.slug == article.slug) else False
result = filter(f, generator.context["articles"])[0]
result = list(filter(f, generator.context["articles"]))[0]
self.writer.write_file(
result.save_as, generator.get_template('article'),
generator.context, article=result)
@ -259,10 +264,15 @@ class BaseTest(object):
def gen_page_and_html_from_rst(self, rstPath):
content, metadata = self.reader.read(rstPath)
page = Page(content=content, metadata=metadata)
generator = PagesGenerator( context=self.settings.copy(), settings=self.settings, path=CONTENT_DIR, theme=self.settings['THEME'], output_path=OUTPUT_DIR)
context = self.settings.copy()
context['generated_content'] = {}
context['static_links'] = set()
context['static_content'] = {}
context['localsiteurl'] = self.settings['SITEURL']
generator = PagesGenerator( context=context, settings=self.settings, path=CONTENT_DIR, theme=self.settings['THEME'], output_path=OUTPUT_DIR)
generator.generate_context()
f = lambda a: True if (a.slug == page.slug) else False
result = filter(f, generator.context["pages"])[0]
result = list(filter(f, generator.context["pages"]))[0]
self.writer.write_file(
result.save_as, generator.get_template('page'),
generator.context, page=result)
@ -270,7 +280,12 @@ class BaseTest(object):
return (result, soup)
def gen_tag_and_html_from_name(self, name):
generator = ArticlesGenerator( context=self.settings.copy(), settings=self.settings, path=CONTENT_DIR, theme=self.settings['THEME'], output_path=OUTPUT_DIR)
context = self.settings.copy()
context['generated_content'] = {}
context['static_links'] = set()
context['static_content'] = {}
context['localsiteurl'] = self.settings['SITEURL']
generator = ArticlesGenerator( context=context, settings=self.settings, path=CONTENT_DIR, theme=self.settings['THEME'], output_path=OUTPUT_DIR)
generator.generate_context()
generator.generate_tags(self.writer.write_file)
selectedTag = None
@ -283,7 +298,12 @@ class BaseTest(object):
return (selectedTag, soup)
def gen_category_and_html_from_name(self, name):
generator = ArticlesGenerator( context=self.settings.copy(), settings=self.settings, path=CONTENT_DIR, theme=self.settings['THEME'], output_path=OUTPUT_DIR)
context = self.settings.copy()
context['generated_content'] = {}
context['static_links'] = set()
context['static_content'] = {}
context['localsiteurl'] = self.settings['SITEURL']
generator = ArticlesGenerator( context=context, settings=self.settings, path=CONTENT_DIR, theme=self.settings['THEME'], output_path=OUTPUT_DIR)
generator.generate_context()
generator.generate_categories(self.writer.write_file)
selectedCategory = None
@ -296,7 +316,12 @@ class BaseTest(object):
return (selectedCategory, soup)
def gen_author_and_html_from_name(self, name):
generator = ArticlesGenerator( context=self.settings.copy(), settings=self.settings, path=CONTENT_DIR, theme=self.settings['THEME'], output_path=OUTPUT_DIR)
context = self.settings.copy()
context['generated_content'] = {}
context['static_links'] = set()
context['static_content'] = {}
context['localsiteurl'] = self.settings['SITEURL']
generator = ArticlesGenerator( context=context, settings=self.settings, path=CONTENT_DIR, theme=self.settings['THEME'], output_path=OUTPUT_DIR)
generator.generate_context()
generator.generate_authors(self.writer.write_file)
selectedAuthor = None

View file

@ -10,7 +10,7 @@ def tearDownModule():
print("teardown module")
try:
rmtree(OUTPUT_DIR)
except OSError, e:
except OSError as e:
print ("Error: %s - %s." % (e.filename,e.strerror))
class AuthorSocialLinksTest(unittest.TestCase, BaseTest):

View file

@ -13,7 +13,7 @@ def tearDownModule():
print("teardown module")
try:
rmtree(OUTPUT_DIR)
except OSError, e:
except OSError as e:
print ("Error: %s - %s." % (e.filename,e.strerror))
class ArticleCoverImageTest(unittest.TestCase, BaseTest):
@ -59,9 +59,9 @@ class ArticleCoverImageTest(unittest.TestCase, BaseTest):
def test_article_theme_cover(self):
rstPath="content/article_without_cover.rst"
result, soup = self.gen_article_and_html_from_rst(rstPath)
selected = soup.find(name="div", attrs={"class": "post-cover cover"})
selected = soup.find(id="post-header")
# Assertion
self.assertTrue("/theme/images/post-bg.jpg" in selected["style"])
self.assertTrue("class" not in selected)
def test_article_header_color(self):
self.settings['HEADER_COLOR']='blue'
@ -120,9 +120,9 @@ class PageCoverImageTest(unittest.TestCase, BaseTest):
def test_page_theme_cover(self):
rstPath="content/pages/page_without_cover_image.rst"
result, soup = self.gen_page_and_html_from_rst(rstPath)
selected = soup.find(name="div", attrs={"class": "post-cover cover"})
selected = soup.find(id="post-header")
# Assertion
self.assertTrue("/theme/images/post-bg.jpg" in selected["style"])
self.assertTrue("class" not in selected)
def test_page_header_color(self):
self.settings['HEADER_COLOR']='blue'
@ -156,9 +156,9 @@ class TagCoverImageTest(unittest.TestCase, BaseTest):
def test_footag_theme_cover(self):
result, soup = self.gen_tag_and_html_from_name("footag")
selected = soup.find(name="div", attrs={"class": "blog-cover cover"})
selected = soup.find(id="blog-header")
# Assertion
self.assertTrue("/theme/images/post-bg.jpg" in selected["style"])
self.assertTrue("class" not in selected)
def test_footag_cover(self):
tagName = "footag"
@ -204,9 +204,9 @@ class TagCoverImageTest(unittest.TestCase, BaseTest):
def test_bartag_theme_cover(self):
result, soup = self.gen_tag_and_html_from_name("bartag")
selected = soup.find(name="div", attrs={"class": "blog-cover cover"})
selected = soup.find(id="blog-header")
# Assertion
self.assertTrue("/theme/images/post-bg.jpg" in selected["style"])
self.assertTrue("class" not in selected)
def test_bartag_cover(self):
tagName = "bartag"
@ -261,9 +261,9 @@ class CategoryCoverImageTest(unittest.TestCase, BaseTest):
def test_foo_theme_cover(self):
result, soup = self.gen_category_and_html_from_name("foo")
selected = soup.find(name="div", attrs={"class": "blog-cover cover"})
selected = soup.find(id="blog-header")
# Assertion
self.assertTrue("/theme/images/post-bg.jpg" in selected["style"])
self.assertTrue("class" not in selected)
def test_foo_cover(self):
categoryName = "foo"
@ -309,9 +309,9 @@ class CategoryCoverImageTest(unittest.TestCase, BaseTest):
def test_bar_theme_cover(self):
result, soup = self.gen_category_and_html_from_name("bar")
selected = soup.find(name="div", attrs={"class": "blog-cover cover"})
selected = soup.find(id="blog-header")
# Assertion
self.assertTrue("/theme/images/post-bg.jpg" in selected["style"])
self.assertTrue("class" not in selected)
def test_bar_cover(self):
categoryName = "bar"
@ -365,9 +365,9 @@ class AuthorCoverImageTest(unittest.TestCase, BaseTest):
def test_arul_theme_cover(self):
result, soup = self.gen_author_and_html_from_name("arul")
selected = soup.find(name="div", attrs={"class": "blog-cover cover"})
selected = soup.find(id="blog-header")
# Assertion
self.assertTrue("/theme/images/post-bg.jpg" in selected["style"])
self.assertTrue("class" not in selected)
def test_arul_cover(self):
authorName = "arul"
@ -417,9 +417,9 @@ class AuthorCoverImageTest(unittest.TestCase, BaseTest):
def test_raj_theme_cover(self):
result, soup = self.gen_author_and_html_from_name("raj")
selected = soup.find(name="div", attrs={"class": "blog-cover cover"})
selected = soup.find(id="blog-header")
# Assertion
self.assertTrue("/theme/images/post-bg.jpg" in selected["style"])
self.assertTrue("class" not in selected)
def test_raj_cover(self):
authorName = "raj"