GithubHelp home page GithubHelp logo

the-mvm / the-mvm.github.io Goto Github PK

View Code? Open in Web Editor NEW
85.0 3.0 385.0 84.13 MB

The Minimum Viable Model website and Jekyll theme.

Home Page: https://the-mvm.github.io

License: GNU General Public License v3.0

Ruby 0.04% HTML 25.67% CSS 54.29% SCSS 9.21% JavaScript 10.78%
jekyll-theme jekyll-site jekyll-blog jekyll-themes jekyll-template blog website disqus yml theme

the-mvm.github.io's Introduction

demo site now mirrored in IPFS!

Jekyll theme: Adam Blog 2.0

by Armando Maynez based on V1.0 by Artem Sheludko.

Adam Blog 2.0 is a Jekyll theme that was built to be 100% compatible with GitHub Pages. If you are unfamiliar with GitHub Pages, you can check out their documentation for more information. Jonathan McGlone's guide on creating and hosting a personal site on GitHub is also a good resource.

What is Jekyll?

Jekyll is a simple, blog-aware, static site generator for personal, project, or organization sites. Basically, Jekyll takes your page content along with template files and produces a complete website. For more information, visit the official Jekyll site for their documentation. Codecademy also offers a great course on how to deploy a Jekyll site for complete beginners.

Never Used Jekyll Before?

The beauty of hosting your website on GitHub is that you don't have to actually have Jekyll installed on your computer. Everything can be done through the GitHub code editor, with minimal knowledge of how to use Jekyll or the command line. All you have to do is add your posts to the _posts directory and edit the _config.yml file to change the site settings. With some rudimentary knowledge of HTML and CSS, you can even modify the site to your liking. This can all be done through the GitHub code editor, which acts like a content management system (CMS).

