Table of Contents
About
Είναι σημαντικό να έχουμε μια online παρουσία σήμερα, αλλά δυστυχώς πολλές απο τις σημερινές πλατφόρμες περιορίζουν τον τρόπο που εκφράζουμε τον χαρακτήρα μας.
Ένας εύκολος τρόπος να εκφράσεις την δημιουργικότατα σου online με εύκολο τρόπο είναι μέσω μιας προσωπικής σελίδας, όπου μπορείς να μοιραστείς τα ενδιαφέροντα σου αλλά και μέσα από αυτό το process να αποκτήσεις βασικές τεχνικές γνώσεις.
Ο πιο εύκολος τρόπος που έχω βρει και θα δείξω εδώ είναι μέσω Github Pages χρησιμοποιώντας Pelican
Για να φτιάξεις την σελίδα αλλά και για να την κάνεις host στο github είναι δωρέαν, δεν έχεις να χάσεις κάτι:)
Το παράδειγμα που θα χτίσουμε είναι βασισμένο στην σελίδα μου εδώ thanosapollo.com
Requirements
- Github account
- Python & Git installed
Installing Pelican
Μπορείς να κατεβάσεις pelican χρησιμοποιώντας το package manager απο την διανομή σου, όπως:
guix install pelican #in GuixSD
sudo apt install pelican #in Debian based distros
Άμα για κάποιο λόγο έχεις προβλήματα με το package manager, είναι διαθέσιμο μέσω pip
pip install pelican # or pip3
Creating your site
Υποθέτω ότι θες χτίσεις την σελίδα σου στο ~/Developer/my-site
Εδώ φτιάχνουμε το directory που θέλουμε να έχουμε την σελίδα και ξεκινάμε το pelican-project
# Move to your desired path to create your site
cd ~/Developer
# create your sites directory
mkdir my-site
# run pelican-quickstart inside your site's directory
cd my-site
pelican-quickstart
Απάντησε τις ερωτήσεις που θα σου βγάλει με τα defaults, θα τα αλλάξουμε σε λίγο όλα
Παρατήρησε την κατάταξη του προτζεκτ σου, θα φτιάξουμε το περιέχομενο της σελίδας στο content
φάκελο
Ας δοκιμάσουμε την σελίδα μας
Μέσα στο content
φτιάχνουμε ένα file με όνομα test.md και βάζουμε τα παρακάτω
Title: An Amazing Title
Date: 2022-02-23
Summary: The summary of this amazing Article
Category: Amazing
Tags: blogs, coding
# This is a test
testing this site
Για να δεις την σελίδα σου τρέξε την παρακάτω εντολή:
# Make sure you are at ~/Developer/my-site and not inside /content
cd ~/Developer/my-site
pelican -r -l
Άνοιξε browser και μπες στο localhost:8000 για να δεις την σελίδα σου
Theming
Είμαστε σχεδόν έτοιμοι! Παρόλα αυτά, ίσως θες να βάλεις διαφορετικό theme και να μην κρατήσεις το default
Ευτυχώς το pelican έχει όλα τα themes εδώ: pelican-themes
Για τώρα όμως θα χρησιμοποιήσουμε το Flex theme
# Install Flex-theme
git clone https://github.com/alexandrevicenzi/Flex ~/Developer/my-site/themes/Flex
Pelican configuration
Αλλάζουμε τις ρυθμίσεις του Pelican για την σελίδα μας, διαγράφουμε ότι έχει μέσα το pelicanconf.py
και απλά βάζουμε το παρακάτω και το αλλάζουμε με τα στοιχεία μας.
import datetime # import datetime to setup copyright year
AUTHOR = 'Your Name'
SITEURL = "https://<username>.github.io"
SITENAME = 'My site\'s name'
SITETITLE = "My site's title"
SITESUBTITLE = "Amazing human"
SITEDESCRIPTION = "My site's description"
# SITELOGO = ''
# FAVICON = '' You can add your favicon path here
BROWSER_COLOR = "#333333"
PYGMENTS_STYLE = "monokai"
PATH = 'content'
TIMEZONE = 'Europe/Athens' # Change this to your current TIMEZONE
DEFAULT_LANG = 'en'
OUTPUT_PATH = "output" # you can change that to public
# Feed generation is usually not desired when developing
FEED_DOMAIN = "<username>.github.io/output"
FEED_ALL_ATOM = 'feed.xml'
FEED_MAX_ITEMS = 100
CATEGORY_FEED_ATOM = None
TRANSLATION_FEED_ATOM = None
AUTHOR_FEED_ATOM = None
AUTHOR_FEED_RSS = None
PYGMENTS_STYLE_DARK = 'monokai'
# Theme customization
EXTRA_PATH_METADATA = {'favicon': {'path':
'public/favicon.ico'}}
current = datetime.datetime.now() # Automate to display current year
# Flex Theme Settings
THEME = "themes/Flex"
THEME_COLOR = 'dark'
PYGMENTS_STYLE = 'emacs'
COPYRIGHT_YEAR = current.year
COPYRIGHT_NAME = "My Name"
I18N_TEMPLATES_LANG = "en"
DEFAULT_LANG = "en"
OG_LOCALE = "en_US"
LOCALE = "en_US"
SITELOGO = "Link to your github avatar logo"
THEME_COLOR_AUTO_DETECT_BROWSER_PREFERENCE = True
THEME_COLOR_ENABLE_USER_OVERRIDE = True
USE_LESS = True
GITHUB_CORNER_URL = "Link to your repository at Github"
USE_FOLDER_AS_CATEGORY = False
MAIN_MENU = True
HOME_HIDE_TAGS = False
MENUITEMS = (
("Tags", "<your-name>.github.io/public/tags.html"),
("Categories", "<your-name>.github.io/public/categories.html"),
)
# AUTHOR
AUTHOR_INTRO = 'Your intro'
AUTHOR_WEB = '<website-link>'
# Social widget
SOCIAL = (
('github', 'your-githb-account'),
('rss', "<your-site-url>/feed.xml"),
("envelope", "mailto:<your-email>"),
("telegram", '<your-telegram-link>',)
)
MARKDOWN = {
'extensions': [
# official extensions
'markdown.extensions.extra', # include extensions: abbr, attr_list, def_list, fenced_code, footnotes, tables
'markdown.extensions.codehilite', # to generate code color scheme using pygments
'markdown.extensions.meta', # to parse key:value pairs at the begining of file
'markdown.extensions.sane_lists',# for better list
'markdown.extensions.toc', # add Table of Content
'markdown.extensions.nl2br', # easily to add new line, but make attr_list and legacy_attrs hard to control
'markdown.extensions.admonition', # to make alert box
'markdown.extensions.legacy_attrs', # insert attribs into element, but markdown already has a built-in function that do the same thing
'markdown.extensions.legacy_em', # to use legacy emphasis
],
'extension_configs': {
'markdown.extensions.codehilite': {'css_class': 'highlight'},
},
'output_format': 'html5',
}
DEFAULT_PAGINATION = 10
RELATIVE_URLS = True
Δοκίμασε ξάνα να τρέξεις pelican -r -l
να δεις άμα όλα είναι όπως σου αρέσουν
Github pages
Για να φτιάξεις GitHub Pages σελίδα κάνε τα παρακάτω:
- Μπες στο λογαριασμό σου στο Github
- Πατας το εικονίδιο “+” στην πάνω δεξιά γωνία και διαλέγεις “New repository”
- Για ονόμα βάζουμε username.github.io, άλλαξε το username με το δικό σου username
- Διάλεξε public opiton
Επίσης θα χρειαστεί να έχεις ssh key για τον λογαριασμό σου, ακολούθησε τα βήματα εδώ εδώ,
Μόλις φτιάξεις τα κλειδιά σου πρόσθεσε τα στον λογαριασμό σου, αυτό θα σου επιτρέψει να έχεις πρόσβαση στο repo με ασφάλεια
Για να ανεβάζεις την σελίδα σου ως GitHub Page, τρέξε τα παρακάτω:
# Init your website
git init
# Add everything
git add .
git commit -m "Init project"
git remote add origin git@github.com:<your-repo>.git
git push -u origin master
Για να ενεργοποιήσεις το Github Pages, κάνε τα παρακάτω:
- Πήγαινε στο repository που φτιάξαμε, και πάτα “Settings”
- Στο μενού διάλεξε “Pages”
- Για “Source” Διάλεξε “master branch”
- Κάνε “τικ” την επιλογή για HTTPS
- πάτα save
Το github τώρα θα χτίσει την σελίδα σου, και θα μπορείς να την δεις στο https://your-user-name.github.io
Σημείωση
άμα η σελίδα σου είναι διαθέσιμη στο https://username.github.io/output μόνο, απλα πρόσθεσε στο ~/Developer/my-site/
ένα html file index.html
με αυτό το περιεχόμενο:
<meta http-equiv="refresh" content="0; url=https://<user-name>.github.io/output/" />