Giter Site home page Giter Site logo

plugin-blog's People

Contributors

alexgearbox avatar anini avatar araname avatar bobzbobz avatar brilanto avatar fa-ribeiro avatar fiwswe avatar floffyko avatar foosel avatar gamma avatar haobug avatar hibratt avatar irifat avatar klap-in avatar larsgit223 avatar lpaulsen93 avatar marczinger avatar michitux avatar mprins avatar nfriedli avatar pholda avatar qezwan avatar samo079 avatar samwilson avatar sawachan avatar selfthinker avatar sitenl avatar splitbrain avatar tictactoe101 avatar tomdwor 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

Watchers

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

plugin-blog's Issues

Please implement excerpts and a "read more..." macro

It would be most helpful if the aggregated list of blog articles would only display excerpts and reveal the full page when clicking on its title or on a kind of "read more..." or simply "more..." link at the end of the excerpt.

This could be easily done by creating a simple dummy macro called {{more}} which in the page itself renders as nothing but serves as a delimiter for previews in an article list. One important thing would be to still be able to see the tags, regardless of whether or not they are listed at the end of the article's source.

It would be nice if the text displayed by the {{more}} macro allowed for simple / custom localization, perhaps in the form of some additional config tiddler which would not be overwritten by plugin updates.

Relative path ".:" does not work

Hi. Thank you for your useful tool.
Using relative path to specify name space like below, it does not work.

{{blog>.:myblogspace}}

