GithubHelp home page GithubHelp logo

libreddit / libreddit Goto Github PK

View Code? Open in Web Editor NEW
5.0K 42.0 269.0 1.81 MB

Private front-end for Reddit

Home Page: https://github.com/libreddit/libreddit/issues/840

License: GNU Affero General Public License v3.0

Rust 59.35% CSS 13.76% HTML 23.52% Dockerfile 1.95% JavaScript 1.19% Shell 0.23%
reddit rust privacy front-end docker security self-hosted

libreddit's Introduction

Libreddit

An alternative private front-end to Reddit

⚠️ Why do I get TOO MANY REQUESTS errors? ⚠️

As of July 12th, 2023, Libreddit is currently not operational as Reddit's API changes, that were designed to kill third-party apps and content scrapers who don't pay large fees, went into effect. Read the full announcement here.

One of the project maintainers is working towards keeping this project alive to some extent: #836

screenshot


10-second pitch: Libreddit is a portmanteau of "libre" (meaning freedom) and "Reddit". It is a private front-end like Invidious but for Reddit. Browse the coldest takes of r/unpopularopinion without being tracked.

  • 🚀 Fast: written in Rust for blazing-fast speeds and memory safety
  • ☁️ Light: no JavaScript, no ads, no tracking, no bloat
  • 🕵 Private: all requests are proxied through the server, including media
  • 🔒 Secure: strong Content Security Policy prevents browser requests to Reddit

I appreciate any donations! Your support allows me to continue developing Libreddit.

Buy Me A Coffee Donate using Liberapay

Bitcoin: bc1qwyxjnafpu3gypcpgs025cw9wa7ryudtecmwa6y

Monero: 45FJrEuFPtG2o7QZz2Nps77TbHD4sPqxViwbdyV9A6ktfHiWs47UngG5zXPcLoDXAc8taeuBgeNjfeprwgeXYXhN3C9tVSR


Instances

🔗 Want to automatically redirect Reddit links to Libreddit? Use LibRedirect or Privacy Redirect!

Follow this link for an up-to-date table of instances in Markdown format. This list is also available as a machine-readable JSON.

Both files are part of the libreddit-instances repository. To contribute your self-hosted instance to the list, see the libreddit-instances README.


About

Find Libreddit on 💬 Matrix, 🐋 Docker, :octocat: GitHub, and 🦊 GitLab.

Built with

  • Rust - Programming language
  • Hyper - HTTP server and client
  • Askama - Templating engine
  • Rustls - TLS library

Info

Libreddit hopes to provide an easier way to browse Reddit, without the ads, trackers, and bloat. Libreddit was inspired by other alternative front-ends to popular services such as Invidious for YouTube, Nitter for Twitter, and Bibliogram for Instagram.

Libreddit currently implements most of Reddit's (signed-out) functionalities but still lacks a few features.

How does it compare to Teddit?

Teddit is another awesome open source project designed to provide an alternative frontend to Reddit. There is no connection between the two, and you're welcome to use whichever one you favor. Competition fosters innovation and Teddit's release has motivated me to build Libreddit into an even more polished product.

If you are looking to compare, the biggest differences I have noticed are:

  • Libreddit is themed around Reddit's redesign whereas Teddit appears to stick much closer to Reddit's old design. This may suit some users better as design is always subjective.
  • Libreddit is written in Rust for speed and memory safety. It uses Hyper, a speedy and lightweight HTTP server/client implementation.

Comparison

This section outlines how Libreddit compares to Reddit.

Speed

Lasted tested Nov 11, 2022.

Results from Google PageSpeed Insights (Libreddit Report, Reddit Report).

Libreddit Reddit
Requests 60 83
Speed Index 2.0s 10.4s
Time to Interactive 2.8s 12.4s

Privacy

Reddit

Logging: According to Reddit's privacy policy, they "may [automatically] log information" including:

  • IP address
  • User-agent string
  • Browser type
  • Operating system
  • Referral URLs
  • Device information (e.g., device IDs)
  • Device settings
  • Pages visited
  • Links clicked
  • The requested URL
  • Search terms

