Optional system reqs:
xcode-select --install
sudo apt-get install build-essential
sudo yum groupinstall "Development Tools"
copy c:\MinGW\bin\mingw32-make.exe c:\MinGW\bin\make.exe
Haven't contributed to the Blog yet? Do this initial setup first (only need to do it once)
Fork this repo (click the "Fork" button on the upper right corner).
Follow these commands. We are cloning your local fork, then adding the main "fork" as the upstream version:
$ git clone $YOUR_FORK_LINK
$ cd pyladies-blog
$ git remote add upstream https://github.com/pyladies/pyladies-blog
Setup a virtualenv and install dependencies:
# within the pyladies-blog directory
$ virtualenv env
$ source env/bin/activate
(env) $ pip install -r requirements.txt
Within the pyladies-blog
directory, with your virtualenv activated:
if you have make
installed, you can just run
(env) $ make serve
# to run on a different port:
(env) $ make serve SERVE_PORT=8888
If you do not have make
installed, then:
(env) $ mynt gen -f blog _site && mynt serve _site
# to run on a different port:
(env) $ mynt gen -f blog _site && mynt serve _site -p 8888
All posts are within blog/_posts/
directory, in their respective year sub-directory.
Create a new Markdown (.md
) file in the current year's directory, e.g. blog/_posts/2015/
.
You must start the name of the file in the following format: YYYY-MM-DD-
where the date is the date of writing/publishing, followed by the "slug" of the post. A slug is just a user-friendly and URL-valid name. For instance, if you blogging about PyCon 2015 and writing the post on May 31st, 2015, the full file name would be 2015-05-31-pycon-2015.md
.
After you've created a new Markdown file, you will need to put a bit of YAML in the beginning of the file.
---
layout: post.html
title: "Your title here"
tags: [list, "of relevant", tags]
author: Name, or blank/none
author_link: Twitter/Blog/etc or blank/none
---
layout
should always be the same. Everything else is yours to fill in. Anonymous submissions are fine; pennames are fine; unlinked author names are fine.
After the YAML bit at the beginning, you can start writting.
Posts are written in Markdown format. You may also write bits of pure HTML.
We're looking for posts about Python and the ladies doing cool things with it. Our audience includes both experts and newer programmers. If you're writing a more expert level post, consider pointing newer programmers to resources to get started with.
Note: we reserve the right to decline posts, or work to improve the work of the post.
Cite your sources! Either link to them in your post, or the old-fashioned academic Chicago MLA style of "quoting someone's work"(Root) with an entry for "Root" at the bottom of your post (or any ohter MLA styling).
Posts should be 500 words in length. If your post is much longer (thousands of words), consider whether it could be broken into two connected posts.
If you wish to include images, they must be 500 pixels wide or less. You must own the images you're submitting, they must be available under a Creative Commons license, or you must give proper attribution in a caption.
To submit your post:
Save the file.
Test your changes locally. Follow the instructions here to do so.
Make sure that your changes look good, and that there are no errors or formatting issues. If you find problems, stop mynt, make the changes, restart, and check the site again.
Once it looks good, commit your changes locally, and push it to your fork of the repo:
$ git add blog/_posts/$YYYY/$YOUR_POST_FILE.md
$ git commit -m "My post about Pycon 2015"
$ git push origin master
Then submit a pull request to the PyLadies fork. You can do so by going here, clicking the green "New pull request" button in the upper right, and following the instructions.
After you submit a pull request, the admins of the blog will see it and review when they have time. If it's time sensitive, or if it's been about a week, feel free to comment on your pull request, and/or joining the #blog channel in our Slack setup and asking for a review.
Need help or have questions? Pop by the #blog channel on our Slack!