Coder Social home page Coder Social logo

mirnovov / obsidian-homepage Goto Github PK

View Code? Open in Web Editor NEW
317.0 317.0 16.0 228 KB

An Obsidian plugin that opens a specified note, canvas, or workspace on startup, instead of the most recent one.

License: Other

TypeScript 92.55% JavaScript 3.11% CSS 4.34%
obsidian-md obsidian-plugin

obsidian-homepage's People

Contributors

mirnovov 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

obsidian-homepage's Issues

Periodic Note wont open

Details

I'm no expert, excuse me if I'm missing something obvious.
I want my daily periodic note to open on startup. I get the "Homepage 'the name of the note' does not exist". In periodic notes settings, the name of the file is YYYY-MM-DD-[W]W

Steps to reproduce

In periodic notes settings, the name of the daily note file is YYYY-MM-DD-[W]W
In homepage settings, I have tried "YYYY-MM-DD-[W]W" and moment().format("YYYY-MM-DD-[W]W");

Debug information

{"version":3,"homepages":{"Main Homepage":{"value":"[[YYYY-MM-DD-[W]W]]","kind":"Date-dependent file","openOnStartup":true,"hasRibbonIcon":true,"openMode":"Keep open notes","manualOpenMode":"Keep open notes","view":"Default view","revertView":true,"refreshDataview":false,"autoCreate":false,"autoScroll":false,"pin":false,"commands":[]}},"separateMobile":false,"_defaultViewMode":"default","_livePreview":"default","_focusNewTab":"default","_plugins":["obsidian-admonition","code-block-copy","obsidian-kanban","periodic-notes","templater-obsidian","dataview","obsidian-omnivore","homepage","obsidian-projects","obsidian-tasks-plugin"],"_internalPlugins":["file-explorer","global-search","switcher","graph","backlink","outgoing-link","tag-pane","page-preview","templates","note-composer","command-palette","editor-status","bookmarks","outline","word-count","file-recovery"],"_obsidianVersion":"1.2.8"}

Checklist

  • I updated to the latest version of the plugin.

[BUG] Reloading the app wipes out the homepage note

Settings:
image

How to reproduce:

  1. Open Obsidian, then the homepage note will show up
  2. Execute the command Reload the app without saving, or just close and reopen Obsidian
  3. When Obsidian is reloaded, the content of the homepage note is wipe out

Maybe this issue is not caused by this plugin. Let me know if you cannot reproduce this issue. Thanks!

Homepage view resets to wrong editing mode for opened notes

Summary

Switching to the homepage when the "Hompage view" setting is set to "Reading view" resets the preview mode of new notes to "Source Mode".

In short, I don't use the "Source Mode" editing view, I never have, I never want to, sue me. Using the Homepage plugin, I constantly have to reset my edititing view from "Source Mode" to my default, which is "Preview Mode".

Steps to reproduce

Setup
Make sure the "Revert view on close" option is set to ON
Make sure in Options-> Editor that "Default view for new tabs" is in "Editing View"
Make sure in Options -> Editor that "Default editing mode" is "Live Preview"
In Homepage Settings, set "Hompage view" to "Reading view"

Behavior
Open Home note -> Should set the view to "Reading View"
Open any note that is not opened (via directory or ctrl+o) -> Should open the note in "Reading View"
Change the new note from "Reading View" to "Editing View" -> The note reverts to "Source Mode"

Potential Solution
When you open a note from the Home page, the editing mode should follow the "Default editing mode" configured in Settings->Editor->General

Obsidian info

Quick Switcher++

Obsidian version

V1.1.16

Checklist

  • I updated to the latest version of the plugin.

Unless you have "auto-create" turned on, Homepage can't find your daily note if it's not in the root directory

Summary

Unless you have "auto-create" turned on, Homepage can't find your daily note if it's not in the root directory. E.g. if you keep your daily notes in a different folder.

Steps to reproduce

No response