When I placed a blog at
Dokuwiki_Root/some/path/myblogspace/*
and placed the blog syntax at
Dokuwiki_Root/some/path/showblog.txt
The showblog page does not show any articles.

It works only when I place them at
Dokuwiki_Root/myblogspace/*
Dokuwiki_Root/showblog.txt

The environment : “Greebo” on PHP 5.6.21. CentOS7 (4.14.33-300.1.1)

floating newentry_form

If you use topform and you have table of contents enabled, the newentry_form is moved down after the toc.

Please provide a floating element which can reside left from the toc - as default behaviour or as an option.

httpd core-dump error when plugin enabled on Igor/PHP 8

When the plugin is enabled in a master/Igor running on PHP 8.0.13 the Apache process dies (nothing is logged in the httpd error log, nothing is logged in the DW error log, just a 500 error page is sent.

This is on a hosted environment with upgraded wiki so not possible to explore further, I'll set up a local environment to see if I can get anything useful...

Not that the required include and pagelist plugins are installed and don't appear to give any trouble

"~~DRAFT~~" does not work

Hi, thank you for the nice tool.

It looks that the "~~DRAFT~~" syntax does not work.

I placed the syntax in a blog article, the article was immediately displayed in read mode.

The environment : “Greebo” on PHP 5.6.21. CentOS7 (4.14.33-300.1.1)
and “Frusterick Manners” on PHP 5.3.3, CentOS6(2.6.32-642.6.2)

Call to undefined method helper_plugin_include::get_flags()

Hello,
I just installed the blog plugin, but after to create a text in a blog namespace, I get this error :
Fatal error: Call to undefined method helper_plugin_include::get_flags() in /home/www/dokuwiki/lib/plugins/blog/syntax/blog.php on line 181
All plugins required are added and I use default options.

Thanks for help,
Thibaud.

export_code not working

When using {{blog>}} on a page, the download links for <file> blocks do not work.
The problem seems to be that the download link is generated based on the blog main page instead of the specific page of the blog post. On the main blog page, the action export_code with parameter codeblock=1 fails because that code block is dynamically pulled in.

My main page is DOMAIN/start and it includes: {{blog>}}
My blog post is located at DOMAIN/blog/post and it includes:

<file php test.php>
some php code
</file>

The download URL that is being create on the blog post page is DOMAIN/_export/code/blog/post?codeblock=1, which works.
But the download URL on the main blog page is DOMAIN/_export/code/start?codeblock=1 which returns 404 - Not found.

Is there any way to fix this in the plugin or in the dokuwiki code?

Blog plugin not wholly compatible with sidebar templates (roundbox in particular)

If you create a blog and use the roundbox template then, if the page which has {{blog>5}} on it also has a heading then the layout of the sidebar is totally messed up - the sidebar moves down below the main part of the page instead of being beside it.

I got over the problem by using a heading defined in and the meta plugin to define the heading but that is a bit roundabout!

{{blog>?5}} don't display any posts

Hello.
I've installed blog, include and pagelist plugins to fresh docuwiki install with zenlike theme.

I can create a new blog entrie, and it can be accessed with id=blog:myblogentry,
but there is no list of blog entries on the blog page (

And i can't find no information how to deal with this - as it written here https://www.dokuwiki.org/tips:blogging it should work, but it does not

some dates and tags are hidden

Hi !
Thanks for this great plugin ! I use blog and include plugins to present the last contributions on a page. However, dates are not really effective, for example if I backup the wiki. So I use the meta plugin to fix date, with the "date created" parameter. That works, but only at once condition : posts have to be open alone first, or dates and tags don't display...
Sometimes, neither dates and tags appear.
It's not a cache problem, because I cleaned it first.
In the faq, it's writtent to remove the /data/index/cdate.idx . cdate.idx don't exist, but I delete all files in index ; but the problem persist.
A solution is probably to open all pages in a navigator, for example with this script to open all files in localhost/dokuwiki/fr:trace-libre/ namespace :

find -name "*.txt" | while read f ; do firefox $( echo "$f" | sed -e "s///:/g" -e "s/.txt//g" -e "s/.:/http://localhost/dokuwiki/doku.php?id=fr:trace-libre:/g") ; done

But I have 175 pages, so it's not easy for firefox to support this...
Is there a solution to do that without the navigator ?

Best regards,
Thibaud.

namespace in Chinese can't be parsed

My config is
$conf['fnencode'] = 'GB2312'

When I use {{blog>.}} under a non-English namespace, it just list the pages in the whole scope of my wiki.

problem of adding a new entry with the existing entry name

When I happened to add a new entry of the same name with the existing one from the form set by {{blog>}}, an edit window appeared with its edit area entirely blank. Then continuing to edit and hitting the save button overwrote the existing entry, causing its previous content to be destroyed unintentionally.

Maybe some modification to _handle_newEntry() in action.php would be better to fill the edit area in this case with the content of the existing one when an edit window is opened.

Failed to handle action: preview

After updating dokuwiki to latest git version (since a couple of weeks) I am unable to create new blog entries. Getting the error "Failed to handle action: preview".

Tried both my "production" pages and aindependent install o my windows laptop.

working with <WRAP column> plugin

Hello, I know that it should be written under WRAP plugin discussion page; but, no comments were available. My problem is conflict between listing blog items and using <WRAP column half> and using
<h1> elements. For example,

<WRAP column half>
====== Wiki page ======
- Some items 
- Some items 
- Some items 
- Some items 

</WRAP>

<WRAP column half>
====== Blog entries ======
{{blog>blog:a_blog?3&inline}}

</WRAP>

The above should be displayed

====== Wiki page ======
- Some items 
- Some items 
- Some items 
- Some items 

should be in left side; and,

======= Blog entries ======
===== first blog item =====
xxxxxxxxxx
===== second blog item =====
sssssssss

should be right side. But, blog items does not have ===== (2nd header, <h2>); but, has 1st header, <h1>.

If I remove all the <WRAP column half> elements, the page renders correctly. I hope I made myself clear. :-( Thanks for reading!

Feature request: sort by new comment

We used this fine plugin for a long time. Now we have a long list of entries. And we used very often the discussion. So i have to check, where are the new comments. It would be help your work, when the blog entries with the newest comment display at first position. Thanks!

When {{blog>}} are in sidebar and in article, problem...

I want to had in my sidebar a list with the 5 last articles. But this 5 articles don't appear in the article where I list the blog.

I make screenshot example:

In sidebar I use this syntax:
{{blog>fr:blog?5&linkonly}}
and in the list article, this:
{{blog>fr:blog?50&linkonly}}

blog

So... How can I display all list articles in the sidebar and in the content page in the same time, if I want ?

I found a "hack" with using rss flux for the moment, but it's not so good, and I make long time to understand this strange behaviour...

Deep recursion in helper_plugin_blog class

At our dokuwiki the plugin suddenly crashed on the recursive function _uniqueKey.

I replaced the existing function with the iterative version:

function _uniqueKey($key, &$result, $num = 0) {
$testkey = $key;
$is_numeric = is_numeric($key) ? 1 : 0;
while( array_key_exists($testkey, $result) ) {
if( $is_numeric )
$testkey++;
else {
$num++;
$testkey = $key . $num;
}
}
return $testkey;
}

Everything seems fine since then

How to exclude pages ?

Hi,
Thanks for this great plugin.

I don't understand how to exclude pages. I wand to use one blog for all namespaces, and one blog by namespace. All blogs use start.txt files. But the general blog musn't to show namespaces blog. I try to parameter the excluded_pages to /start/ or !start!, but I've got this php error :
Warning: preg_match() [function.preg-match]: Delimiter must not be alphanumeric or backslash in /var/www/dokuwiki/lib/plugins/blog/helper.php on line 73

In a second way, I used {{tag>blog}} in my pages to exclude and use the refinement syntax in the general blog like this :
{{blog>:wistithi:blog?5 -blog}}
But this is ignored...

I think that instruction in line 73 is not continue, but break.

Thanks,
Thibaud.

No Entry is shown and only new entry form is visible

I am trying to get that plugin working with Release 2013-12-08 "Binky" of dokuwiki.

I created a page blog:start that should be the starting point.
Inserted this line:
{{blog>.?5}}

Creating new blog pages works but blog:start stays empty.

NOCACHE does not change anything.

Any idea what is wrong or what do i need further to get it running?

Flags in archive with "showhistogram" don't work

I'm not sure if this behaviour is intentional and therefore only a "bug" in the documentation or if it's unintentional and a real bug.

The documentation gives this as the example code for a blog archive:

{{archive>[namespace]?[month]&[flags]}}

But as soon as the showhistogram config option is set, the code doesn't call the pagelist plugin at all and does its own thing. Therefore it also doesn't do anything with the flags.
(The name and description of the option is also misleading because it doesn't just show a histogram, but it changes the whole design and functionality of the archive.)

May I acquire previous tarball? Update hosed customizations

Is there a way to acquire the master tarball from June?
I had updated then and all was good, but I updated today to the latest and my customizations to the blog index page got completely hosed.
Not even sure if rolling back will help, frankly, but the customizations were a good days work to get just right, and I've lost any relevant backups due to a hiccough with my dreamhost bucket to which I auto-upload tarzipped backups of my webroot. I've got nothing, because I autodelete after a week from the archives I keep on hand to keep them from piling up too deep, thinking I have the latest stored in the DHbucket.
Went from this: http://tonybaldwin.me/images/oldjournalindex.jpg
to this: http://tonybaldwin.me/images/journalindexafterupdate.jpg
very upsetting...
I really should have submitted some of those modifications in a pull request.
Honestly, the flat, single-column display you have is ugly and just makes no real sense for any blog from a design perspective (absolutely no offense intended).
Basically, I'd just moved the archive section to the right, which makes more sense, visually, and added a couple things (link and photo, as shown in above screenshot).
Should be simple to re-implement, but I have a brain tumor now, which I didn't have when I did that stuff, and everything is more difficult now...I'm exhausted and easily confused now, from meds and radiation...
Probably the old tarball won't help, either, but I'd like to give it a shot.
I probably made alterations in the plugin's style.css, which won't be reflected in your tarball, since my own DW template is apparently not the source of my modifications, but I don't recall what I changed where at all.
Some of it was in the php/html to add the photo and link and that part's easy enough, but moving the archive list to the right must have been in some css file somewhere, not sure where now, but I remember it was a PITA getting it to work as I wanted.
Rolling back revisions on the page makes no difference since the mod/customizations were clearly in other files.
Wish I had those backups, but you can't help me with that...that's entirely my fault for not being more careful about monitoring that stuff.
Brain cancer doesn't help...

startSectionEdit errors on latest DokuWiki “Greebo”

Just updated DokuWiki to the latest version (“Greebo”), but blog page now shows the following errors

startSectionEdit: $data "plugin_include_start" is NOT an array! One of your plugins needs an update.
startSectionEdit: $data "plugin_include_end" is NOT an array! One of your plugins needs an update.
startSectionEdit: $data "section" is NOT an array! One of your plugins needs an update.
startSectionEdit: $data "plugin_include_editbtn" is NOT an array! One of your plugins needs an update.

Also, entering new blog items is impossible as an error Failed to handle action: preview is issue

Thank you

EDIT: The Failed to handle action: preview error has already been fixed in master.

[IGOR] New page with semicolon in title results in colon in namespace

Hi,

On IGOR it seems when I want create a new page with Semicolon ';' in title, e.g. 'Test; Word'
grafik

The title is created correctly but the the file name contains then a Colon ':', i.e. '%date%_test:word.txt'
So a page 'word' is created in the subnamespace '%date%_test'
grafik

Can anybody confirm?

Best Regards /M.

Markup not rendered

I´ve just upgraded Dokuwiki to the most recent version, also the plugins, i.e. blog, include etc. Now I have the issue that the wiki-markup isn´t rendered in the blog page. All texts lost their linebreks and links are shown as if the link target does not exist. If I open the blog article pages the markup is rendered as expected so I think the markup got lost maybe in the include-plugin.

Unfortunately the wiki isn´t public so I cannot provide a URL but upon request I can provide pictures to show the problem.

The wiki runs ontop of an Debian Squeeze /w Apache 2.2.15 and PHP 5.3.2-1

Typo in config metadata

In conf/metadata.php there is a typo:

$meta['showhistorgram'] = array('onoff');
instead of
$meta['showhistogram'] = array('onoff');

Thus, histogram is always on.

Full name instead of Login Name

Ladies & Gentlemen,

not really a bug but not nice anyway: for school projects with pupils I use a DokuWiki. For privacy purposes I configured DokuWiki to show only the login name for changes which works well on normal wiki pages. With blog entries this is different: unfortunately the full name is shown. Could I change this by myself (I fear not – otherwise: how?) or could you please make this changeable by admin-options?

Regards,
Hanjo

http://ats20de/blog

Indent/CSS problem with blog plugin

This (I think) relates to my previous report about 'incompatibility' with a sidebar.

If you create a page with a heading and the blog syntax - {{blog>5}} then all headings in the blog postings are 'demoted' and each indents a few pixels from one at the same level in a posting above.
This applies with the default template. For an example see:-
http://zbmc.eu/mywiki/doku.php?id=blog:start
The date headings '21st August' and '20th August' should be level1 headings (======xx======) and shouldn't be indented - note that '20th August' is indented a little further than '21st August'.

autoarchive shows twice on page

I've tried to use the autoarchive tag to place an archive below entries.
When I do so, the archive part is displayed twice.
I'm using Release 2014-05-05 "Ponder Stibbons" on a Debian Wheezy server, with php5,
blog plugin installed today (30 Dec 2014).

When I put the archive on its own page, it only displays once, just when I try to place it below entries on the same page do I see it displayed twice.

French language : little corrections

lang.php

<?php

/**
 * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
 * 
 * @author Damien Raude-Morvan <[email protected]>
 * @author Stanislas Reltgen <[email protected]>
 * @author Florent Chabaud <[email protected]>
 */