Location: The same privacy policy goes on to describe that location data may be collected through the use of:

  • GPS (consensual)
  • Bluetooth (consensual)
  • Content associated with a location (consensual)
  • Your IP Address

Cookies: Reddit's cookie notice documents the array of cookies used by Reddit including/regarding:

  • Authentication
  • Functionality
  • Analytics and Performance
  • Advertising
  • Third-Party Cookies
  • Third-Party Site

Libreddit

For transparency, I hope to describe all the ways Libreddit handles user privacy.

Server

  • Logging: In production (when running the binary, hosting with docker, or using the official instances), Libreddit logs nothing. When debugging (running from source without --release), Libreddit logs post IDs fetched to aid with troubleshooting.

  • Cookies: Libreddit uses optional cookies to store any configured settings in the settings menu. These are not cross-site cookies and the cookies hold no personal data.

Official instance (libreddit.spike.codes)

The official instance is hosted at https://libreddit.spike.codes.

  • Server: The official instance runs a production binary, and thus logs nothing.

  • DNS: The domain for the official instance uses Cloudflare as the DNS resolver. However, this site is not proxied through Cloudflare, and thus Cloudflare doesn't have access to user traffic.

  • Hosting: The official instance is hosted on Replit, which monitors usage to prevent abuse. I can understand if this invalidates certain users' threat models, and therefore, self-hosting, using unofficial instances, and browsing through Tor are welcomed.


Installation

1) Cargo

Make sure Rust stable is installed along with cargo, Rust's package manager.

cargo install libreddit

2) Docker

Deploy the Docker image of Libreddit:

docker pull libreddit/libreddit
docker run -d --name libreddit -p 8080:8080 libreddit/libreddit

Deploy using a different port (in this case, port 80):

docker pull libreddit/libreddit
docker run -d --name libreddit -p 80:8080 libreddit/libreddit

To deploy on arm64 platforms, simply replace libreddit/libreddit in the commands above with libreddit/libreddit:arm.

To deploy on armv7 platforms, simply replace libreddit/libreddit in the commands above with libreddit/libreddit:armv7.

3) AUR

For ArchLinux users, Libreddit is available from the AUR as libreddit-git.

yay -S libreddit-git

4) NetBSD/pkgsrc

For NetBSD users, Libreddit is available from the official repositories.

pkgin install libreddit

Or, if you prefer to build from source

cd /usr/pkgsrc/libreddit
make install

5) GitHub Releases

If you're on Linux and none of these methods work for you, you can grab a Linux binary from the newest release.

6) Replit/Heroku/Glitch

Warning These are free hosting options, but they are not private and will monitor server usage to prevent abuse. If you need a free and easy setup, this method may work best for you.

Run on Repl.it Deploy Remix on Glitch


Deployment

Once installed, deploy Libreddit to 0.0.0.0:8080 by running:

libreddit

Instance settings

Assign a default value for each instance-specific setting by passing environment variables to Libreddit in the format LIBREDDIT_{X}. Replace {X} with the setting name (see list below) in capital letters.

Name Possible values Default value Description
SFW_ONLY ["on", "off"] off Enables SFW-only mode for the instance, i.e. all NSFW content is filtered.
BANNER String (empty) Allows the server to set a banner to be displayed. Currently this is displayed on the instance info page.
ROBOTS_DISABLE_INDEXING ["on", "off"] off Disables indexing of the instance by search engines.
PUSHSHIFT_FRONTEND String www.unddit.com Allows the server to set the Pushshift frontend to be used with "removed" links.

Default User Settings

Assign a default value for each user-modifiable setting by passing environment variables to Libreddit in the format LIBREDDIT_DEFAULT_{Y}. Replace {Y} with the setting name (see list below) in capital letters.