Obsidian info

  1. Using the daily notes core plugin.

  2. Using the Homepage plugin, auto-create turned off, and set such that if my daily notes are kept in "/" (root directory) everything works fine. But if I change my daily notes location (in the core plugin) to the folder "Daily Notes" and move my daily notes there, when opening Obsidian, Homepage doesn't find today's daily note.

  3. If I turn auto-create on in Homepage, everything works correctly. Homepage then finds the daily note in the directory.

Obsidian version

1.1.16

Checklist

  • I updated to the latest version of the plugin.

How to stop Homepage from opening at startup?

Summary

Is there any way of preventing homepage from opening at startup?

Details

I appreciate the plugin, but when I open Obsidian, I’d like it to show the same note that was open when I last used it. With the homepage plugin enabled, I always get the homepage instead.

While I see why some people would want it like that, it would be great if this could be disabled. Or perhaps it already is possible and I missed it? Maybe I can manually modify a line of code?

Set todays daily note as homepage

Hi,

I'm trying to set my daily note as a home page and have not been able to make this happen. Is this possible in the current state of the plugin?

Kind Regards, Jens

Plugin will not turn on!

Downloaded plugin, moved it to plugins directory of Obsidian. I can see it under community plugins. However, when I hit the button to turn it on, it says "Failed to load plugin page".

More flexible homepage spec

Summary

I want to combime a folder path and moment syntax to specify the homepage

Details

I use the daily notes core plugin. There you can specify the folder for daily notes and the note name. It turns out you can use:

YYYY/MM-MMMM/YYYY-MM-DD

as the note name. This will let it make a directory under the folder for each year, each month and a new page. So if I have a base folder of /stuff/Inbox/DailyNotes I get a hierarchy that looks like:

stuff/

  • Inbox/
    • DailyNotes/
      • 2022
      • 2023
        • 01-January
        • 02-February
          • 2023-02-01
          • 2023-02-02
            ......
            can you use the same kind of logic for specifying the note to open.

Setting a workspace as a homepage causes sidebar contents on mobile to disappear

Details

On the 3.0.2 release, setting a workspace as a homepage causes all contents (files, search, tags, starred, etc) to disappear from the sidebar. The vault name, number of files/folders, and settings button at the top of the sidebar are still visible, but the rest of the sidebar is blank.

This seems to happen on mobile only - the sidebars in the macOS app are normal.

I am guessing this might have been introduced in the fix for #47!

I am using the latest iOS release, but there is currently a post by someone who seems to be an Android user on the Obsidian forum which I suspect is related, although I'm still waiting to hear back from them to see if they're using Homepage.

Steps to reproduce

Select an existing workspace as the homepage in the plugin settings.

Reload Obsidian on mobile.

Open the sidebar.

Debug information

{"version":3,"homepages":{"Main Homepage":{"value":"Main Workspace","kind":"Workspace","openOnStartup":true,"hasRibbonIcon":true,"openMode":"Replace all open notes","manualOpenMode":"Keep open notes","view":"Default view","revertView":true,"refreshDataview":false,"autoCreate":true,"autoScroll":false,"pin":false,"commands":[]},"Mobile Homepage":{"value":"Main Workspace","kind":"Workspace","openOnStartup":true,"hasRibbonIcon":true,"openMode":"Replace all open notes","manualOpenMode":"Keep open notes","view":"Default view","revertView":true,"refreshDataview":false,"autoCreate":true,"autoScroll":false,"pin":false,"commands":[]}},"separateMobile":false,"_defaultViewMode":"default","_livePreview":true,"_focusNewTab":"default","_plugins":["homepage"],"_internalPlugins":["file-explorer","global-search","switcher","graph","backlink","canvas","outgoing-link","tag-pane","page-preview","templates","note-composer","command-palette","slash-command","editor-status","starred","markdown-importer","random-note","outline","word-count","slides","audio-recorder","workspaces","file-recovery","sync"],"_obsidianVersion":"1.1.16"}