Features of v2.0:

  • SEO meta tags
  • Dark mode (configurable in _config.yml file)
  • automatic sitemap.xml
  • automatic archive page with infinite scrolling capability
  • new page of posts filtered by a single tag (without needing autopages from paginator V2), also with infinite scrolling
  • click to tweet functionality (just add a <tweet> </tweet> tag in your markdown.
  • custom and responsive 404 page
  • responsive and automatic Table of Contents (optional per post)
  • read time per post automatically calculated
  • responsive post tags and social share icons (sticky or inline)
  • included linkedin, reddit and bandcamp icons
  • copy link to clipboard sharing option (and icon)
  • view on github link button (optional per post)
  • MathJax support (optional per post)
  • tag cloud in the home page
  • 'back to top' button
  • comments 'courtain' to mask the disqus interface until the user clicks on it (configurable in _config.yml)
  • CSS variables to make it easy to customize all colors and fonts
  • added several themes for code syntax highlight configurable from the _config.yml file.
  • responsive footer menu and footer logo (if setup in the config file)
  • search shows results based on full post content, not just the description
  • smoother menu animations

Features preserved from v1.0

Demo

Check the theme in action

The main page looks like this:

Dark mode selector in main menu:

The post page looks like:

Custom responsive 404:

Dark mode looks like this:

Installation

Local Installation

For a full local installation of Adam Blog 2.0, download your own copy of Adam Blog 2.0 and unzip it into it's own directory. From there, open up your favorite command line tool, enter bundle install, and then enter jekyll serve. Your site should be up and running locally at http://localhost:4000.

If you're completely new to Jekyll, I recommend checking out the documentation at https://jekyllrb.com/ or there's a tutorial by Smashing Magazine.

If you are hosting your site on GitHub Pages, then committing a change to the _config.yml file (or any other file) will force a rebuild of your site with Jekyll. Any changes made should be viewable soon after. If you are hosting your site locally, then you must run jekyll serve again for the changes to take place.

Head over to the _posts directory to view all the posts that are currently on the website, and to see examples of what post files generally look like. You can simply just duplicate the template post and start adding your own content.

GitHub Pages Installation

STEP 1.

Fork this repository into your own account.

Using Github Pages

You can host your Jekyll site for free with Github Pages. Click here for more information.

When forking, if you use as destination a repository named USERNAME.github.io then your url will be https://USERNAME.github.io/, else https://USERNAME.github.io/REPONAME/) and your site will be published to the gh-pages branch. Note: if you are hosting several sites under the same GitHub username, then you will have to use Project Pages instead of User Pages - just change the repository name to something other than 'http://USERNAME.github.io'.

A configuration tweak if you're using a gh-pages branch

In addition to your github-username.github.io repo that maps to the root url, you can serve up sites by using a gh-pages branch for other repos so they're available at github-username.github.io/repo-name.

This will require you to modify the _config.yml like so:

# Site settings
title: Repo Name
email: [email protected]
author: Your Name
description: "Repo description"
baseurl: "/repo-name"
url: "https://github-username.github.io"

This will ensure that the the correct relative path is constructed for your assets and posts.

STEP 2.

Modify _config.yml file, located in the root directory, with your data.

# Site settings
title: The Title for Your Website
description: 'A description of your blog'
permalink: ':title:output_ext' # how the permalinks will behave
baseurl: "/" # the subpath of your site, e.g. /blog
url: "" # the base hostname & protocol for your site, e.g. http://example.com
logo: "" # the logo for your site
logo-icon: "" # a smaller logo, typically squared
logo-icon-SEO: "" # must be a non SVG file, could be the same as the logo-icon

# Night/Dark mode default mode is "auto", "auto" is for auto nightshift (19:00 - 07:00), "manual" is for manual toggle, and "on/off" is for default on/off. Whatever the user's choice is, it will supersede the default setting of the site and be kept during the visit (session). Only the dark mode setting is "manual", it will be always kept on every visit (i.e. no matter the browser is closed or not)
night_mode: "auto"
logo-dark: "/assets/img/branding/MVM-logo-full-dark.svg" #if you want to display a different logo when in dark mode
highlight_theme: syntax-base16.monokai.dark # select a dark theme for the code highlighter if needed


# Author settings
author: Your Name # add your name
author-pic: '' # a picture of you
about-author: '' # a brief description of you

# Contact links
email: [email protected] # Add your Email address
phone: # Add your Phone number
website:  # Add your website
linkedin:  # Add your Linkedin handle
github:  # Add your Github handle
twitter:  # Add your Twitter handle
bandcamp:  # Add your Bandcamp username

# Tracker
analytics: # Google Analytics tag ID
fbadmin: # Facebook ID admin

# Paginate
paginate: 6 # number of items to show in the main page
paginate_path: 'page:num'
words_per_minute: 200 # default words per minute to be considered when calculating the read time of the blog posts

STEP 3.

To configure the newsletter, please create an account in https://mailchimp.com, set up a web signup form and paste the link from the embed signup form in the config.yml file:

# Newsletter
mailchimp: "https://github.us1.list-manage.com/subscribe/post?u=8ece198b3eb260e6838461a60&amp;id=397d90b5f4"

STEP 4.

To configure Disqus, set up a Disqus site with the same name as your site. Then, in _config.yml, edit the disqus_identifier value to enable.

# Disqus
discus_identifier:  # Add your discus identifier
comments_curtain: yes # leave empty to show the disqus embed directly

More information on how to set up Disqus.

STEP 5.

Customize the site colors. Modify /assets/css/main.css as follows:

html {
  --shadow:       rgba(32,30,30,.3);
  --accent:       #DB504A;    /* accent */
  --accent-dark:  #4e3e51;    /* accent 2 (dark) */
  --main:         #326273;    /* main color */
  --main-dim:     #879dab;    /* dimmed version of main color */
  --text:         #201E1E;
  --grey1:        #5F5E58;
  --grey2:        #8D897C;
  --grey3:        #B4B3A7;
  --grey4:        #DAD7D2;
  --grey5:        #F0EFED;
  --background:   #ffffff;
}

html[data-theme="dark"]  {
  --accent:       #d14c47;    /* accent */
  --accent-dark:  #CD8A7A;    /* accent 2 (dark) */
  --main:         #4C6567;    /* main color */
  --main-dim:     #273335;    /* dimmed version of main color */
  --text:         #B4B3A7;
  --grey1:        #8D897C;
  --grey2:        #827F73;
  --grey3:        #76746A;
  --grey4:        #66645D;
  --grey5:        #4A4945;
  --background:   #201E1E;
  --shadow:       rgba(180,179,167,.3);
}

STEP 6.

Customize the site fonts. Modify /assets/css/main.css as follows:

...
  --font1: 'Lora', charter, Georgia, Cambria, 'Times New Roman', Times, serif;/* body text */
  --font2: 'Source Sans Pro', 'Helvetica Neue', Helvetica, Arial, sans-serif; /* headers and titles   */
  --font1-light:      400;
  --font1-regular:    400;
  --font1-bold:       600;
  --font2-light:      200;
  --font2-regular:    400;
  --font2-bold:       700;
...

If you change the fonts, you need to also modify /_includes/head.html as follows: Uncomment and change the following line with your new fonts and font weights:

<link href="https://fonts.googleapis.com/css?family=Lora:400,600|Source+Sans+Pro:200,400,700" rel="stylesheet">

Delete everything within <style></style> just before the line above:

<style>
/* latin */
@font-face {
  font-family: 'Lora';
  ...
</style>

STEP 7.

You will find example posts in your /_posts/ directory. Go ahead and edit any post and re-build the site to see your changes, for github pages, this happens automatically with every commit. You can rebuild the site in many different ways, but the most common way is to run jekyll serve, which launches a web server and auto-regenerates your site when a file is updated.

To add new posts, simply add a file in the _posts directory that follows the convention of YYYY-MM-DD-name-of-post.md and includes the necessary front matter. Take a look at any sample post to get an idea about how it works. If you already have a website built with Jekyll, simply copy over your posts to migrate to Adam Blog 2.0.

The front matter options for each post are:

---
layout: post #ensure this one stays like this
read_time: true # calculate and show read time based on number of words
show_date: true # show the date of the post
title:  Your Blog Post Title
date:   XXXX-XX-XX XX:XX:XX XXXX
description: "The description of your blog post"
img: # the path for the hero image, from the image folder (if the image is directly on the image folder, just the filename is needed)
tags: [tags, of, your, post]
author: Your Name
github: username/reponame/ # set this to show a github button on the post
toc: yes # leave empty or erase for no table of contents
---

Edit your blogpost using markdown. Here is a good guide about how to use it.

STEP 7.

Delete images inside of /assets/img/posts/ and upload your own images for your posts.

STEP 8.

Make sure Github Pages are turned on in the repository settings, and pointing to the main or master branch (where you cloned this repo).

Additional documentation

Directory Structure

If you are familiar with Jekyll, then the Adam Blog 2.0 directory structure shouldn't be too difficult to navigate. The following some highlights of the differences you might notice between the default directory structure. More information on what these folders and files do can be found in the Jekyll documentation site.

Adam Blog 2.0/
├── _includes                  # Theme includes
├── _layouts                   # Theme layouts (see below for details)
├── _posts                     # Where all your posts will go
├── assets                     # Style sheets and images are found here
|  ├── css                     # Style sheets go here
|  |  └── _sass                # Folder containing SCSS files
|  |  └── main.css             # Main SCSS file
|  |  └── highlighter          # Style sheet for code syntax highlighting
|  └── img                     # 
|     └── posts                # Images go here
├── _pages                     # Website pages (that are not posts)
├── _config.yml                # Site settings
├── Gemfile                    # Ruby Gemfile for managing Jekyll plugins
├── index.html                 # Home page
├── LICENSE.md                 # License for this theme
├── README.md                  # Includes all of the documentation for this theme
├── feed.xml                   # Generates atom file which Jekyll points to
├── 404.html                   # custom and responsive 404 page
├── all-posts.json             # database of all posts used for infinite scroll
├── ipfs-404.html              # 404 page for IPFS
├── posts-by-tag.json          # database of posts by tag
├── robots.txt                 # SEO crawlers exclusion file
├── search.json                # database of posts used for search
└── sitemap.xml                # automatically generated sitemap for search engines

Starting From Scratch

To completely start from scratch, simply delete all the files in the _posts, assets/img/posts folders, and add your own content. Everything in the _config.yml file can be edited to suit your needs. Also change the favicon.ico file to your own favicon.

Click to tweet

If you have a tweetable quote in your blog post and wish to feature it as a click to tweet block, you just have to use the <tweet></tweet> tags, everything between them will be converted in a click to tweet box.

Google Analytics

It is possible to track your site statistics through Google Analytics. Similar to Disqus, you will have to create an account for Google Analytics, and enter the correct Google ID for your site under google-ID in the _config.yml file. More information on how to set up Google Analytics.

Atom Feed

Atom is supported by default through jekyll-feed. With jekyll-feed, you can set configuration variables such as 'title', 'description', and 'author', in the _config.yml file.

Your atom feed file will be live at https://your.site/feed.xml example.

Social Media Icons

All social media icons are courtesy of Font Awesome. You can change which icons appear, as well as the account that they link to, in the _config.yml file.

MathJax

Adam Blog 2.0 comes out of the box with MathJax, which allows you to display mathematical equations in your posts through the use of LaTeX. Just add Mathjax: yes in the frontmatter of your post.

<p style="text-align:center">
\(\theta_{t+1} = \theta_{t} - \dfrac{\eta}{\sqrt{\hat{v}_t} + \epsilon} \hat{m}_t\).
</p>

rendered mathjax

Syntax Highlighting

Adam Blog 2.0 provides syntax highlighting through fenced code blocks. Syntax highlighting allows you to display source code in different colors and fonts depending on what programming language is being displayed. You can find the full list of supported programming languages here. Another option is to embed your code through Gist.

You can choose the color theme for the syntax highlight in the _config.yml file:

highlight_theme: syntax-base16.monokai.dark # select a theme for the code highlighter

See the highlighter directory for reference on the options.

Markdown

Jekyll offers support for GitHub Flavored Markdown, which allows you to format your posts using the Markdown syntax.

Everything Else

Check out the Jekyll docs for more info on how to get the most out of Jekyll. File all bugs/feature requests at Jekyll's GitHub repo. If you have questions, you can ask them on Jekyll Talk.

Contributing

If you would like to make a feature request, or report a bug or typo in the documentation, then please submit a GitHub issue. If you would like to make a contribution, then feel free to submit a pull request - as a bonus, I will credit all contributors below! If this is your first pull request, it may be helpful to read up on the GitHub Flow first.

Adam Blog 2.0 has been designed as a base for users to customize and fit to their own unique needs. Please keep this in mind when requesting features and/or submitting pull requests. Some examples of changes that I would love to see are things that would make the site easier to use, or better ways of doing things. Please avoid changes that do not benefit the majority of users.

Questions?

This theme is completely free and open source software. You may use it however you want, as it is distributed under the MIT License. If you are having any problems, any questions or suggestions, feel free to file a GitHub issue.

the-mvm.github.io's People

Contributors

amaynez avatar hellomrsun avatar imgbotapp avatar ozaanme avatar tbvuma74 avatar tinyzzh avatar weiyunshu1994 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

the-mvm.github.io's Issues

Add click to tweet functionality for blockquotes.

See it in action here:
https://kimgarst.com/how-to-make-money-with-your-website-part-2/

<a class="swp_CTT style6" href="https://twitter.com/share?text=A+good+rule+of+thumb+is+to+try+to+join+affiliate+programs+that+will+give+you+at+least+%2420+or+30%25+per+sale.+Otherwise%2C+you+could+be+putting+in+a+ton+of+work+for+very+little+payoff%21&amp;via=kimgarst&amp;url=https://kimgarst.com/how-to-make-money-with-your-website-part-2/?utm_source=twitter&amp;utm_medium=Social&amp;utm_campaign=SocialWarfare" data-link="https://twitter.com/share?text=A+good+rule+of+thumb+is+to+try+to+join+affiliate+programs+that+will+give+you+at+least+%2420+or+30%25+per+sale.+Otherwise%2C+you+could+be+putting+in+a+ton+of+work+for+very+little+payoff%21&amp;via=kimgarst&amp;url=https://kimgarst.com/how-to-make-money-with-your-website-part-2/?utm_source=twitter&amp;utm_medium=Social&amp;utm_campaign=SocialWarfare" rel="nofollow noreferrer noopener" target="_blank"><span class="sw-click-to-tweet"><span class="sw-ctt-text">A good rule of thumb is to try to join programs that will give you at least $20 or 30% per sale. Otherwise, you could be putting in a ton of work for very little payoff!</span><span class="sw-ctt-btn">Click To Tweet<i class="sw swp_twitter_icon"></i></span></span></a>

BUG - Node.js 16 actions and `set-output`deprecated

I was unable to deploy the page and it's impossible to add a new posts now.

Anottations

build (https://github.com/PHRaposo/PHRaposo.github.io/actions/runs/8414565209/job/23038436868)
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v3, ruby/setup-ruby@0a29871, actions/configure-pages@v2, actions/upload-artifact@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.

build (https://github.com/PHRaposo/PHRaposo.github.io/actions/runs/8414565209/job/23038436868#step:3:80)
The set-output command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/

BUG -

Describe the bug
When I click the the comments box it jump to the newsletter box and the comments box disapeared

To Reproduce
Steps to reproduce the behavior:

  1. Go to any passage
  2. Click on the comments box
  3. See error

Expected behavior
Can type in the box

Desktop (please complete the following information):

  • OS: [windows 10]
  • Browser [edge]
  • Version [22H2]

organizing images for post

looks like /assets/img/posts will look like a mess when you have a dozen blog posts, What I did was to organize was to create folder for each post with name as *.md. Then for front matter just edit to img: posts/{yyyy/mm/dd}filename/
I know I should have been creating pull request but my code in fork is quite messy. will do so in for future fixes.

Mastodon Links

Hello!

Maybe I don't know how to do it but I'm trying to add a mastodon handle to the page. Any way I can add an icon and the handle?

-H

Ability to swap Disqus for https://utteranc.es/

Is your feature request related to a problem? Please describe.
I've always used Disqus in the past for blogs, however of late disqus comments are getting full of spam and ads

Describe the solution you'd like
Would be great to either have an Utterances implementation, or highlight the areas to be able to swap disqus for utterances

Describe alternatives you've considered
Considered turning off comments, but not great

Additional context
Add any other context or screenshots about the feature request here.
https://ljvmiranda921.github.io/notebook/2021/03/26/migrating-from-disqus-to-utterances/

Preview shows raw math equation

The math equation in markdown file will be displayed in a raw way when preview (see below), which could be composed with MathJax as well.

preview

How to remove shaded box from the home page post-cards?

Thanks for an awesome update to the Adam theme! I'm currently playing around with it trying to transition from the 1.0, so hopefully I can help with some pull requests along the way. Full disclosure, I don't work much with CSS and html, so I'm learning as I go.

My current problem is that I actually quite liked the simplicity of the post cards in Adam 1.0 and would like to get back to that. Specifically, I'm trying to remove the shaded box around the post cards, but I'm having some trouble locating where to do that. Hope you can help!

Cheers!

dark theme

first m not a web developer just a bit knowledge of web development. lately was trying to change the theme to dark and I was struggling a lot, anything can you do to make theming easy. Thanks for the awesome theme.

New Feature: Request more details for setting up mailchimp

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

There does not seem to be enough information for how to configure the MailChip integration. I created a signup form but the URL did not look anything like the example given in the config.

Is it possible for you to provide more info on its configuration?

Any plan support **mermaid** language code block ?

Is your feature request related to a problem? Please describe.

mermaid

It is a Javascript based diagramming and charting tool that renders Markdown-inspired text definitions to create and modify diagrams dynamically.

Describe the solution you'd like

support rander mermaid language code block.

flowchart TD
    A[Start] --> B{Is it?};
    B -- Yes --> C[OK];
    C --> D[Rethink];
    D --> B;
    B -- No ----> E[End];

e.g.
image

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

BUG - Sometime page can not be rander. show the "empty" page

Describe the bug

image

sometimes can not rander the post-excerpt element.

To Reproduce
Steps to reproduce the behavior:

  1. have no idea reproduce. its all right when i use another theme before.

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: windows
  • Browser : chrome
  • Version : 96

Additional context

use the page.excerpt replace it.

image

BUG - Table of content links not working in post page

Describe the bug
Table of content links does not work (only a couple of first links) in post page.

To Reproduce
Steps to reproduce the behavior:

  1. Go to the Demo page to view the Deep Q Learning for Tic Tac Toe post
  2. Make sure you scroll out of the 'Background' section. From the table of content on the right sidebar click on the 'Background' section (the first section)
  3. The page is not navigated to the position of the 'Background' section

Expected behavior
The page should navigate to the position of the 'Background' section.

Desktop (please complete the following information):

  • OS: macOS 13.3.1
  • Browser: chrome
  • Version Version 112.0.5615.137 (Official Build) (x86_64)

Additional context
I believe the reason for this bug is because the table of content navigates to sections using html ids, and there are duplicated ids of html elements in page-content and in post-excerpt(which is extracted from page content).

BUG - Tag Limit?

Describe the bug
A clear and concise description of what the bug is.

Getting ready to publish my github pages site using this template and hit a big issue.
it is only generating the lists for 10 tags. any other tags don't seem to work or function?

Is this a hard-coded limitation? and if so, why is the site rendering all the tags?

To Reproduce
Steps to reproduce the behavior:

  1. visit - https://simondarksidej.github.io/
  2. test tag links

Expected behavior
A clear and concise description of what you expected to happen.

All rendered tags should work and filter posts by tags

Screenshots
If applicable, add screenshots to help explain your problem.
image

Tag 10
image

Tag 11+ ("Book Reviews" tag has 21 articles)
image

BUG - wrong next page path when pages >= 3

change paginate:6 in _config.yml to paginate:3
build site
go to ~/page2
URL of NEXT: ./page3 (~/page2/page3)
image

How to fix:
edit _includes/pagination.html line 6, add one more dot:
<a href="..{{ paginator.next_page_path }}" ……

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.