Skip to content

Commit

Permalink
Add archive automation (#272)
Browse files Browse the repository at this point in the history
* Create archive file and push to main branch

* Fix some mistakes in email template
  • Loading branch information
ohmydevops authored Jul 16, 2021
1 parent 3d63dad commit 14147f8
Show file tree
Hide file tree
Showing 5 changed files with 123 additions and 33 deletions.
13 changes: 13 additions & 0 deletions .github/workflows/production.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -34,3 +34,16 @@ jobs:
BOTTOM_CONTENT_HTML: ${{ env.BOTTOM_CONTENT_HTML }}
TOP_CONTENT_HTML: ${{ env.TOP_CONTENT_HTML }}
SEND_ENV: "production"

- name: Commit Archive file
run: |
git config --local user.email "[email protected]"
git config --local user.name "ohmydevops"
git add -A
git commit -m "Add Archive"
- name: Push Archive file
uses: ad-m/github-push-action@master
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
branch: main
2 changes: 1 addition & 1 deletion BOTTOM_CONTENT_HTML.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
<p style="font-size: 16px; text-align: center; font-family: 'Samim'; direction: rtl; color: #263238; "><img src='https://pakat.net/wp-content/uploads/2020/02/pakat-new-logo-white_00ea005b1_2512.png'><br> ارسال شده توسط <a href="https://pakat.net/">پاکت</a></p><p style=" font-size: 14px; text-align: center; font-family: 'Samim'; direction: rtl; color: #263238; "> <a href="https://pakat.net/">سرویسِ پاکت</a> اسپانسرِ ارسالِ ایمیل‌هایِ این خبرنامه است. با کدِ تخفیفِ sota10 می‌توانید از ۱۰ درصدِ تخفیف در خرید پلن‌هایِ پاکت بهره‌مند شوید</p>
<p style="font-size: 16px; text-align: center; font-family: 'Samim'; direction: rtl; color: #263238;"><img src='https://pakat.net/wp-content/uploads/2020/02/pakat-new-logo-white_00ea005b1_2512.png' alt='Pakat Logo'><br/> ارسال شده توسط <a href="https://pakat.net/">پاکت</a></p><p style="font-size: 14px; text-align: center; font-family: 'Samim'; direction: rtl; color: #263238;"> <a href="https://pakat.net/">سرویسِ پاکت</a> اسپانسرِ ارسالِ ایمیل‌هایِ این خبرنامه است. با کدِ تخفیفِ sota10 می‌توانید از ۱۰ درصدِ تخفیف در خرید پلن‌هایِ پاکت بهره‌مند شوید</p>
44 changes: 19 additions & 25 deletions EMAIL_TEMPLATES/newsletter.html
Original file line number Diff line number Diff line change
@@ -1,15 +1,17 @@
<!DOCTYPE HTML>
<html dir="rtl" lang="fa">
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
<title>خبرنامه‌ ‌نرم‌افزاری SoftwareTalks</title>
<meta charset="utf-8" />
<style>
@font-face {
font-family: 'Samim';
src: url('https://cdn.fontcdn.ir/Font/Persian/Samim/Samim.eot');
src: url('https://cdn.fontcdn.ir/Font/Persian/Samim/Samim.eot?#iefix') format('embedded-opentype'),
url('https://cdn.fontcdn.ir/Font/Persian/Samim/Samim.woff') format('woff'), url('https://cdn.fontcdn.ir/Font/Persian/Samim/Samim.ttf') format('truetype');
url('https://cdn.fontcdn.ir/Font/Persian/Samim/Samim.woff') format('woff'),
url('https://cdn.fontcdn.ir/Font/Persian/Samim/Samim.ttf') format('truetype');
font-weight: normal;
}

@font-face {
font-family: 'Samim';
src: url('https://cdn.fontcdn.ir/Font/Persian/Samim/Samim-Bold.eot');
Expand All @@ -18,47 +20,40 @@
url('https://cdn.fontcdn.ir/Font/Persian/Samim/Samim-Bold.ttf') format('truetype');
font-weight: bold;
}

ul {
padding: 0 25px;
padding: 0 0;
list-style-type: none;
}

ul li:first-of-type {
padding-top: 50px;
padding-top: 10px;
}
</style>
</head>

<body style="max-width: 680px; margin: 0 auto">
<body style="max-width: 680px; margin: 0 auto;">
<br /><br />
<img
src="https://newsletter.softwaretalks.ir/favicons/apple-touch-icon.png"
alt="Softwaretalks"
style="margin: 2.1em auto; display: block; width: 130px; border-radius: 5px"
/>
<h1 style="font-size: 25px; text-align: center; font-family: 'Samim', sans-serif; direction: rtl; font-weight: bold; color: #263238">خبرنامهٔ Softwaretalks</h1>
<h3 style="font-size: 18px; text-align: center; font-family: 'Samim', sans-serif; direction: rtl; color: #263238">
alt="Softwaretalks Logo"
style="margin: 2.1em auto; display: block; width: 130px; border-radius: 5px;"
>
<h1 style="font-size: 25px; text-align: center; font-family: 'Samim', sans-serif; direction: rtl; font-weight: bold; color: #263238;">خبرنامهٔ Softwaretalks</h1>
<h3 style="font-size: 18px; text-align: center; font-family: 'Samim', sans-serif; direction: rtl; color: #263238;">
شمارهٔ {{ newsletterNumber }} - {{ currentDate }}
</h3>
{% if topContent is not empty %}
<span> {{ topContent|raw }} </span>
<div> {{ topContent|raw }} </div>
{% endif %}
<hr />
<ul style="text-align: right; font-family: 'Samim', sans-serif; direction: rtl;">
{% for post in posts %}
<a href="{{ post.postLink }}">
<li style="font-size: 18px;">
<b>{{ post.postTitle }}</b>
<li style="font-size: 18px; margin-top: 30px;">
<a style="color: black;" href="{{ post.postLink }}"><b>{{ post.postTitle }}</b></a><br/>{{ post.postDescription }}
</li>
</a>
<p>{{ post.postDescription }}</p>
{% if loop.last != true %}
<br />
{% endif %} {% endfor %}
{% endfor %}
</ul>
<hr />
<p style="font-size: 13px; font-family: 'Samim', sans-serif; direction: rtl; text-align: right">
<p style="font-size: 13px; font-family: 'Samim', sans-serif; direction: rtl; text-align: right;">
تأمین‌کنندگانِ محتوا در این شماره از خبرنامه: {% for contributor in contributors %} {% if loop.last %}
<b>{{ contributor }}</b>
{% else %}
Expand All @@ -67,8 +62,7 @@ <h3 style="font-size: 18px; text-align: center; font-family: 'Samim', sans-serif
</p>
{% if bottomContent is not empty %}
<hr />
<span> {{ bottomContent|raw }} </span>
<hr />
<div> {{ bottomContent|raw }} </div>
{% endif %}
<br />
</body>
Expand Down
65 changes: 65 additions & 0 deletions archives/num24.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
<!DOCTYPE HTML>
<html dir="rtl" lang="fa">
<head>
<title>خبرنامه‌ ‌نرم‌افزاری SoftwareTalks</title>
<meta charset="utf-8" />
<style>
@font-face {
font-family: 'Samim';
src: url('https://cdn.fontcdn.ir/Font/Persian/Samim/Samim.eot');
src: url('https://cdn.fontcdn.ir/Font/Persian/Samim/Samim.eot?#iefix') format('embedded-opentype'),
url('https://cdn.fontcdn.ir/Font/Persian/Samim/Samim.woff') format('woff'),
url('https://cdn.fontcdn.ir/Font/Persian/Samim/Samim.ttf') format('truetype');
font-weight: normal;
}
@font-face {
font-family: 'Samim';
src: url('https://cdn.fontcdn.ir/Font/Persian/Samim/Samim-Bold.eot');
src: url('https://cdn.fontcdn.ir/Font/Persian/Samim/Samim-Bold.eot?#iefix') format('embedded-opentype'),
url('https://cdn.fontcdn.ir/Font/Persian/Samim/Samim-Bold.woff') format('woff'),
url('https://cdn.fontcdn.ir/Font/Persian/Samim/Samim-Bold.ttf') format('truetype');
font-weight: bold;
}
ul {
padding: 0 0;
list-style-type: none;
}
ul li:first-of-type {
padding-top: 10px;
}
</style>
</head>

<body style="max-width: 680px; margin: 0 auto;">
<br /><br />
<img
src="https://newsletter.softwaretalks.ir/favicons/apple-touch-icon.png"
alt="Softwaretalks Logo"
style="margin: 2.1em auto; display: block; width: 130px; border-radius: 5px;"
>
<h1 style="font-size: 25px; text-align: center; font-family: 'Samim', sans-serif; direction: rtl; font-weight: bold; color: #263238;">خبرنامهٔ Softwaretalks</h1>
<h3 style="font-size: 18px; text-align: center; font-family: 'Samim', sans-serif; direction: rtl; color: #263238;">
شمارهٔ ۲۴ - جمعه، ۲۵ تیر ۱۴۰۰
</h3>
<hr />
<ul style="text-align: right; font-family: 'Samim', sans-serif; direction: rtl;">
<li style="font-size: 18px; margin-top: 30px;">
<a style="color: black;" href="http://info.cern.ch/"><b>اولین وبسایت جهان را ببینید</b></a><br/>روزهایی که تیم‌های فنی در آزمایشگاه CERN تونستن پروتکل HTTP رو پیاده‌سازی و اجرا کنند رو میشه گفت اولین روزهای دنیای وب! و این لینک اولین وبسایت رو نشون میده.
</li>
<li style="font-size: 18px; margin-top: 30px;">
<a style="color: black;" href="https://google.com"><b>درباره یک موضوع جالب</b></a><br/>نسشتیبکمسشنتب کمنسشتبکمنسشتبکمنسشیتبکمنسشیتبکمنسشیتبکمنسشیتب
</li>
<li style="font-size: 18px; margin-top: 30px;">
<a style="color: black;" href="https://stitcher.io/blog/new-in-php-81"><b>بررسی امکانات PHP 8.1 که November 25, 2021 خواهد آمد</b></a><br/>اگر دوست‌ دارید بدونید در PHP 8.1 که به زودی ریلیز میشود، چه تغییراتی صورت گرفته یا چه چیزهایی افزوده شده‌است، این مطلب از آقای Brent Roose رو از دست ندید.
</li>
</ul>
<hr />
<p style="font-size: 13px; font-family: 'Samim', sans-serif; direction: rtl; text-align: right;">
تأمین‌کنندگانِ محتوا در این شماره از خبرنامه: <b>امیرحسین بقایی</b>
شما نیز می‌توانید <a href="https://newsletter.softwaretalks.ir/#contribute">مشارکت کنید</a>.
</p>
<hr />
<div> <p style="font-size: 16px; text-align: center; font-family: 'Samim'; direction: rtl; color: #263238;"><img src='https://pakat.net/wp-content/uploads/2020/02/pakat-new-logo-white_00ea005b1_2512.png' alt='Pakat Logo'><br/> ارسال شده توسط <a href="https://pakat.net/">پاکت</a></p><p style="font-size: 14px; text-align: center; font-family: 'Samim'; direction: rtl; color: #263238;"> <a href="https://pakat.net/">سرویسِ پاکت</a> اسپانسرِ ارسالِ ایمیل‌هایِ این خبرنامه است. با کدِ تخفیفِ sota10 می‌توانید از ۱۰ درصدِ تخفیف در خرید پلن‌هایِ پاکت بهره‌مند شوید</p> </div>
<br />
</body>
</html>
32 changes: 25 additions & 7 deletions main.php
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@
*/
printf('--> Generate HTML template based on issues' . PHP_EOL);
$htmlTemplate = "";
$todayDate = Chalqoz::convertEnglishNumbersToPersian(jdate()->format('%A، %d %B %Y'));

$loader = new FilesystemLoader($configs['EMAIL_TEMPLATE_DIR']);
$twig = new Environment($loader, [
Expand All @@ -84,7 +85,7 @@

try {
$htmlTemplate = $twig->render($configs['EMAIL_TEMPLATE_FILE_NAME'], [
'currentDate' => Chalqoz::convertEnglishNumbersToPersian(jdate()->format('%A، %d %B %Y')),
'currentDate' => $todayDate,
'newsletterNumber' => Chalqoz::convertEnglishNumbersToPersian($newsletterNumber),
'posts' => $posts,
'contributors' => $contributors,
Expand All @@ -97,10 +98,24 @@
die("Unable to render template: {$exception->getMessage()}" . PHP_EOL);
}

/*
*
* 4- Generate HTML archive file
*
*/
$archiveFileName = 'archives/num' . $newsletterNumber . '.html';

if($configs['SEND_ENV'] === 'production') {
$isFileCreated = file_put_contents($archiveFileName, $htmlTemplate);
if(!$isFileCreated) {
die('Archive not created.');
}
}


/*
*
* 4- Create campaign
* 5- Create campaign
*
*/
printf('--> Create campaign' . PHP_EOL);
Expand Down Expand Up @@ -134,7 +149,7 @@

/*
*
* 5- Send campaign
* 6- Send campaign
*
*/
printf('--> Send campaign. ID: ' . $campaignID . PHP_EOL);
Expand All @@ -148,7 +163,7 @@

/*
*
* 6- Close related issues
* 7- Close related issues
* It is currently manual.
*
*/
Expand All @@ -157,11 +172,14 @@

/*
*
* 7- Add archive to website
* It is currently manual.
* 8- Add archive to website
* It is currently semi-manual.
*
*/
printf(PHP_EOL . '** Please add archive to the website**' . PHP_EOL);
$newsletterNumberFaChar = Chalqoz::convertEnglishNumbersToPersian($newsletterNumber);
$todayDateWithoutYear = Chalqoz::convertEnglishNumbersToPersian(jdate()->format('%A، %d %B'));
printf(PHP_EOL . '** Please add below link to the index.html**' . PHP_EOL);
printf(PHP_EOL . "<li>خبرنامه شماره $newsletterNumberFaChar - $todayDateWithoutYear <a class='link' href='/$archiveFileName' target='_blank'><i class='em em-arrow_upper_left' aria-role='presentation' aria-label='NORTH WEST ARROW' style='font-size: 12px;'></i></a></li>" . PHP_EOL);


/*
Expand Down

0 comments on commit 14147f8

Please sign in to comment.