Checklist

  • I updated to the latest version of the plugin.

Kanban board opens twice when set as home page

Summary

When a Kanban board (created by the Kanban plugin) is set as as the homepage, the page opens twice upon clicking the hotkey.

Steps to reproduce

  1. Install the Kanban plugin
  2. Create Kanban Board
  3. Set the Board as Homepage.
  4. Press the hotkey.

Obsidian info

Kanban plugin

Obsidian version

1.0.3

Checklist

  • I updated to the latest version of the plugin.

Add MomentJS String Explanation

Summary

Add a simple (but very helpful) explanation

Details

Many people don't understand that regular strings (like "Daily") can be interpreted as MomentJS syntax

You can add this line under line 91,

You can escape a string of characters using brackets (For example, [Daily]/YYYY-MM-DD) <br>

New note gets created, existing note is not opened

Obsidian 0.12.13 -

When I have a note I want to start up like;

000 MAIN\000 Main MOC

I add that path to the plugin, click on the home icon and it creates an empty note;

000 MAIN\000 Main MOC 1

This happens with most paths I fill in;

100 PLANNING\101 projectplanning

Turns into;

100 PLANNING\101 projectplanning 1

Option to force to reopen the homepage only

Summary

As a user, I'd like to be able to force the homepage to reload, then some plugins and queries will be refreshed

Details

Long short story: my homepage uses Obsidian KanBan + Obsidian Tasks and these plugins don't work well together.


Kanban loads Tasks only at the very first time that the page opens, if I click in a task, the card will break and to refresh the board I need to do a hard refresh on it, there isn't a "refresh" button, and the plugin doesn't seem to be well maintained.

To quickly refresh the tasks I've two main paths:

  1. Using a shortcut, I can press it twice and the board will toggle to markdown and back to the kaban mode.
  2. Using the Homepage shortcut I can press a shortcut once to reopen the board.

Those options work fine, but aren't optimal.

The first one requires two shortcuts, and second one requires the option "replace all notes" enabled to do what I want.

The issue with that is that I'd like to be able to replace only the homepage and leave the other notes there, untouched.

Currently this isn't possible with the plugin.


That's it, thank you for the amazing job.


[edit]

The Kanban plugin has a similar behavior if you add DV queries into the cards.

Plugin Homepage no longer viewable in 'Browse' Community Plugins in Obsidian

Summary

The manifest.json has been deleted on your default branch. This breaks the plugin in Community store

Steps to reproduce

  1. Obsidian -> Settings
  2. -> Community plugins
  3. -> Browse
  4. -> Search for Homepage
  5. -> Click on the Homepage thumbnail

Expected:
Shows details of the plugin

Actual:
image

I discovered this whilst working on the Obsidian Hub, one of whose scripts reported that the manifest.json is missing.

Obsidian info

Not applicable

Obsidian version

1.2.2

Checklist

  • I updated to the latest version of the plugin.

"Pin on open" feature does not seem to work

Summary

When I set the "Pin to homepage when opening" setting, the homepage is not pinned.

Steps to reproduce

  1. Activate the homepage plugin.
  2. Set an existing page as the homepage.
  3. Close Obsidian completely and reopen.
  4. Expectation: Obsidian homepage open and pinned.
  5. Reality: Obsidian homepage open but not pinned.

Obsidian info

Other Installed Plugins:

  • Table of Contents
  • Cardboard
  • Natural Language Dates
  • GPT-3 Notes

Default view for new tabs: editing view.
Default editing mode: live preview.
Homepage view: default view.

Operating system: Mac OS X

Obsidian version

1.1.9

Checklist

  • I updated to the latest version of the plugin.

[Feature Request] Open Homepage in a New Pane

Thanks for this plugin! I have a small feature request, that is opening Homepage in a new pane. I often leave many notes open when I leave the app, but Homepage will replace one of them with the home note. FYI I use both Obsidian Tabs and Sliding Panes.

