personal-website/README.md

71 lines
3.1 KiB
Markdown

# My personal home page
The goal of this website is to serve as my personal dumping grounds for some
small web projects, a blog, maybe a booru gallery. Idk yet.
## Deploy guide
If you want to use my website as some sort of a template for your own,
feel free to do so!
I would appreciate if you give me some form of a credit in the footer of your
page, especially if you are going to just re-skin my page for
your own blog site, but I do not require it.
Anyways, let's get to the *how*.
- My page is written in PHP, I run it on an apache server, but it probably
should run on nginx as well, I am not sure though, as I have never tested it.
- I am not going to walk you through LAMP setup,
as that can be found elsewhere.
- In the root of the project you will find a database.sql file, you should be
able to use it to deploy my database schema. I use mariadb,
but if you use mysql it should work as well.
- The database is documented through comments viewable in phpmyadmin,
if you have trouble displaying them in your database manager, let me know
and I might get to writing some basic setup instructions here.
- Please create the file `docs/common/config.php` which will store database
credential that will then be used in `docs/common/header.php`
to connect to the db and set the global variable `$conn` to the PDO
connection object, you can use that in your own functions, if you add any.
- The file should define the following constants:
- SQL_HOSTNAME
- SQL_USERNAME
- SQL_PASSWORD
- SQL_DATABASE
- Remember to enable pdo_mysql in yourr php.ini.
- If you have problems connecting to the database, you can try
printing the PDO exception being caught there in the function
`attempt_sql_connect()`, but be careful not to leave it in production, as
it reveals some information you might want to keep from users.
- The basic skeleton for any document should be:
```php
<?php
// This makes for less typing while including the header and the footer.
// Absolute path to the commons folder.
$COMMONS = $_SERVER['DOCUMENT_ROOT'] . "/../common";
// Include the common site-wide header.
include_once($COMMONS."/header.php");
// Display the header with desired title. This is a separate function for the
// cases where you want to set the title dynamically after doing some
// processing (which requires sql connection from the header for example).
// An example of this are the blogs, which first get their name from the
// databese, and only then display the header with the title being the name
// of the article.
display_header(<PAGETITLE>);
?>
<!--
Your main content here, try to wrap it in <article> tags for nice padding
-->
<?php
// Write out the footer and close the website.
include_once($COMMONS."/footer.php");
?>
```
- Do check out the already existing css rules before adding your own, the rule
for what you are trying to create might already exist. I might add a more
comprehensive guide/documentation for the styles once I find myself getting
lost in them, but I don't find it necessary yet so I will not bother.
If you do, feel free to send me a pull request.
- Hmm, what else may I be missing? Not sure now, if you miss something lmk.
So I guess have fun!