$lang['blog']                  = 'Blog';
$lang['older']                 = 'Anciens billets';
$lang['newer']                 = 'Billets récents';
$lang['newentry']              = 'Nouveau billet :';
$lang['missing_includeplugin'] = 'Le module "include" doit être installé pour que le module "blog" puisse fonctionner.';
$lang['missing_pagelistplugin'] = 'Le module "pagelist" doit être installé pour que les archives puissent fonctionner.';
$lang['missing_tagplugin']     = 'Le module "tag" doit être installé pour pouvoir en bénéficier dans le module "blog".';
$lang['autoarchive']           = '%1$d billet(s) pour %2$s %3$s';
$lang['month_01']              = 'janvier';
$lang['month_02']              = 'février';
$lang['month_03']              = 'mars';
$lang['month_04']              = 'avril';
$lang['month_05']              = 'mai';
$lang['month_06']              = 'juin';
$lang['month_07']              = 'juillet';
$lang['month_08']              = 'août';
$lang['month_09']              = 'septembre';
$lang['month_10']              = 'octobre';
$lang['month_11']              = 'novembre';
$lang['month_12']              = 'décembre';
$lang['entries']               = 'billets';
$lang['entry']                 = 'billet';
$lang['archive_title']         = 'Historique du blog';

settings.php