Name Possible values Default value
THEME ["system", "light", "dark", "black", "dracula", "nord", "laserwave", "violet", "gold", "rosebox", "gruvboxdark", "gruvboxlight"] system
FRONT_PAGE ["default", "popular", "all"] default
LAYOUT ["card", "clean", "compact"] card
WIDE ["on", "off"] off
POST_SORT ["hot", "new", "top", "rising", "controversial"] hot
COMMENT_SORT ["confidence", "top", "new", "controversial", "old"] confidence
SHOW_NSFW ["on", "off"] off
BLUR_NSFW ["on", "off"] off
USE_HLS ["on", "off"] off
HIDE_HLS_NOTIFICATION ["on", "off"] off
AUTOPLAY_VIDEOS ["on", "off"] off
SUBSCRIPTIONS +-delimited list of subreddits (sub1+sub2+sub3+...) (none)
HIDE_AWARDS ["on", "off"] off
DISABLE_VISIT_REDDIT_CONFIRMATION ["on", "off"] off

You can also configure Libreddit with a configuration file. An example libreddit.toml can be found below:

LIBREDDIT_DEFAULT_WIDE = "on"
LIBREDDIT_DEFAULT_USE_HLS = "on"

Examples

LIBREDDIT_DEFAULT_SHOW_NSFW=on libreddit
LIBREDDIT_DEFAULT_WIDE=on LIBREDDIT_DEFAULT_THEME=dark libreddit -r

Proxying using NGINX

Note If you're proxying Libreddit through an NGINX Reverse Proxy, add

proxy_http_version 1.1;

to your NGINX configuration file above your proxy_pass line.

systemd

You can use the systemd service available in contrib/libreddit.service (install it on /etc/systemd/system/libreddit.service).

That service can be optionally configured in terms of environment variables by creating a file in /etc/libreddit.conf. Use the contrib/libreddit.conf as a template. You can also add the LIBREDDIT_DEFAULT__{X} settings explained above.

When "Proxying using NGINX" where the proxy is on the same machine, you should guarantee nginx waits for this service to start. Edit /etc/systemd/system/libreddit.service.d/reverse-proxy.conf:

[Unit]
Before=nginx.service

Building

git clone https://github.com/libreddit/libreddit
cd libreddit
cargo run

libreddit's People

Contributors

artemislena avatar clockvapor avatar curlpipe avatar daniel-valentine avatar dependabot[bot] avatar erdnaxe avatar esmailelbobdev2 avatar fawni avatar firemasterk avatar gi-yt avatar gmnsii avatar guaddy avatar invakid404 avatar itzbobocz avatar jpyke3 avatar kierandrewett avatar mcrossman avatar mikupls avatar potatoesaregod avatar robrobinbin avatar rootfsext2gz avatar scoder12 avatar sigaloid avatar somoso avatar spenserblack avatar spikecodes avatar tirz avatar tokarak avatar wsy2220 avatar xatier 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  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

libreddit's Issues

Feature Request | Minimal search-bar option for front page

Aside from privacy I prefer alternative front-ends as they remove some of the bad distracting design that social-media sites implement to keep users on their site as long as possible. (E.g. endless scrolling etc.) I feel like trending-tabs / front-pages have a similar or the same goal in mind. They provide low-key interesting content that however is 95% irrelevant.

I'd suggest replacing the front-page with a centered search-bar like on nitter.

On the other hand Reddit literally describes itself as the front-page of the internet. Therefore some people might expect such a front-page when visiting libreddit.

Either introduce a toggle or force people to visit r/all by themselves. Or in case you decide not to implement it, let people manually remove it via <input removal method>, which however likely poses problems when switching instances frequently.

Feature Request | Add "Show parent comments"button when viewing a comment

Is your feature request related to a problem? Please describe.
When you navigate to a comment directly, eg. coming from a user's profile, you cannot easily see the context of the comment.

Describe the solution you'd like
Add a "Show parent comments" button. This button would append "?context=9999" to the URL (or a similar value).

Additional context
IIRC, the number of nested comments is now capped at 3 by libreddit. To display a full context, deeper nesting should be supported.

Bug Report | Post sorting buttons don't work in multireddits

Describe the bug
When using multireddit functionality (e.g. libredd.it/r/funny+pics), the post sorting buttons at the top don't track the multireddit, and they route to base URLs like libredd.it/new, libredd.it/top, etc.

