Giter VIP home page Giter VIP logo

alembic's Introduction

Gem Version

⚗ A Jekyll boilerplate theme designed to be a starting point for any Jekyll website.

Screenshot

Contents

About

Alembic is a starting point for Jekyll projects. Rather than starting from scratch, this boilerplate theme is designed to get rolling immediately. Install it, configure it, tweak it, push it.

Features

  • Available as a theme gem and GitHub Pages theme
  • Clear and elegant design that can be used out of the box or as solid starting point
  • Tested in all major browsers, including IE and Edge
  • Built in Service Worker so it can work offline and on slow connections
  • Configurable colours and typography in a single settings file
  • Extensive set of shortcodes to include various elements; such as buttons, icons, figure images and more
  • Solid typographic framework from Sassline
  • Configurable navigation via a single file
  • Modular Jekyll components
  • Post category support in the form of a single post index page grouped by category
  • Built in live search using JavaScript
  • Contact form built in using Formspree or Netlify Forms
  • Designed with Siteleaf in mind
  • Has 9 of the most popular networks as performant sharing buttons
  • Has documentation

Examples

Here are a few examples of Alembic out in the wild being used in a variety of ways:

Installation

Quick setup

To give you a running start I've put together some starter kits that you can download, fork or even deploy immediately:

  • Vanilla Jekyll starter kit: Deploy to Netlify

  • Forestry starter kit: Deploy to Forestry Deploy to Netlify

  • Netlify CMS starter kit: Deploy to Netlify

  • GitHub Pages with remote theme kit - Download kit

  • Stackbit starter kit: Create with Stackbit

As a Jekyll theme

  1. Add gem "alembic-jekyll-theme" to your Gemfile to add the theme as a dependancy
  2. Run the command bundle install in the root of project to install the theme and its dependancies
  3. Add theme: alembic-jekyll-theme to your _config.yml file to set the site theme
  4. Run bundle exec jekyll serve to build and serve your site
  5. Done! Use the configuration documentation and the example _config.yml file to set things like the navigation, contact form and social sharing buttons

As a GitHub Pages remote theme

  1. Add gem "jekyll-remote-theme" to your Gemfile to add the theme as a dependancy
  2. Run the command bundle install in the root of project to install the jekyll remote theme gem as a dependancy
  3. Add jekyll-remote-theme to the list of plugins in your _config.yml file
  4. Add remote_theme: daviddarnes/alembic@main to your _config.yml file to set the site theme
  5. Run bundle exec jekyll serve to build and serve your site
  6. Done! Use the configuration documentation and the example _config.yml file to set things like the navigation, contact form and social sharing buttons

As a Boilerplate / Fork

(deprecated, not recommended)

  1. Fork the repo
  2. Replace the Gemfile with one stating all the gems used in your project
  3. Delete the following unnecessary files/folders: .github, LICENSE, screenshot.png, CNAME and alembic-jekyll-theme.gemspec
  4. Run the command bundle install in the root of project to install the jekyll remote theme gem as a dependancy
  5. Run bundle exec jekyll serve to build and serve your site
  6. Done! Use the configuration documentation and the example _config.yml file to set things like the navigation, contact form and social sharing buttons

Customising

When using Alembic as a theme means you can take advantage of the file overriding method. This allows you to overwrite any file in this theme with your own custom file, by matching the file name and path. The most common example of this would be if you want to add your own styles or change the core style settings.

To add your own styles copy the styles.scss into your own project with the same file path (assets/styles.scss). From there you can add your own styles, you can even optionally ignore the theme styles by removing the @import "alembic"; line.

If you're looking to set your own colours and fonts you can overwrite them by matching the variable names from the _settings.scss file in your own styles.scss, make sure to state them before the @import "alembic"; line so they take effect. The settings are a mixture of custom variables and settings from Sassline - follow the link to find out how to configure the typographic settings.

Configuration

There are a number of optional settings for you to configure. Use the example _config.yml file in the repo and use the documentation below to configure your site:

Gem dependency settings

twitter, author and social values will need to be changed to the projects' social information or removed. Look for the Gem settings comment within the /_config.yml file. These values are for the jekyll-seo-tag - follow the link to find out more.

Site settings

You'll need to change the description, title and url to match with the project. You'll also need to replace the logos, default social and default offline images in the /assets/ directory with your own graphics. Setting the site language can be done with lang, the theme will default to en-US. The email needs to be changed to the email you want to receive contact form enquires with. The disqus value can be changed to your project username on Disqus, remove this from the /_config.yml file if you don't want comments enabled. Look for the Site settings comment within the /_config.yml file. The repo setting is optional, for now, and can be removed entirely, if you wish.

Google Analytics can be enabled via the site configuration too. Add your tracking ID to the /_config.yml file in the following method: google_analytics: 'UA-XXXXXXXX-1'. By default all IPs of site visitors are anonymous to maintain a level of privacy for the audience. If you wish to turn this off set the google_analytics_anonymize_ip key to false.

Date format can be customised in the /_config.yml with the option date_format (please refer to Liquid date filters documentation for learning about formatting possibilities). Only placeholder formatting is supported, do not try to use ordinal dates introduced in Jekyll 3.8.

The short_name option within /_config.yml is to add a custom name to the site's web application counterpart. When the website is added to a device this name will appear alonside the app icon. The short name will default to the site title if this isn't set.

Site performance settings

Alembic comes with a couple of options to enhance the speed and overall performance of the site you build upon it.

By default the built in Service Worker is enabled, and will work on a 'network first' method. Meaning if there's no internet connection the content the Service Worker has cached will be used until the connection comes back. It will always look for a live version of the code first. To disable the Service Worker add an option called service_worker with a value of false in the /_config.yml file.

Another option to speed up Alembic is to enable inline CSS, which is off by default. You can enable this by setting css_inline: true inside your /_config.yml file. By switching to inline styles you bypass the use /assets/styles.scss, any custom styles will need to be added in /_includes/site-styles.html or in a new custom file.

Please note that these options aren't a "silver bullet" for making your site faster, make sure to audit and debug your site to get the best performance for your situation.

Site navigation

There are a total of 4 different navigation types:

  • navigation_header: The links shown in the header (it is also used on the 404 page)
  • navigation_footer: The links shown in the footer
  • social_links: The social icon links that are shown in the sidebar
  • sharing_links: The social sharing buttons that are shown at the bottom of blog posts

All navigations can be edited using the _config.yml file. To see example usage either look for the Site navigation comment within the /_config.yml file or see the nav-share.html include.

If there are no items for the navigation_header or navigation_footer, they will fallback to a list of pages within the site. The social_navigation properties should either be one that is already in the list (so Twitter or Facebook) or a regular link, this is so an icon can be set for the link.

Custom fonts

Alembic comes with custom fonts served from Google fonts. By default it requests Merriweather but this can be any font from any provider assuming it supports requesting fonts in the same manner and does not require javascript.