<?php

/**
 * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
 * 
 * @author Stanislas Reltgen <[email protected]>
 * @author Florent Chabaud <[email protected]>
 * @author Nicolas Friedli <[email protected]>
 */
$lang['namespace']             = 'espace de nom par défaut pour le blog';
$lang['formposition']          = 'position du formulaire de saisie de nouveau billet';
$lang['formposition_o_top']    = 'haut';
$lang['formposition_o_bottom'] = 'bas';
$lang['formposition_o_none']   = 'aucun';
$lang['newentrytitle']         = 'titre de la nouvelle entrée de formulaire';
$lang['dateprefix']            = 'date préfixant les IDs des nouveaux billets';
$lang['sortkey']               = 'trier les billets du blog par:';
$lang['sortkey_o_cdate']       = 'date de création';
$lang['sortkey_o_mdate']       = 'date de modification';
$lang['sortkey_o_pagename']    = 'nom de la page';
$lang['sortkey_o_id']          = 'ID de la page';
$lang['sortkey_o_title']       = 'titre';
$lang['sortorder']             = 'ordre de tri';
$lang['sortorder_o_ascending'] = 'croissant';
$lang['sortorder_o_descending'] = 'décroissant';
$lang['excluded_pages']        = 'exclure certaines pages des archives du blog (expression régulière requise)';
$lang['showhistogram']         = 'Afficher l\'histogramme du rendu des archives';
$lang['max_months']            = 'Nombre maximal de mois à représenter dans l\'histogramme';
$lang['histogram_height']      = 'Hauteur de l\'histogramme (en pixels)';

