Github Markdown Website

Posted on  by admin

Welcome to the Markdown Community Page

Github is used for hosting the website and R Markdown and a few extra files contain all the content and formatting. When you post a project on GitHub, you may put a README.md on the site to explain what you are trying to do. At first, it looks simple, but you can add pictures and screenshots. These are just the most basic things you can do, and they are all standard Markdown. The best way to learn is to use a cheat sheet and write your Markdown document. Any markdown file in your repository will display in your GitHub Pages website. You just have to use the same path to access it and replace the.md extension by.html. So if you want to display your README.md file, you have to enter the URL as.

Markdown is

a text-to-HTML conversion tool for web writers. Markdown allows you towrite using an easy-to-read, easy-to-write plain text format, thenconvert it to structurally valid XHTML (or HTML).

This page is maintained by and for the markdown community to document varioustools and resources available to document authors and developers, as well asimplementors of the various markdown implementations.

Github Markdown Guide

Authors

Coming soon...

Developers

We're releasing a formal specification of the syntax for GitHub Flavored Markdown, and its corresponding reference implementation.

Whether you're building a web site, a text editor, or something else, if yourproject needs to process markdown documents, you'll need to chose animplementation of a parser library. While the language your project iscoded in will likely have the largest impact on which implementation youchose, there are a number of other factors to consider. Is performancea high priority? Perhaps bindings to a C library will suit you best.Will untrusted users be able to post documents to your web site? Be sureyou are sanitizing the HTML to avoid XSS attacks and the like. Do youwant to offer support for a superset of Markdown's syntax? Will yoube writting your own superset? Some implementations come as/is, whileothers have varying degrees of customizability. Will your project have aninternational audience? Perhaps an implementation that supports Unicodeinput and/or right-to-left text is right for you.

Implementors

If you would like to develop your own implementation of the parser, you maywant to take a look at the rather lengthy list of existing implementationsalready out there (if your implementation is missing from the list, please add it).Obviously, not every one of those implementations parses markdown text in exactlythe same way. As this fragmentation of Markdown can cause frustration to thedocument author, it is important to be aware of the existing implementationsand how they behave. The very useful tool, Babelmark 2, has been providedby John MacFarlane to compare the output of various implementations. See John'sFAQ to add your implementation. The FAQ also discusses why this all mattersand provides examples of some common edge cases that various implementationsdisagree on.

As part of recent design changes, GitHub has introduced READMEs for profiles. By creating a repo with your name and adding README.md file with markdown to it, you can now add a rich description of yourself.

Here is an example of how it looks like:

This feature may not be available to your profile yet. GitHub uses selectively rolling.
Github


Unlike the old plain-text bio field, the new feature supports external links and images. This is where it gets interesting.

Tracking profile views

Since Github's markdown can display images from external sources, you can now track and display views of your profile.

To do so, you need to host an image on your server and display it via Markdown syntax:

On the server-side, each image request can be treated as a view of your profile. The rest of the story is simple — you need to store a counter in the database and return an SVG image with the number of views as a response. Of course, there will be some extra requests from bots, but having such statistics is better than nothing.

Markdown

To prevent IP and User Agent leaking, GitHub caches all images via special proxy. To avoid being cached on Github servers after the first image request, your image must specify cache headers or return non-200 response (e.g., an HTTP 404 page).

Here is the HTTP header that disables caching:

Markdown

This is not something new for repositories since they had this ability for a long time, and GitHub allows this kind of use of images for interactive badges. Unlike profiles, repositories have access to traffic statistics too.

Here is how it can look like when you have access to the new feature:


There are libraries and services that can do this for you. You can also use Pipedream if you want to have more control over the counter logic.

Security aspects

For a lot of people, allowing external images on their websites sounds like not a big deal. I've been using this technique to track profiles views on various platforms for more than 10 years. I've seen how recruiters constantly refresh my profiles when they need to make a decision :).

Unlike GitHub, most of them don't even bother proxying the image to hide IP, referrer, and browser agent. If you want to allow external images on your site, you must proxy them and hide everything about a person who requested it.

Github Markdown To Html

A person with bad intentions can trick a victim into opening your profile that looks completely legit and detect his IP and a browser. You can also set a cookie to track user visits on other websites, but browsers will soon stop doing it.

A single-pixel image can provide you a lot of information. This is how the whole AD industry works when it tracks your visits on various websites.

Conclusion

According to my tests, profile views do not count as repo views, and I hope, in the future, we will be able to see traffic stats in the repository that hosts the README file.

Want a monthly digest of these blog posts?

  • Andrew 9 months, 2 weeks ago #

    Everything old is new again. Used this same technique on MySpace 15 years ago.

  • the_arun 9 months, 2 weeks ago #

    Thanks for sharing

  • Juan 9 months, 2 weeks ago #

    Spying on people is not ethical, in my opinión. People should not assume their browsing activity is being tracked not their personal information (IP) stored without explicit consent. In the EU is not even legal in many cases (ser GDPR).

    • blazed 9 months, 2 weeks ago #

      Nothing about this is spying, it's just counting how many times an image has been requested.

      • noob 9 months, 1 week ago #

        Yes but bad people count ip use tricks .

  • antonkomarev 9 months, 1 week ago #

    I've created simple app for GitHub profile counter. With experimental cloud solution and your own standalone deployment. https://github.com/antonkomarev/github-profile-views-counter

  • gutianhuang 9 months, 1 week ago #

    fun, thx for sharing

Image Markdown Github

  • Themi 9 months, 1 week ago #

    Although I'm sure it's already been done to death, I did a mini project making a site for this purpose. Thanks for the good idea, it helped a 17 y/o stuck in quarantine pass the time by