This can be configured under the custom_fonts key.

  • urls: The urls supplied to you from your font provider (eg https://fonts.googleapis.com/css2?family=Merriweather). For best performance try to use as few urls as possible
  • preconnect: (optional) If your font provider serves the font files from another domain it can be useful to make a connection to that domain in advance. For example google load the font files from fonts.gstatic.com. This can be omitted if not required

If you want to customise this further you can find the include for custom fonts in _includes/site-custom-fonts.html.

Using includes

There are 2 main types of includes: ones designed for the site and ones that are designed as shortcodes. Here are a list of the shortcode includes:

button.html

A button that can link to a page of any kind.

Example usage: {% include button.html text="I'm a button" link="https://david.darn.es" %}

Available options:

  • text: The text of the button required
  • link: The link that the button goes to required
  • icon: The icon that is added to the end of the button text
  • color: The colour of the button

figure.html

An image with optional caption.

Example usage: {% include figure.html image="/uploads/feature-image.jpg" caption="Check out my photo" %}

Available options:

  • image: The image shown required
  • caption: A caption to explain the image
  • position: The position of the image; left, right or center
  • width & height: Optional width and height attributes of the containing image

icon.html

An icon.

Example usage: {% include icon.html id="twitter" %}

Available options:

  • id: The reference for the icon required
  • title: The accessible label for the icon
  • color: The desired colour of the icon
  • width & height: Width and height attributes for the icon, default is 16

nav-share.html

A set of buttons that share the current page to various social networks, which is controlled within the _config.yml file under the sharing_links keyword.

Example usage: {% include nav-share.html %}

Available options:

Twitter: "#1DA1F2"
facebook: "#3B5998"
Pinterest: "#BD081C"
LinkedIn: "#0077B5"
tumblr: "#36465D"
Reddit: "#FF4500"
HackerNews: "#ff6600"
DesignerNews: "#2D72D9"
Email: true

The first item is the name of the network (must be one of the ones stated above) and the second is the colour of the button. To remove a button remove the line of the same name.

video.html

A YouTube video.

Example usage: {% include video.html id="zrkcGL5H3MU" %}

Available options:

  • id: The YouTube ID for the video required

map.html

A Google map. See Google My Maps

Example usage: {% include map.html id="1UT-2Z-Vg_MG_TrS5X2p8SthsJhc" %}

Available options:

  • id: The map ID for the video required

site-form.html

Adds a contact form to the page. This can be used with Formspree or Netlify Forms depending on your setup.

Example usage: {% include site-form.html %}

Available options:

  • netlify_form=true: Set whether you would like to use Netlify Forms, otherwise the form will default to Formspree
  • name: Give the form a name, by default the form is called "Contact". The name will be reflected when form submissions come through in Netlify or in your email client. The name is also used in the label and input elements for accessibility

Use the email option in the /_config.yml to change to the desired email.

site-search.html

Adds a search form to the page.

Example usage: {% include site-search.html %}

This include has no options. This include will add a block of javascript to the page and javascript reference in order for the search field to work correctly.

site-before-start.html & site-before-end.html

Optional html includes for adding scripts, css, js or any embed code you wish to add to every page without the need to overwrite the entire default.html template.

Example usage: These are different to other includes as they are designed to be overwritten. If you create a site-before-start.html file in the _includes/ the contents of the file will be included immediately before the closing </head> tag. If you create a site-before-end.html file the contents of the file will be included immediately before the closing </body> tag.

Page layouts

As well as page, post, blog, there are a few alternative layouts that can be used on pages:

  • categories: Shows all posts grouped by category, with an index of categories in a left hand sidebar
  • search: Adds a search field to the page as well as a simplified version of the sidebar to allow more focus on the search results

Page and Post options

There are some more specific options you can apply when creating a page or a post:

  • aside: true: Adds a sidebar to the page or post, this is false by default and will not appear
  • comments: false: Turns off comments for that post
  • feature_image: "/uploads/feature-image.jpg": Adds a full width feature image at the top of the page
  • feature_text: "Example text": Adds text to the top of the page as a full width feature with solid colour; supports markdown. This can be used in conjunction with the feature_image option to create a feature image with text over it
  • indexing: false: Adds a noindex meta element to the <head> to stop crawler bots from indexing the page, used on the 404 page

Note: The Post List Page options are actually in the collection data within the _config.yml file.

Credits

alembic's People

Contributors

agateblue avatar benedfit avatar billmei avatar boynux avatar brodock avatar cristianocasella avatar daviddarnes avatar eliotberriot avatar ivotron avatar jimgraham avatar johannes-jansson avatar jonashoechst avatar mtlynch avatar sgpinkus avatar simoncarrignon avatar studioromeo avatar syncrostone avatar trenki2 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

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

alembic's Issues

Improve sample content

Currently the content is designed to display the features of the theme and some example posts. It would be better if the example site looked more like a real site, one that this theme would work best for.

Add features to readme

Features

  • Tested in all current browsers, that includes IE as well as Edge
  • Extensive set of shortcodes to include various elements; such as buttons, icons, figure images and more
  • Solid typographic framework from Sassline
  • Configurable navigation via a single file
  • Modular Jekyll components
  • Easily interchangeable sidebar
  • Contact form built in
  • Works on GitHub Pages out of the box
  • Built with Jekyll 3.2
  • Designed with Siteleaf in mind
  • Has documentation

Check if jekyll-seo-tag is installed

As discovered by @sskylar, the only gem that the theme needs to have is jekyll-seo-tag. This can cause problematic errors, find a way to check if the gem has been set in the config.

Blog page title and description do not appear

Summary

The blog page view uses the site title and description instead of the page title and description.

Reference

See line 13 in _layouts/blog.html, lines 11 and 14 in _layouts/default.html

page.collection should be page.collectionpage

Additionally to this the meta information of the page is getting affected, take a look at https://github.com/daviddarnes/joelcagedesign.com/blob/6bca7bd2c6ea4b157acec00578548ac0ac990f0e/_layouts/default.html#L11-L21

Change page-full.html to home.html

When you use jekyll new in Jekyll 3.3 the index.md has a front matter setting of layout: home. This is due to the minima default theme having a home layout.

Simply by changing one of the layouts to home it'll make the theme switching process a little easier.

Aside does not follow scroll on Chrome

In Firefox, the aside sticks to the top of the viewport while scrolling down the page. This doesn't happen in Chrome, where the aside is stuck at top. See screenshots for illustration, first one is FF showing correct behavior, second is Chrome failing.

screenshot from 2017-06-08 21-11-43
screenshot from 2017-06-08 21-10-33

Simplify how typography and colours can be edited

Now that CSS custom properties are becoming more widespread, it's probably worth looking into combining all the variables that matter to users into one file. There's already a _colors.scss file and sassline has a _variables.scss file, so maybe we just abstract the typographic settings into a _fonts.scss file? Or combine them into a _settings.scss file.

After this has been worked out we can then look into using CSS custom property overrides

Considering frameworks

  • Sassline: For handling typography and type setting in general
  • Normalize: Because browser still don't quite see eye to eye
  • More? Please share

Remove spacing when a paragraph is inside a list item

Due to the nature of most CMSs, paragraph items will often be rendered inside a list item. For example:

<ul>
  <li><p>Item</p></li>
</ul>

or

<ol>
  <li><p>Item</p></li>
</ol>

There needs to be some precise styling to stop paragraph items padding out so much when inside a list item, using something like li > p. The only issue with this is that sassline is dealing with most of the typographic styling, so it'll need to be overwritten

Scroll bars for Code Snippet

Hi David, Thank you for the awesome theme (And thanking all those who contributed)!

I am setting up Alembic to my blog site from scratch and I'm facing an issue where I don't see scroll-bars for code snippets. I also installed kramdown rouge and I have set the following properties in my _config.yml:

markdown: kramdown

kramdown:
  input: GFM
  syntax_highlighter: rouge

But I still couldn't get the scroll bars for the code-snippets -- lengthy lines are wrapping into the next line. Here is how it looks:

screen shot 2017-08-31 at 7 39 45 pm

Please guide me on how I can get the scroll-bars there. Thank you!

Fix demo site issues

Going to need to change the sample content to working content to allow the demo to work properly

Reducing font size

Hello,

First, thanks a lot for what you've done, it's really helpful for a newcomer to jekyll ! Especially for typography and vertical rythm.

Now, I find that the maximum font size is too big (it's like 30px line height) : I want to show some code, and I think it requires too much scrolling for the reader.

I would like to use the second biggest font size. I figured out it has something to do with the breakpoint properties but I cannot find how you configure it.

Could you help me ?

Thank you ;)

Multi-language Support!

Really sorry for missing this everyone! Language support is really important for a theme that is going to be used all over the world. Will implement with the following:

  1. <html lang="{{ site.lang | default: "en-US" }}"> Allow the user to set the lang, default being US english (most common)
  2. I'll set a in the config as an example, plus I need to use en-GB as I'm in the UK 👍

hosting multiple github.io sites breaks navigation

Hi,

I noticed this theme is set up to work assuming a user/group has a single github.io domain. For example if the domain is:
https://name.github.io/repo/
instead of:
https://name.github.io/
things seem to break, navigation, posts, blog, image links, etc. Is there any way around this. I could change the navigation_header setting for example:
navigation_header:
Home: /repo/
instead of
Home: /

however this does not seem to work for "Search", also if running locally paths have to be reset or paths break again. I am new to jekyll, maybe I am missing something simple? Any help or advice you can give is appreciated, great theme!

Various testing bugs

  • Exclude 404 from default nav
  • Exclude blog pagination pages from default nav
  • Check that default nav has a working current state for items
  • Check navigation all over really
  • readme contents needs indentation to match heading levels
  • Make sure gemfile configs are all ok
  • Scan over CSS to make sure it's in a logical manner
  • More bugs to follow

Logo isn't easy to replace

Logo image is just for schema and not the actual image on the page, should just be a regular img as SVG or png

Add more examples

Hi @venuthatikonda and @hrkeni,

I noticed that you are all using Alembic in your own individual ways after I did a quick search on GitHub. This is awesome to see, so thank you all for using my theme 😄

I'd like to list these example sites in the documentation to show what's possible with Alembic. I've listed the urls below, if you'd not like your site to be listed then let me know:

Change default logo and social image names

Probably better off calling them assets/logo.svg and default-social-image.png, then people can change them without changing any code. Also make a note in the docs of this, along with how to change the logo image path in the config

To do

  • Add a contact form (see #3)
  • Add Disqus comments
  • Add full width page layout
    • Check full width figures on full width pages
  • Add sidebar left page layout
  • Test creating a feature page (image and text alternating)
  • Test Google maps
  • Test an audio player
  • Test a video player
  • Add left aligned figures
  • Add right aligned figures
  • Setup url for theme, subdomain like alembic.darn.es would work
  • Basic icons? Social and basic navigational ones?

LaTeX equations are colored

When I include the MathJax snippet to enable LaTeX in _layouts/post.html:
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script>, my equations are all colored green. This must be a setting in the CSS in Alembic that is overriding MathJax. Do you know what I need to change to allow the equations to be black, same color as the blog post text? Thanks.

EDIT:

Here is an example.

Feature: Convert boilerplate into theme

TODO:

  • Create gemspec file
  • Test theme out
  • Allow easy way to create new config file
  • Write up installation and usage in README
  • Submit RubyGems.org
  • Test if users of theme can customise files

Installation thoughts

The process for installing via gem is a bit clunky (an upstream Jekyll problem, of course). I had better luck installing with Bundler (adding the alembic-jekyll-theme to my gem file). When running without, I got this error:
jekyll 3.3.0 | Error: The alembic-jekyll-theme theme could not be found.

I wonder if, in addition to the set ups you have now (boilerplate, gem theme), you had a hybrid, where someone needs to download the entire Jekyll install (or clone a branch), run bundler, or something that updates the theme etc. That is to say, a download that has everything you need to run the gem-based theme. Hope that makes sense!

Add contact form include

var email = "{{ site.email | split: "" | reverse | join: "" }}";
var unraveledEmail = email.split("").reverse().join("");
var form = document.getElementById("contact-form");
form.setAttribute("action", "://formspree.io/" + unraveledEmail);

Better sidebar separation

Currently there is only one sidebar file, with tons of conditionals in there. This could be better managed with different files brought into different layouts

Re: Custom Properties Settings

Following code is to style the colour inputs, however they aren't needed in the main theme:

input[type="color"] {
  padding: 0;
  height: 2.4rem;
  &::-webkit-color-swatch-wrapper {
  	padding: 0;
    &:after {
      content: "Color";
    }
  }
  &::-webkit-color-swatch {
  	border: none;
  }
}

Best to just add them to the styling page and not the main codebase

Change `feature` to a `div`

Feature section element should probably just be a div within the header element. It's just an additional element to it, not a section unto itself.

Add body class for unique page styles

Summary

In some cases people may want to style a single page without disrupting other pages or their layouts. By adding a class to the body that is generated from the page title (and page layout?) people could utilise this and style pages individually

Example code

<body class="layout-{{ page.layout }}  {{ page.title | slugify }}">
   ...
</body>

Search feature breaks with carriage returns

Hi,

I noticed that if one of your posts contains the text "\n" the search functionality breaks and is unable to find anything.

For example if I add the text \n (not an actual carriage return but the text) to 2016-08-27-example-post-one.md the search is not able to find anything.

I am guessing that when the search feature parses these pages it incorrectly interprets the "\n" as a new line instead of plain text and halts the search pre maturely. Not sure if this is true though or if it's easy to fix, though i'm happy to try.

Minor updates

Summary

Just some small updates to the theme and content, highlighted upon testing locally.

To dos

  • Update bundler and dependants
  • Update LinkedIn url to https://www.linkedin.com/in/daviddarnes/
  • Add an alt option to images to allow people to have valid image elements when using the figure.html include
  • Take off http://katiesimonemusic.com off examples as it is no longer live
  • Test sharing buttons when content of page isn't regular text content, can cause unexpected results with video and image embeds

Use package manager for bundled assets

Currently theres:

  • fetch() polyfill
  • sassline
  • flexbox prefixer
  • normalise
  • a code syntax highlighter

…that should all be managed with something like npm & gulp. This would also improve the documentation on external sources that don't want to get confused with what has been created in this project

Add examples

Hi @YaManicKill, @case2111, @pizzapgh and @bawejakunal!

I noticed that you are all using Alembic in your own individual ways after I did a quick search on GitHub. This is awesome to see, so thank you all for using my theme 😄

I'd like to list a few example sites in the documentation to show what's possible with Alembic. I've listed the urls below, if you'd not like your site to be listed then let me know:

Problem with rootsizes

Dear @daviddarnes,
I would like to change the fontsizes, but changes in rootsizes (in file _variables.scss) seem to affect only the line-height, not the fontsizes.

E.g.:

$rootsizes: (
  rootsize-0: 5,   // 24px line-height body text
  rootsize-1: 5,   // 28px line-height body text
  rootsize-2: 5,   // 30px line-height body text
  rootsize-3: 5,   // 34px line-height body text
  rootsize-4: 5    // 38px line-height body text
) !default;

Snagging list 0.1

  • Favicon control isn't exposed in the UI (config could handle this)
  • Blog page content isn't exposed in the UI (collection data could handle this)
    • {{ site.collections.posts.title }}
    • {{ site.collections.posts.description }}
  • Sharing buttons need to be wrapped in a clearing div

Centring option for figure include

Summary

Centring images is a desirable option for people. Having a setting for for this in the <figure> element include would allow this with little effort

How to

  1. So the good thing about this addition is that you only really need to add some CSS. Pop on over to the main CSS file and you'll see .figure with alignment options. Add a &--center with your styles in (US spelling because I dunno, color is spelt wrong too 🙃)
  2. Next you'll want to tell us how to use it, which you can do in the README.md (should be real simple to add here)
  3. Final step is to let me know when you're done with a new pull request! Then I can bump the gem version, then is 🚀 time

cant run localy

forked. installed. run command jekyll serve and got this error:

Conversion error: Jekyll::Converters::Scss encountered an error while converting 'assets/styles.scss':
                   Invalid US-ASCII character "\xE2" on line 27

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.