Ribbon Homepage Button Doesn't Work with Daily Notes on Startup Enabled

Summary

When clicking the homepage button in the ribbon, an error displays saying that it cannot work with daily note on startup enabled. It makes sense that the open on startup wouldn't function because something else handles that on startup. But the ribbon icon should still work as a shortcut.

Steps to reproduce

No response

Obsidian info

Daily Notes

Obsidian version

1.1.16

Checklist

  • I updated to the latest version of the plugin.

Break Since Updating to Obsidian v0.16.2

Strange bug since updating Obsidian to the insider build. Upon opening Obsidian the homepage does not automatically load. I have to press the homepage button twice before my specified homepage loads. This is persistent and consistent.

[Feature Request] Open an Specific Workspace as a homepage

Hello @mirnovov !!!

I saw on Discord about this new plug-in and I can wait to use!!!!!!

I know it is not released yet but I already have a feature request to share with you :)

As you might know there is a core plug-in called Workspaces that lets the user define a set of notes to be display togheter.
Screen Shot 2021-07-24 at 08 47 00
Screen Shot 2021-07-24 at 08 47 32

As an example, this is one of my Workspaces
Screen Shot 2021-07-24 at 08 53 19

My feature request is very simple to explain:

Give the option to open an Workspace instead of a note. This way I can set a Dashboard Workspace as my homepage in Obsidian.

I hope you like my suggestion and I hope it is a feasible one :)

Let me know if you need more information.

Thanks and have a great day!

[BUG] Tabs are not rendered in Obsidian 1.2.2

Summary

Since the update to Obsidian 1.2.X the plugin does not render tabs anymore

Steps to reproduce

Plugin enabled:
image

Should be:
image

Obsidian info

image

Happens with default theme and minimal theme

Obsidian version

1.2.2 Windows

Checklist

  • I updated to the latest version of the plugin.

No appropriate version found

Summary

When trying to install on IOS I get this error message

Steps to reproduce

No response

Obsidian info

Trying to install Homepage version 2.7.3 fails with the error message: "No appropriate version found"

Obsidian version

Obsidian version 1.4.1 (83) API v1.0.3.

Checklist

  • I updated to the latest version of the plugin.

[Feature Request] Be able to use date specifications as homepage name

In Periodic Notes, I can specify a date format for the note location. For example:

somefolder/YYYY/MM-MMMM/YYYY-MM-DD

with today (march 28, 2022) would have the today note created as:

somefolder/2022/03-March/2022-03-28.md

Allowing this would means my home page when I open Obsidian is the current daily note or a new one is created.

auto-pin

Summary

an option to auto-pin the note once it is opened

Details

On startup, the Home note would be opened as it is currently, but then automatically pinned as well.

I use the Home page as a sort of "map of content" and would love to not have to remember to pin it every time I have to re-open Obsidian.

"Command: Open homepage" when homepage is already open

Dear dev, I have updated the plugin some time ago and encountered a very minor problem.

I vaguely remember that back a few versions, when the homepage was already opened, running command: open homepage would refresh the site automatically. But after a few updates the command no longer works like this.

This is a much needed feature for me as I've linked the command to a header button, and would constantly need to refresh my homepage to rerender some dynamic Dataview blocks. Would you consider adding it back if it's not too much trouble?

Obsidian 1 homepage button opens empty tab

(Love this plugin)
In the new Obsidian 1 update, when I click on the Home button in the sidebar, it opens up an 'empty' tab that just says 'no file is open. If I then click the button a second time it will load the homepage. However, this only happens if it's set to 'replace all open notes'. Keep open notes and Replace last note still work fine.

I'm assuming it's due to the new tab system that Obsidian 1 introduced.

Vault deafulting to homepage view mode

Summary

Every time i access my homepage, my vault goes to reading mode

Steps to reproduce

I set my homepage in reading mode (homepage plugin settings) for formatting issues but the rest of my vault is set to editing view (obsidian settings->editor) (live preview) for the practicality.