To reproduce
Steps to reproduce the behavior:

  1. Visit libredd.it/r/funny+pics
  2. Click on any of the post sorting buttons at the top of the page.
  3. Note that the selected subreddits in the multireddit are forgotten, and you are now on the default front page (i.e. /r/all or /r/popular).

Expected behavior
The selected subreddits in the multireddit should be remembered when clicking any of the post sorting buttons.

Additional context
Manually entering a multireddit URL with sorting works as expected (e.g. libredd.it/r/funny+pics/top), it's just the buttons that route incorrectly.

Restrict proxy to Reddit-hosted media

The /proxy endpoint takes a base64 encoded URL as a parameter and doesn't perform any kind of validation on it, making this an unrestricted open proxy. Although only GET requests can be performed this way, I'm not sure this is a good idea, at least for public facing instances.

proxied videos failing to load on chrome

Just wanted to let you know how much better this is than new and old reddit! The UI is beautifully designed and the speed rivals that of old reddit which is a feat in and of itself. I even set up a redirect which redirects all reddit requests to libreddit! Thanks for the good work! The issue I encountered is as follows:

  • proxied videos embedded within posts fail to load on chrome (and edge/presumably most chromium based browsers) for some reason (tested on windows and ubuntu 20.04)
  • not 100% sure where the issue is coming from, as on firefox the feature works perfectly
    Example Post w/ Embedded Video

Light theme

Awesome work! May I suggest a light mode, maybe a sepia or solarized one? Perhaps even allowing users to define their own themes?

Mobile Friendly

Dear heavens! This is exactly what I've been needing in my life. Thank you so much!

If I may put in a request, I'd like to humbly ask that the web interface be made mobile browser friendly. Cheers

Support searching for subreddits

First of all, just want to say I love this. I pretty much use this every day over reddit.

I'm missing a way to easily browse/search existing subreddits, and missing out on seeing what is on popular and all subreddits. If the links to popular/all were put in first, then a way to browse/search through existing subreddits, that would be excellent.

Add space next to hide comment

Describe the bug
A clear and concise description of what the bug is.
On mobile, it's hard to click on the hide comment button, we often missclick on the user profile

To reproduce
Steps to reproduce the behavior:

  1. Have too large fingers?
  2. Try to hide a comment

Expected behavior
It hides comment

Additional context
It is hard to click on hide comment, and easier to click on profile post. If you add space there it would make it easier to click on hide comment

Redirect HTTP requests to HTTPS

Is your feature request related to a problem? Please describe.
http://libredd.it and http://libreddit.spike.codes don't redirect to their HTTPS versions.

Describe the solution you'd like
A command line argument (--redirect-https) to redirect requests from HTTP to HTTPS.

Additional context
This command line argument should not be the default as self-hosters would not have TLS by default.

Bug Report | Can't search in subreddits

Is your feature request related to a problem? Please describe.
I'm a big fan of a particular subreddit and i'd like to perform seraches only in the said subreddit, and not everywhere in reddit.

Describe the solution you'd like
A checkbox "search only in the current subreddit".

Feature Request | Support /user/ URLs

Is your feature request related to a problem? Please describe.
The other day I was linked to a post that was posted on a user page rather than on a subreddit. This is possible because every user is also a subreddit (of sorts). There pages are available through libreddit, but only after manually tweaking the URL.

  • Example on Reddit: https://www.reddit.com/user/Planetsahead/comments/ktufit/peegate_update/
  • Gives an "Error: Nothing here" on libreddit: https://libredd.it/user/Planetsahead/comments/ktufit/peegate_update/
  • But works if /user/ is replaced with /r/u_: https://libredd.it/r/u_Planetsahead/comments/ktufit/peegate_update/

Describe the solution you'd like
Preferably switching www.reddit.com for libredd.it is enough to get the page loaded.

Describe alternatives you've considered
Another alternative (though less desirable IMHO) is to have /user/ automatically redirect to the less specific /r/u_ prefix.

Favicons?

