Git Product home page Git Product logo

seostorm-plugin's People

Contributors

dblackcat avatar drumbeldore avatar dzapek avatar guus-frenken avatar ladylain avatar mrjeanp avatar phaberest avatar publialex avatar tomaszstrojny avatar xinix 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

seostorm-plugin's Issues

Support for Rainlab-translate 2.06?

Hello.
Thanks for your plugin!
Is there support for Rainlab-translate 2.06?
Or you can suggest what changes to make so that your plugin supports Rainlab-translate 2.06.
Thank you!

Plugin missing in the System Updates

Hello,

I installed the plugin, I see it in the backend and it works OK. But it is missing in the plugin list in System Updates section and therefore in the Deploy plugin. Can you help?

Thank you

plugin_missing

Critical error with latest october cms 3.1

Hello,

Just installed octobercms 3.1, I get a critical error due to seostorm when I go to the editor tab :

Class "RainLab\Translate\Models\Locale" not found

Best regards,

Alex

Accept svg files as favicon

Hi,
would it be possible to accept svg files as favicons in the config ? I can upload the file and save it in teh settings, but it is still showing the browser default item instead of my file.
Is it because of a resizing process that dies in the process with that filetype ?
Thanks

twig_template_from_string(): Argument #1 ($env) must be of type Twig\Environment, string given

After installing the SEO Storm plugin, I am getting this error when I load a front end page. I notice it is conflicting with the Twig Extensions plugin from Vojta Svoboda. Is there a way to resolve this?

twig_template_from_string(): Argument #1 ($env) must be of type Twig\Environment, string given, called in /modules/system/classes/MarkupExtensionItem.php on line 166

function twig_template_from_string(Environment $env, $template, string $name = null): TemplateWrapper

Thanks.

Remove core meta title and description on CMS page

Hello,

First, thank you for your plugin. All necessary features are integrated in an elegant way, congratulation.

I have a very small suggestion, coming from our SEO manager. October CMS already have a meta title and meta description field for CMS page, it would be great to remove (or hide ?) them when SEO Storm is enabled as they have the same purpose and can bring confusions.

It's a small detail, but you now : the devil is in the details 👿

Best regards,

Add token to call page title prefix / suffix where you want

Hello,

The default page title and description in settings is a nice option. However, sometimes, it's not flexible enought.

Sometimes, there are some pages where you want to display the title as prefix or suffix and sometimes not.

You can say (you have the "nowhere" option to handle that manually). It's right, but it could be even better if we could use a token to call the page title or separator defined in settings when you setup the metas for a specific page.

Something like :

Welcome to my new site {{ separator }} {{ title }}

In another page it would be :
{{ title }} {{ separator }} Welcome to my new page

etc... you get it.

Best regards,

October 3.0.27 Error log

Hello!
In the Octobercms 3.0.27 logs, there is such an error
Error: Call to a member function run() on null in /var/www/imperial.local/public_html/plugins/initbiz/seostorm/routes.php:32

Update to 4.1.1 not working