Now every time i acces my homepage, everything goes to reading mode and stops my flow when starting to work on a note.

Is there an easy fix for this? Thanks!

Obsidian info

Settings > Editor: Default view for new tabs, editing mode and live preview
Settings > Homepage: Homepage default view reading mode

Plugins:
Dataview
tasks
Templatr
banners
file tree alternative plugin
homepage

Obsidian version

1.1.8

Checklist

  • I updated to the latest version of the plugin.

[BUG]Pinning canvas as home page does not work

Steps to reproduce:

  1. Set canvas as homepage in the options of the plugin
  2. Make sure Pin option is set to "On"
  3. Close & Reopen Obsidian

Result:
Obsidian opens with set canvas but is unpinned.

Expected result:
Obsidian opens with set canvas but is pinned.

BTW. Setting homepage to normal note results in pinning in startup. With canvas it's broken.

Can't set obsidian canvas page as homepage

Summary

Can't set obsidian canvas page as homepage

Steps to reproduce

  1. Create new canvas
  2. Save the canvas as My/homepage
  3. Open settings / Homepage
  4. Set Homepage to My/homepage
  5. Click to the Open Homepage button
  6. Expect that My/homepage canvas will be opened, but receive the message: Homepage "My/homepage" does not exist.

Obsidian info

Plugins:
image

Editor:
image

Homepage:
image

Obsidian version

v1.1.9

Checklist

  • I updated to the latest version of the plugin.

[FR] Ctrl/Cmd + Click behavior

Summary

Have the same behavior when Ctrl/Cmd + Click as the "Open today's daily note"

Details

The plugin has the option to "Manual opening method", and we can set it to "Keep open notes", "Replace all open notes", ...
But it could be interesting to make the "Homepage" icon behave the same way as the "Open today's daily note".

When Click on the "Open today's daily note": the page is open in the current tab.
When Ctrl/Cmd + Click on the "Open today's daily note": the page is open in a new tab.

Thank you for your consideration.

Pressing the Homepage-button closes all open tabs

Summary

Pressing the Home button closes all open tabs, then opening a new tab with the home page

Steps to reproduce

Foremost, thanks a lot for developing this plugin. ☺️

Current behavior

The new Obisidian update having brought tab support. When pressing the Homepage-button, all open tabs are closed and a new tab with the homepage is opened .

Expected behavior (I think)

When pressing the Homepage-button, the homepage opens in the current active tab. All other open tabs are uneffected.

I may be wrong with the expected behavior, but it seems more logical to me. If it is not, then an option to have this behavior would be appreciated.

Removing src/main.js line 404 seems to fix the issue for me, but may produce undesired behavior during startup of Obisidian.

this.app.workspace.detachLeavesOfType("markdown");

Obsidian info

No community plugins besides obisidian-homepage enabled.

Obsidian version

1.0.0

Checklist

  • I updated to the latest version of the plugin.

Homepage is opened in new tab even if already open elsewhere

Summary

If the Homepage is still open (from last time) when the program starts, it still gets opened again in a new tab.

Steps to reproduce

  1. Open the homepage (and additional notes, if you want to)
  2. close the vault
  3. open it again

Obsidian info

Opening Method: Keep Open notes (required as I have other notes I have to keep open at all times)
View: Reading View
Installed plugins (there must be a better way of getting all active plugins copied to the clipboard :P)
grafik
grafik

Testing it in isolation in the sandbox vault was unsuccessful.

Obsidian version

1.0.3

Checklist

  • I updated to the latest version of the plugin.

[Bug] Sidebar on mobile becomes invisible when plugin is enabled

Hi @mirnovov!

Thank you for this great plugin, it works like a charm.

However I have ran into an issue on the mobile Obsidian app (iOS) where when I activate your plugin, the sidebar (file explorer, search, etc.) becomes invisible after a restart of the app.
This happens with the default theme and no other plugins installed.

Marc Julian