I've spent 5 mins doing a small set of favicons, would be a good idea to get them as a placeholder maybe until you are set on a logo?

libreddit16

libreddit32

libreddit60

libreddit144

libreddit196

Feature Request | Support cross-posted (embedded) Reddit posts

Steps to reproduce:

  1. Find a post on one subreddit wholesale containing a post from a different subreddit.
  2. Visit it on libreddit.

Result: the entire post only includes a link out to the original post, which will also take you outside of libreddit and back onto Reddit-proper.

Example URL: https://libredd.it/r/offlineTV/comments/klq0ji/crackhead_on_the_loose/.

Expected: see the post as it is on the original subreddit it was crossposted from.

In the case of the above example URL, I would expect the same content as displayed for the URL: https://libredd.it/r/valkyrae/comments/klhie9/rock_mannn/.

Feature Request | Fonts

Is your feature request related to a problem? Please describe.
I see libreddit being described as more of a privacy-respecting alternative to redesigned Reddit. I was thinking about possibility of including Reddit's fonts for Libreddit.

Describe the solution you'd like
Reddit uses IBM Plex Sans for titles and Noto Sans for body. Both are free: IBM Plex Sans is licensed under the Open Font License while Noto Sans is licensed under Apache License, Version 2.

Describe alternatives you've considered
I understand there are different tastes for different people. I see Arial currently being used, and while it has its critics, Arial is ubiquitous. So it's up to you!

Additional context
I love libreddit!

Display the focus indicator

The focus indicator is vital for users who tab through the page. Accessibility!

I checked the code and it looks like you just need to get rid of * { outline: none; }

Fixed top bar

Hello, I think it would be a good idea to have the top bar fixed so that we can have easy access to search and home page.
CSS needed change:

nav { position: fixed; width: 98vw; top: 0; z-index: 90; }

main { margin-top: 8vh; }

z-index should prolly be much less, I put it at 90 just to make sure it works.

For mobile, the main margin value should be a bit higher.

Bug Report | No audio for proxied videos

Steps to reproduce:

  1. Find a post consisting of a single video hosted by Reddit,
  2. Visit it on libreddit using Firefox. (Have not tested to see if this bug exists for other browsers.)

Result: the video is proxied and playable by the browser's native player (yeay!) but loses the audio track (boo!).

Example URL: https://libredd.it/r/valkyrae/comments/klhie9/rock_mannn/.

Expected: head audio when playing the video.

Tor routing [feature request]

Hi,

It would be great to add an option to route traffic through Tor. I'm really happy to have found this software as it is exactly what I needed, thank you.

Bug Report | Wide code blocks can make comments flow off the screen

Describe the bug
Wide code blocks in a comment cause the entire comment's thread to flow off the screen if the screen is narrower than the code (e.g. mobile). The horizontal scroll does not kick in if the code block gets too wide.

To reproduce
Steps to reproduce the behavior:

  1. Go to https://libredd.it/r/learnpython/comments/5k6saj/how_do_i_type_a_large_block_of_code_in_reddit/
  2. Open up dev tools and use the responsive mode to make the viewport narrow (or you could open it on a phone)
  3. See the entire thread flow off the edge of the viewport. Note that comment threads without long lines of code wrap normally.

Expected behavior
The code block's bounding box should get horizontal scrolling if it's too wide, just like the example below:

A really wide code block like this should have its own horizontal scrolling if it goes beyond the screen. On GitHub, you should be seeing a scrollbar at the bottom of this box if these lines are too long for the parent container.

Additional context
libreddit's code block styling already supports this behaviour, but the parent containers do not shrink past the width of the longest line of code.

Applying min-width: 0; (or any small value) to .comment-right will let the comment shrink narrower than the longest line of code, which would let horizontal code scrolling work.

Site-wide Configuration