No footnotes in recent blog entries

I was not able to find out why but apparently footnotes do not work in posts shown e.g. by {{blog>wiki?7}}. The footnote section in the footer is missing completely. :hover'ing over footnotes in the text shows empty boxes.

The include plugin works fine. I.e., footnotes are shown with e.g. {{page>wiki:syntax#Footnotes}}.

annoying warnings after upgrading to debian squeeze

My dokuwiki is 2010-11-07a "Anteater"
After the debian upgrade (and mariadb) i got in my first page (where i have a
blog enabled)
Warning: call_user_func_array() expects parameter 2 to be array, null given in
/public_html/trikiglug/wiki/lib/plugins/blog/syntax/blog.php on line 184

The warnings get away after i followed the advice here:
http://lnx.utillyty.eu/wiki/doku.php?id=knowhow:dokuwiki

installed plugins:
acl
avatar
blog
bloglinks
box
captcha
config
discussion
feedmod
importoldchangelog
importoldindex
include
info
linkback
pagelist
plugin
popularity
revert
tag
usermanager

ps:
I found the warnings to 2 more sites: eg http://papa.motd.org/

Cache of archive page not correctly invalidated

The cache of the archive page is only invalidated when pages are included for which the user does not have read permissions to a listed page. A forum post suggests that this is an issue with drafts that are only included when the user has create permissions. The cache is also not invalidated if new pages could be shown due to increased permissions of the current user (compared to the user for which the cache has been created). The most sensible solution is probably to just disable the cache of the output and - if performance is an issue - instead either cache the listing of the pages and the associated data or use some form of index (possibly in the form of a database).

I translated the plugin to Catalan language

Hi, I recently installed and enjoyed a lot dokuwiki and the blog plugin. So I made a catalan (language from Spain, with more than 7 million of speakers around the world) translation of it for my site. I'm new to github too, so I don't know how or who send the files to be added in the repository.

Thank you, and sorry if this is not the place where post about this.

ca.zip

CDate sorting order in blog (patch)

When the creation time is not found in the metadata, the blog plugin relies on the minimum of the file ctime and file mtime.
This patch does the same thing with the created and modified time extracted from the metadata.
In my install, files created a couple years ago have them in reverse order (probably copied from the system at some point.)
Conclusion: it is more robust to do this minimum for both the metadata and system times.

  • L.

diff --git a/lib/plugins/blog/helper.php b/lib/plugins/blog/helper.php
index 7ff9c0a..d669911 100644
--- a/lib/plugins/blog/helper.php
+++ b/lib/plugins/blog/helper.php
@@ -82,13 +82,13 @@ class helper_plugin_blog extends DokuWiki_Plugin {
$draft = ($meta['type'] == 'draft');
if ($draft && ($perm < AUTH_CREATE)) continue;

  •        if ($this->sort == 'mdate') {
    
  •            $date = $meta['date']['modified'];
    
  •            if (!$date) $date = filemtime(wikiFN($id));
    
  •        } else {
    
  •            $date = $meta['date']['created'];
    
  •        $date = $meta['date']['modified'];
    
  •        if (!$date) $date = filemtime(wikiFN($id));
    
  •        if ($this->sort == 'cdate') {
    
  •            $cdate = $meta['date']['created'];
    
  •            if (!$cdate) $cdate = filectime(wikiFN($id));
             // prefer the date further in the past:
    
  •            if (!$date) $date = min(filectime(wikiFN($id)), filemtime(wikiF
    
  •           $date = min($date, $cdate);
         }
    
         $title = $meta['title'];
    

Abstract support

Thanks for this great plugin.
It would be nice to have a flag to display only an abstract or a truncated part of the article along with a link toward the full article.

xhtml render problem

With a simple page content like this :

====== Title ======

{{blog>?5}}

When rendered (with any template, even default), there's one div of class level1 which is not ended. In fact, this div starts just before the .hfeed one ends, aka :

<div class="hfeed">
....
<div class="level1">
</div><!-- .hfeed -->

I added the html comment above in the plugin source code wanting to watch what was happening. Not sure this's a bug or a missuse. My installation uses the latest dokuwiki (2009-12-25) and the latest plugins version :
* blog 2009-09-12
* include 2009-09-12
* pagelist 2008-08-08

autoarchive date for Korean and Japanese languages support

In Chinese, translation for autoarchive is "%3$s年%2$s有%1$d篇文章". And I want translate message which is "%3$s년 %2$s의 게시물 %1$d개" in Korean, but English message have "%s" only. If possible, please change it to "%1$d Post(s) for %2$s %3$s".

Support include flags for sort key and order

I have a couple different blogging scenarios on the same DokuWiki site:

  1. Traditional ordering by page creation date for a news-style section.
  2. Ordering by pagename for meeting minutes that should display in page order. 2012-06-19 should be displayed after 2013-07-14 regardless of creation time.

It does not appear that this is supported. In particular, it seems like I can set a site-wide default, but I can't specify custom sort keys/orders on each directive.

The docs claim that all include flags are supported, so I've tried using "order" but nothing changes. In looking at the code, it appears that sort order is hard-coded to read from the config and cannot be overridden by flags.

Is this accurate? If so, might it make sense to check the flags/syntaxes used by the include plugin for setting a custom sort key? I'll try modifying my local install in the next day or two to check this but it'd be nice if this change could be made globally. I'd also appreciate feedback on this change. I haven't done PHP in over a decade, know nothing about the DokuWiki code but really need to implement this change for an organization I'm trying to sell on DW.

Thanks.

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.