Option to open HP pinned

Summary

We could use an option to automatically pin the homepage once it's opened.

Details

Hello,

Is it possible to automatically pin the homepage upon startup, so that opening new links won't overwrite it?

As an example, I use the homepage to open my tassks-kanban and my dailynote and pin them automatically, but that is only possible if the HP is pinned itself - otherwhise it will be overwritten.

Thank you.

Sincerely,
~Gw

how to use moment-syntax?

Hi,
I am trying to set a dynamic homepage with the moment-Syntax. It takes the code I enter into the homepage-field literally.
I tried

format.moment("YYYY-MM-DD")
format.moment(YYYY-MM-DD) as Obsidian complained about the "
YYYY-MM-DD

A file is always created, but not with the current date but with YYYY-MM-DD

MacOS - on obsidian startup, repeatedly opens TextEdit

Details

When opening Obsidian and reaching the "Loading Workspace" stage, this plugin will open TextEdit's README. This doesn't occur in version 3.0.2, but does in 3.1.

If the "README.md" file exists, this bug does not occur. If README.md is not present, MacOS will continually open TextEdit until Obsidian is terminated.

Setting "Main Homepage" to : { "value": "README", ... } causes the problem if a directory named "README/" is present.
Setting "Main Homepage" to : { "value": "README.md", ... } works.

Steps to reproduce

Edit: Now reproducible with a minimal example

Debug information

No response

Checklist

  • I updated to the latest version of the plugin.

Using a workspace as a home page doesn't work any more

Details

After updating to 3.0.1, using a workspace as a homepage doesn't work any more.

Steps to reproduce

Select an existing workspace as the homepage in the plugin settings.

Press the "Open homepage" shortcut or click on the homepage icon. Nothing happens.

Debug information

Tested on Windows 11 and Obsidian 1.2.3.

Checklist

  • I updated to the latest version of the plugin.

compatibility with live preview

Using the setting to open on preview opens it in a non-editable preview mode—would be nice to have an option to open it in live edit preview

This plugin is deleting my home page

It deletes the content in my home note during this scenario:

  • Enable Daily Notes core plugin's "Open daily note on startup" setting,
  • Enable "Use workspaces" in Homepage plugin
  • Set the Homepage workspace to a page in the root named "Home"
  • Add content into the root home.md file
  • Close then open Obsidian (with community plugins enabled)

Data lost ...

Summary

When I delete all .md files on Android and start Obsidian a homepage file of 0kb is opened and gets synced - to delete the homepage file on other devices.

Steps to reproduce

  1. Delete all .md files on android
  2. Delete all .md files in OneDrive in my case
  3. Start Obsidian on Android
  4. A new file as configured opens with the length of 0KB
  5. This file gets synced to the other devices and substitutes the files with the precious contents.

Obsidian info

Installed homepage plugin
Installed some of the syncing tools (remotely save)

Obsidian version

2.4.2 (83) API v1.0.3

Checklist

  • I updated to the latest version of the plugin.

[Feature Request] Autoscroll to the bottom

Summary

It would be nice to have an option to autoscroll the note down on start and put the cursor there

Details

Every month I create a note to write down some thoughts and ideas. Usually by the end of the 2nd week I have to scroll down to add a new line every time I open this note.

"Keep open notes" exception: should replace "New tab"?

Summary

I have "Keep open notes" for both opening method options.
However, when I open a new tab, then click to open Homepage, I naturally expect the "New tab," which is the blank state where I expect to navigate from, to be replaced by the Homepage instead of opening in another tab.

Details

"Keep open notes" for me feels like if the note is relevant, the user wants to keep it open and open the homepage on the new tab, however, naturally, I'm treating a new empty tab as "blank," a place where I expect to "override."

Therefore, in the "Keep open notes" logic, there should be an exception and replace the new tab instead of keeping it and opening another tab.

Hopefully, this makes sense. I also thought about any breaking changes and can't think of any.

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.