Through localStorage (private cookies), users should be able to store site-wide settings for Libreddit:

  • Configuration menu
  • Customizing layouts (see #21)
  • Filtering NSFW content
  • Default sorting method

Feature Request | Hide NSFW content by default

Describe the bug
The Reddit search box has an option to "include NSFW results".
Libreddit doesn't and searching in any NSFW subreddits will yield no results.
However, if you manually append &include_over_18=on to the URL, everything works as expected.
Seems like adding a button would be enough to fix this.

Bug Report | 1 karma for score hidden

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

To reproduce
Steps to reproduce the behavior:

  1. Find posts with score hidden (many subreddits apply this policy for few hours after creating a comment)
  2. Notice the score is 1

Expected behavior
The score is ? or another sign to show it's hidden, unknown

Additional context

Sort is lost when paging.

Steps to reproduce:

  1. Visit any subreddit, e.g. /r/news.
  2. Sort by "New".
  3. Scroll to the end of the page and click NEXT.

Result: you end up on the page with a cursor in the URL but no more sort, thus ending up on an unspecified page of the subreddit when sorted by "Hot".

Example URL: https://libredd.it/r/news?after=t3_kka1pr.

Expected: the sort parameter is kept in the URL.

Example URL: https://libredd.it/r/news?sort=new&after=t3_kka1pr.

Bug Report | Long subreddit name moves elements beyond screen on smartphones

Describe the bug

Longer subreddit names move the Enter button beyond the screen, as well as move Libreddit’s logo and version, settings, and code elements. The only workaround is to rotate the smartphone from portrait to landscape. However, even then, while the Enter button becomes visible, elements such as Libreddit’s logo, version, settings, code are still off, compared to their position on a subreddit whose name is short.

To reproduce
Steps to reproduce the behavior:

  1. Go to this subreddit. It’s called UNBGBBIIVCHIDCTIICBG.
  2. Locate search button

Expected behavior
Regardless of subreddit length name, the Enter button should still be visible either in portrait or landscape layout. Other elements should maintain position as well.

Additional context
ABA04575-E286-45E0-A61C-8AE1D464AA64

Feature Request | Filter by keywords across post (titles and comments,) subreddits, and users

Is your feature request related to a problem? Please describe.
As an example, I see posts about bananas on libreddit, and I'm not a fan of seeing posts and individual subreddits. There may even be a user on reddit who is interested in talking endlessly about bananas.

Describe the solution you'd like
I would like to have a filter set (through cookies) where I can filter out posts, subreddits and/or users by my chosen keyword(s). In my case, it would initially be banana. Then in the future I may have a grudge against mangoes, which I'd like to filter out too.

Perhaps for users, I could tap a button next to their name and get a popup or an additional tap to confirm I would no longer like to hear from this user.

Describe alternatives you've considered
Closing my eyes and my mind to the posts about bananas and users who speak such heathen about bananas.

Additional context
Mobile app versions of Reddit (Apollo comes to mind) has this filtering locally:

Image of Apollo with local filtering

Bug Report | Media unplayable on WebKit-based browsers

Describe the bug
Reddit GIFs + videos on Libreddit are unplayable.

To reproduce
Steps to reproduce the behavior:

  1. Go to this video. Another video example. GIF example.
  2. A play button with a line through it appears

Expected behavior
GIFs/videos should be playable. I’m not sure why Safari on iOS isn’t able to play them on Libreddit. Those very same GIFs and videos play well on Reddit.

Additional context
Reproduced on all of Libreddit’s working instances.

405634D4-A994-4AEE-AABC-8450AA0DC310

NSFW thumbnails do not proxy correctly

Steps to reproduce:

  1. Find a photo post marked as NSFW.

Result: a broken thumbnail image is shown as the proxy failed.

Screenshot showing a broken thumbnail on an r/trashy post that was shown on the libredd.it homepage.

I ran into this randomly on the libredd.it homepage, and can't actually find this actual post any more. But randomly browsing the site, this problem seems to occur for all NSFW photo posts.

Expected: show no image at all when a post is marked as NSFW. (Or an otherwise obscured image.)

Feature Request | Customize accent color

Is your feature request related to a problem? Please describe.
No issue, but the customization of this would be nice.

Describe the solution you'd like
Setting to change accent color.

Describe alternatives you've considered
Command line argument to set instance-specific accent color.

Additional context
None.

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.