Hy, i am having this issue while updating:

Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Root composer.json requires initbiz/seostorm-plugin 4.1.1, it is satisfiable by initbiz/seostorm-plugin[4.1.1] from composer repo (https://repo.packagist.org) but initbiz/seostorm-plugin[dev-october-v1, dev-favicon, dev-dev-561-behavior, 2.0.0, 2.0.1, 3.0.0, 3.0.1, 4.0.0, ..., 4.1.0] from composer repo (https://gateway.octobercms.com) has higher repository priority. The packages with higher priority do not match your constraint and are therefore not installable. See https://getcomposer.org/repoprio for details and assistance.

Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.

Can you help me with this problem?

Thnaks

Unable to cache routes

Description

Running the php artisan route:cache command causes an error, because closures are used for the robots.txt, sitemap.xml and favicon.ico routes.

Screenshot 2022-04-16 at 11 07 29

Values not showing for model

Hi. I'm using your plugin in portfolio model.
I've included the fields

public function registerStormedModels()
    {
        return [
            '\Depcore\Portfolio\Models\PortfolioItem' => [
                'placement' => 'tabs',
            ],
        ];
    }

The problem is that on the portfolio item page the page description and title is always the one from the main page, I've tried adding the dynamic properties as {{ model.seo_options.meta_description }} {{ PortfolioItem.seo_options.meta_description }} {{ portfolio_item.seo_options.meta_description }} and so on but still get an empty title and description

seo

Example for a different model Service with the same problem.

Sitemap entries for Static Pages shows current timestamp instead of updated_at value

When I check the 'Use "updated_at" from the model as "Last time modified"' option under the Sitemap tab in a RainLab.Pages page, the sitemap entry shows the current timestamp instead of the updated_at value.

Every time I refresh the page, the <lastmod> value changes to the current timestamp.

I am using October CMS v2.1.15 and Initbiz.SeoStorm v3.0.0 from the Marketplace.

Issue with optional parameters in sitemap not working in 4.1.1

Hy sorry but the issue is still not working in version 4.1.1, this is my page configuration:

url = "/sell/:uniqid?"
layout = "steps"
title = "Demo Title"
is_hidden = 0
seoOptionsMetaTitle = "Demo Title"
seoOptionsMetaDescription = "Demo Description"
seoOptionsEnabledInSitemap = 1
seoOptionsUseUpdatedAt = 1
seoOptionsRobotIndex = "index"
seoOptionsRobotFollow = "follow"
seoOptionsOgCard = "summary-large-image"
seoOptionsPriority = 0.5

Sitemap result:

<url>
<loc>http://domain.test:8080/sell/:uniqid?</loc>
<lastmod>2022-02-21T09:43:26+00:00</lastmod>
<priority>0.5</priority>
</url>

I do not have models for this page, i use it to submit only a form.

Thanks you

public array $seoAttributes error

October CMS version: v2.2.35

Hello. The plugin installs nicely but has bust my Editor section. I get the following error:

Screenshot 2023-01-27 at 22 38 27

I also have no admin settings which seems strange.

`Install the plugin and then add the SEO component in site's head section, whether it's a page or layout.

Go to Settings -> SEO Storm -> General settings and configure to suit your needs.`

Because the Editor is broken I can't add the SEO component which I think would solve the issue.

Any help appriciated.

Call to undefined method October\Rain\Halcyon\Builder::addFillable()

After installed plugin I cannot acess Page section. I had following error. My octobercms build is 473

Call to undefined method October\Rain\Halcyon\Builder::addFillable()
/vendor/october/rain/src/Halcyon/Builder.php line 789

| CALLED CODE | DOCUMENT | LINE

-- | -- | -- | --
71 | October\Rain\Halcyon\Builder->__call(…) |   |  
70 | call_user_func_array(…) | ~/vendor/october/rain/src/Halcyon/Model.php | 1697
69 | October\Rain\Halcyon\Model->__call(…) | ~/modules/cms/Classes/CmsCompoundObject.php | 485
68 | Cms\Classes\CmsCompoundObject->__call(…) | ~/plugins/initbiz/seostorm/eventhandlers/BackendHandler.php | 91
67 | Initbiz\SeoStorm\EventHandlers\BackendHandler->Initbiz\SeoStorm\EventHandlers{closure}(…) |   |  
66 | call_user_func(…) | ~/vendor/october/rain/src/Extension/ExtendableTrait.php | 60
65 | October\Rain\Extension\Extendable->extendableConstruct() | ~/vendor/october/rain/src/Extension/Extendable.php | 31
64 | October\Rain\Extension\Extendable->__construct() | ~/vendor/october/rain/src/Halcyon/Model.php | 158
63 | October\Rain\Halcyon\Model->__construct(…) | ~/modules/cms/Classes/Page.php | 56
62 | Cms\Classes\Page->__construct() | ~/vendor/october/rain/src/Halcyon/Model.php | 550
61 | October\Rain\Halcyon\Model::on(…) | ~/modules/cms/Classes/CmsObject.php | 191
60 | Cms\Classes\CmsObject::inTheme(…) | ~/modules/cms/Classes/CmsObject.php | 131
59 | Cms\Classes\CmsObject::listInTheme(…) | ~/modules/cms/controllers/index.php | 92
58 | Cms\Controllers\Index->Cms\Controllers{closure}() |   |  
57 | call_user_func(…) | ~/modules/cms/Widgets/TemplateList.php | 161
56 | Cms\Widgets\TemplateList->getData() | ~/modules/cms/Widgets/TemplateList.php | 119
55 | Cms\Widgets\TemplateList->render() | ~/modules/cms/controllers/index/_sidepanel.htm | 16
54 | include(…) | ~/modules/system/Traits/ViewMaker.php | 247
53 | Backend\Classes\Controller->makeFileContents(…) | ~/modules/system/Traits/ViewMaker.php | 97
52 | Backend\Classes\Controller->makePartial(…) | ~/modules/cms/controllers/index/index.htm | 3
51 | include(…) | ~/modules/system/Traits/ViewMaker.php | 247
50 | Backend\Classes\Controller->makeFileContents(…) | ~/modules/system/Traits/ViewMaker.php | 109
49 | Backend\Classes\Controller->makeView(…) | ~/modules/backend/Classes/Controller.php | 419
48 | Backend\Classes\Controller->execPageAction(…) | ~/modules/backend/Classes/Controller.php | 296
47 | Backend\Classes\Controller->run(…) | ~/modules/backend/Classes/BackendController.php | 165
46 | Backend\Classes\BackendController->run(…) |   |  
45 | call_user_func_array(…) | ~/vendor/laravel/framework/src/Illuminate/Routing/Controller.php | 54
44 | Illuminate\Routing\Controller->callAction(…) | ~/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php | 45
43 | Illuminate\Routing\ControllerDispatcher->dispatch(…) | ~/vendor/laravel/framework/src/Illuminate/Routing/Route.php | 212
42 | Illuminate\Routing\Route->runController() | ~/vendor/laravel/framework/src/Illuminate/Routing/Route.php | 169
41 | Illuminate\Routing\Route->run() | ~/vendor/laravel/framework/src/Illuminate/Routing/Router.php | 658
40 | Illuminate\Routing\Router->Illuminate\Routing{closure}(…) | ~/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php | 30
39 | Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(…) | ~/modules/backend/Classes/BackendController.php | 68
38 | Backend\Classes\BackendController->Backend\Classes{closure}(…) | ~/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php | 131
37 | Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(…) | ~/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php | 53
36 | Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(…) | ~/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php | 41
35 | Illuminate\Routing\Middleware\SubstituteBindings->handle(…) | ~/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php | 149
34 | Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(…) | ~/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php | 53
33 | Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(…) | ~/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php | 49
32 | Illuminate\View\Middleware\ShareErrorsFromSession->handle(…) | ~/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php | 149
31 | Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(…) | ~/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php | 53
30 | Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(…) | ~/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php | 63
29 | Illuminate\Session\Middleware\StartSession->handle(…) | ~/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php | 149
28 | Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(…) | ~/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php | 53
27 | Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(…) | ~/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php | 37
26 | Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle(…) | ~/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php | 149
25 | Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(…) | ~/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php | 53
24 | Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(…) | ~/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php | 68
23 | Illuminate\Cookie\Middleware\EncryptCookies->handle(…) | ~/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php | 149
22 | Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(…) | ~/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php | 53
21 | Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(…) | ~/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php | 102
20 | Illuminate\Pipeline\Pipeline->then(…) | ~/vendor/laravel/framework/src/Illuminate/Routing/Router.php | 660
19 | Illuminate\Routing\Router->runRouteWithinStack(…) | ~/vendor/laravel/framework/src/Illuminate/Routing/Router.php | 635
18 | Illuminate\Routing\Router->runRoute(…) | ~/vendor/laravel/framework/src/Illuminate/Routing/Router.php | 601
17 | Illuminate\Routing\Router->dispatchToRoute(…) | ~/vendor/october/rain/src/Router/CoreRouter.php | 20
16 | October\Rain\Router\CoreRouter->dispatch(…) | ~/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php | 176
15 | Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http{closure}(…) | ~/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php | 30
14 | Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(…) | ~/plugins/bedard/debugbar/vendor/barryvdh/laravel-debugbar/src/Middleware/Debugbar.php | 51
13 | Barryvdh\Debugbar\Middleware\Debugbar->handle(…) | ~/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php | 149
12 | Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(…) | ~/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php | 53
11 | Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(…) | ~/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php | 46
10 | Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle(…) | ~/vendor/october/rain/src/Foundation/Http/Middleware/CheckForMaintenanceMode.php | 25
9 | October\Rain\Foundation\Http\Middleware\CheckForMaintenanceMode->handle(…) | ~/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php | 149
8 | Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(…) | ~/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php | 53
7 | Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(…) | ~/vendor/october/rain/src/Http/Middleware/TrustHosts.php | 46
6 | October\Rain\Http\Middleware\TrustHosts->handle(…) | ~/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php | 149
5 | Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(…) | ~/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php | 53
4 | Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(…) | ~/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php | 102
3 | Illuminate\Pipeline\Pipeline->then(…) | ~/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php | 151
2 | Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(…) | ~/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php | 116
1 | Illuminate\Foundation\Http\Kernel->handle(…) | ~/index.php

multisite sitemap

Hello,

we have a multisite/language cms and when we tick the "enable sitemap" only the "main" page is in the sitemap (without language suffix), not the translated pages with translated urls.

Thank you!

Upload favicon instead of using media manager

Hello (again),

Would it be possible to upload the favicon using fileupload plugin instead of using media manager ?

The problem we have by using media manager is that the client have access to it too, and we don't want to "polluate" his directory with technical images like favicon, so it would be better to upload it using fileupload widget.

Thank you

Best regards,

How to use twig templates?

Hello,

I've add a custom model to one of plugins that we use on our site.

public function registerStormedModels() { return [ 'Fytinnovations\Careers\Models\Job' => [ 'placement' => 'tabs', ], ]; }

Everything is ok on backend, but cant figure out how to extract (show) the thing that I wrote inside meta TAB (page title and description) like Dynamic meta tags ... Tryed with {{this.page.meta_title}} and {{seoModel.meta_title}}, {{job.seo_options.meta_title}} but nothing show....

|Eddit:
When I put {{job.seo_options.meta_title}} directly in page

{% set job = jobDetails.job %}

<section class="single-page-header" style="background-image: url('{{ 'assets/images/about/rabotodateli.png'|theme }}') !important;">
    <div class="container">
        <div class="row">
            <div class="col-md-12">
                <h1>{{ this.page.title }}</h1>
               
            </div>
        </div>
    </div>
</section>

<section class="services" id="services">
    <div class="container">
        {{job.seo_options.meta_title}}
        <p>{% component 'jobDetails' %}</p>
        
    </div> <!-- End container -->
</section> <!-- End section -->

it's show exactly what I type inside META TAB
But when put in Seo Storm it's blank

image

Could you help me?

Can't exclude fields in registerStormedModels()

Hello,

I implemented the SEO fields using registerStormedModels() in my plugin with custom models, works well.

However, the excludeFields feature doesn't seems to work at all, I tried all possible syntax, including the ones you put in your documentation. I always see all the fields.

Can you make it work in the latest version of october and seo storm ? (I'm up to date)

Best regards,

Alex

Localization

Hey. I did not find in the documentation how to translate the fields for site localization into other languages. Please let me know if this is possible in this plugin. Thanks

Rainlab blog

Hello I've a problem with rainlab.blog

An exception has been thrown during the rendering of a template ("Unable to register extension "Twig\Extension\StringLoaderExtension" >as extensions have already been initialized.").
I've solved by commenting out
// $twig->addExtension($stringLoader);
inside public function templateFromString($template)

Unable to edit meta tags on CMS pages

When I create a new CMS page, I am able to configure the SEO Storm attributes 1 or 2 times. After that, the attributes no longer get saved.

I change some attributes and click "save", but the attributes do not get saved, and after refreshing the page, the attributes are back to their old values.

I am using October CMS v2.1.15 and Initbiz.SeoStorm v3.0.0 from the Marketplace.

Robots.txt not available in multisite

Hello,

Lighthouse return me an error about invalid robots.txt file in a multisite installation.

I have website in 2 languages, using multisite feature of october cms 3.x

https://www.mywebsite.com/fr
https://www.mywebsite.com/en

The robots.txt is accessible in this url :
https://www.mywebsite.com/robots.txt

But I get a 404 error when I consult these urls :
https://www.mywebsite.com/fr/robots.txt
https://www.mywebsite.com/en/robots.txt

I think, in order to make lighthouse happy, that the robots.txt file should be accessible even when using language prefix.

Best regards,

Seo translations in cms pages

Hi, I am creating a multilingual website, using this great module SEO Storm.
But i'm having trouble to understand how/where to translate the SEO variables for CMS Pages.
There are no language variables in corners as in regular models fields to switch language. I don't know how to process and didn't found some clue in the documentation.
Can you help ? Thanks

Storm SEO Settings no reflecting on the website

Hello, thank you for continuing the project.

I'm having trouble making the Storm SEO plugin work, I removed the Arcane SEO plugin and installed the Storm SEO.

When I configure the page title and description in the Storm SEO Settings it doesn't reflect on the website, I don't see it in the source code and neither in google analytics.
The website has a default layout html file and some other website pages.

this is our SEO Storm Settings configuration

image
image (1)
image (2)
image (3)

and this is an example of one of our pages, when we fill the input fields with page title, note that in this pages we do not have the

image (4)

this is our default html page where we have the but we don't have the SEO Storm button, should we type some code here?

image (5)

Can you please give me some tips on how to resolve this issue?
thank you for your support

Call to a member function getFileName() on null in /home/ploi/domain.com/modules/cms/classes/Controller.php:696

After update the component is causing this error

Error: Call to a member function getFileName() on null in /home/ploi/domain.com/modules/cms/classes/Controller.php:696

when i remove this in the file initbiz\seostorm\components\seo\default.htm the site is working

{% set canonical = include(template_from_string(SELF.getSeoAttribute('canonical_url'))) %}
link rel="canonical" href="{{ SELF.getCanonicalUrl(canonical) }}">

Custom seo_options fields

Hello!
Thanks for great plugin.
Is there some built-in way to create custom seoOptions fields, e.g. h1, h2, etc.?

Blog Post

Hi,
i add the seo component to my layout and i have edit the seo fields Title, description and the other fields on the post (meta tab). But I don't see that in the rendered HTML, only the values from post page. If I leave the fields blank on the post page, the meta tag isn't show. It look likes, that the values from the post tab not there. But they are saved correctly in DB. Any Idea?

Problem with OG image, Blog meta title translation and sitemap

Hello,
When try to add an OG image that I select from Media it's retrieve in source this

<meta property="og:image" content="/OG_images/inBG_head.png" /> , but it doesn't work . How can I change to full url ? (in other page set og image that previously uploaded with this twig {{ 'assets/images/about/rabotodateli.png'|theme }} and works like charm.

Textarea instead of textfields for SEO storm page options

Hello,

As SEO storm embrace the power of twig in page options and so, we can create conditions etc.... Would it be possible to have textarea instead of textfields for better readability ? (the best would be code editor but don't know if it's possible)

image

Thank you

Support for multilingual sites sitemap.xml

Hello!
Can you tell me if I can enable sitemap.xml support for multilingual sites? And can they be made separate for each language?
I tried but the map is only built for one default language!

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.