plandem / lwrte Goto Github PK
View Code? Open in Web Editor NEWExport from Google Code. Lightweight Rich Text Editor (RTE / WYSIWYG) for jQuery
Home Page: https://code.google.com/p/lwrte/
Export from Google Code. Lightweight Rich Text Editor (RTE / WYSIWYG) for jQuery
Home Page: https://code.google.com/p/lwrte/
What steps will reproduce the problem?
1. Switch between design and code mode
2. Watch net tab on firebug for bogus HTTP get requests
What is the expected output? What do you see instead?
No HTTP trafic beyond linked sheets. Bad URI's in the net tab,
http://yoursite/function(){....
What version of the product are you using? On what operating system?
Firefox 3.5, windows 7, Lightweight RTE - jQuery Plugin, version 1.2.
Please provide any additional information below.
Line 140 in jquery.rte.tb.js is loading up functions as Strings and
inserting them into the href attr of the inital iframe src. This is the
original line 140:
{{{
for(var i in self.css)
css += "<link type='text/css' rel='stylesheet' href='" +
self.css[i] + "' />";
}}}
I changed it to the following so it would not load the prototype array
functions: compare, sort. This fixes the problem.
{{{
for(var i in self.css){
if(typeof self.css[i] == 'string'){
css += "<link type='text/css' rel='stylesheet'
href='" + self.css[i] + "' />";
};
};
}}}
Original issue reported on code.google.com by [email protected]
on 11 Feb 2010 at 3:27
Hi i am just wondering how to get tags like bold, italica and break to be
<strong>, <em>, <br/> insted of <b>, <i> and <br>???
Thank you
Original issue reported on code.google.com by [email protected]
on 29 Nov 2009 at 10:46
I use iwrte in my project, my project is base on the php
framework---Kohana,my problem is : when I submit in design mode,I can't get
the content from the textarea in the target page,but if I submit in source
mode I can get the content from the textarea.
If I don't use the php framework everything is ok,I can get the content
from the textarea in both mode.
Original issue reported on code.google.com by [email protected]
on 23 May 2009 at 4:19
I want change EnterMode for Press Enterkey
now set <p>
I want change <br>
plz help me
Original issue reported on code.google.com by [email protected]
on 27 Apr 2009 at 8:30
What steps will reproduce the problem?
1. Upload picture (don't in FF 3.08/IE 7.0)
2.
3.
What is the expected output? What do you see instead?
Picture
What version of the product are you using? On what operating system?
Version 1.2.
Please provide any additional information below.
Get the following message of IE:
Line: 286
Item: 4
Error: ')' expected
Code: 0
Original issue reported on code.google.com by [email protected]
on 20 Apr 2009 at 7:20
This plugin replaces the original textarea.
So it is not possible to use the lwrte with an regular form post, because
there is no form element (textarea) to post.
It is better to create a hidden field with the original name of the
original textarea. While changing the content inside the rich text editor,
the content should be replaced in this hidden field. So I can request the
modified content on server side from the form post
Original issue reported on code.google.com by [email protected]
on 2 Mar 2009 at 7:58
What steps will reproduce the problem?
1. Just type little faster in IE6+
What is the expected output? What do you see instead?
It takes the input with a delay of 2-3 seconds.
What version of the product are you using? On what operating system?
lwrte 1.2 (latest) on XP/IE
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 11 Jul 2009 at 6:27
Hello,
SEO-wise it would be better to use the <strong>-tag instead of the <b>-tag
when pressing the "b"-button.
How can i change the behaviour of the "b"-button so it uses the <strong> tag?
It's probably possible, but i've been looking for a while and couldn't find
out how.
Original issue reported on code.google.com by [email protected]
on 19 Feb 2009 at 11:42
On last version of lwrte I select some text, add a link and click "OK".
Then form submits automatically. The same problem with IMG panel (submits
after clicking "OK", "View", "Upload" but not after "Cancel"). With color
picker all OK. As I understand buttons click events are not even called
(e.g. I inserted alert() and didn't saw it before autosubmit).
What's the problem?
Original issue reported on code.google.com by [email protected]
on 18 Mar 2009 at 2:43
The library looks nice, but being a GPLed JS gives me legalese headaches.
Would you consider relicensing GPL and MIT/BSD (like jQuery)? Would make
things a whole lot easier.
BTW: The source does not contain *any* license information, not even the
GPL header.
Original issue reported on code.google.com by [email protected]
on 13 Jul 2009 at 3:37
Изменение размеров глючит во всех
браузерах.
Использую jquery-1.3.2.min.js
Original issue reported on code.google.com by [email protected]
on 21 Aug 2009 at 8:31
What steps will reproduce the problem?
1. uncompress current package, there is not images availiable
Please provide any additional information below.
The packages with images missings are: jquery.rte1_2min.zip
jquery.rte1_2.zip
But you can download it from the deprecated one jquery.rte.zip
Original issue reported on code.google.com by [email protected]
on 10 Mar 2009 at 7:12
What steps will reproduce the problem?
1. Place a rte textbox in a form
2. attempt to get user entered content from that rte textbox using javascript
3. I must be doing this wrong.
What is the expected output? What do you see instead?
Various "undefined" and "null" javascript errors
What version of the product are you using? On what operating system?
Recent version
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 4 May 2009 at 8:54
Hi. I am trying to add new options to style selection in jquery.rte.tb.js.
When i upload an img i want to put some div tags (like <div class="left">),
if i put a single <div> tag into an option an add a new position in the
"tags" array (aproximately line 48 of jquery.rte.tb.js), it works, but if
the option is <div class=\'left\'> and the tag div class='left' it's not
working.
I know i am not a javascript guru (and obviously not an english guru), this
is why i need help.
Thank you so much.
PS. this is the code. -> http://pastebin.com/m6c0397e3
Original issue reported on code.google.com by [email protected]
on 18 Feb 2009 at 3:13
It would be nice if editor could expand it's height according to amount of
text in it. i.e. when i write more text, the editor gets bigger.
Original issue reported on code.google.com by [email protected]
on 22 Jan 2009 at 11:05
What steps will reproduce the problem?
1. standard HTML page with more than one rte included by jQuery plugin
"jeditable"
2. edit one text via rte, press OK to submit -> submitted correctly
3. click another text to edit -> rte loads correctly, but focus is
somewhere in the toolbar (standard toolbar like provided in download)
What is the expected output? What do you see instead?
Expected is, that focus is set correctly to the new iframe where the text
can be edited. But it is somewhere in the toolbar ... sometimes using TAB
helps to get back focus, sometimes clicking on any button in the toolbar
helps too, but normally you have to reload the whole page to be able to use
it again.
What version of the product are you using? On what operating system?
version 1.2 of lwRTE
version 1.4.1 of jQuery
version 1.7.1 of jEditable
Please provide any additional information below.
I managed to fix this issue on my own ... but including this patch into
future versions of lwRTE would be great ...
Just insert the following line into lwRTE.prototype.enable_design_mode =
function() at the very end (after setting CSS styling off for Firefox):
self.iframe.contentWindow.focus();
That sets the focus to the iframe and that did work for me ...
Original issue reported on code.google.com by [email protected]
on 25 Feb 2010 at 2:09
It would be nice if the editor reacts to the label tag?
Original issue reported on code.google.com by [email protected]
on 8 Feb 2009 at 10:31
What steps will reproduce the problem?
1. Open page with Lightweight Rich Text Editor control in a form
2. Toggle back and forth between views several times
3. Submit the form containing the lwRTE control
What is the expected output? What do you see instead?
Expected output: When the form is submitted the rich text data from lwRTE
is received for application consumption.
Instead: When the form is submitted multiple copies of the text from the
lwRTE control are posted.
What version of the product are you using? On what operating system?
lwRTE 1.1 currently testing with FF3 & Firebug
Please provide any additional information below.
It is easy to watch this occur when you use firebug to inspect the toggle
button. You will see the changes to the HTML as you toggle back and forth
and when you submit the form you will see multiple input fields created.
One for each time you toggled into the visual editing mode.
Original issue reported on code.google.com by [email protected]
on 5 Mar 2009 at 7:52
[deleted issue]
What steps will reproduce the problem?
1. Add an image to the field by uploading from computer
2. Drag the image to a new location in the field
3. Inspect the element in Firebug and the src is renamed.
What is the expected output? What do you see instead?
Expect: http://www.yourdomain.com/admin/uploads/image.jpg
I see: uploads/image.jpg
What version of the product are you using? On what operating system?
1.2 on OS X 10.5
Please provide any additional information below.
-Does not happen in Safari
-Need full path so i can reference the database output no matter where I am
on the site.
Original issue reported on code.google.com by [email protected]
on 19 May 2009 at 8:31
What steps will reproduce the problem?
1. Write some text
2. Try making it bold (for example)
3. Look at the source
What is the expected output? What do you see instead?
In Firefox it just adds the <b>, but in Safari (4, on Mac) the spaces in the
<b>-tag becomes
(non-breakable spaces, which is annoying on longer texts).
What version of the product are you using? On what operating system?
Mac OS X 10.5.8, Safari 4.0.3 (5531.9)
Original issue reported on code.google.com by [email protected]
on 22 Aug 2009 at 3:45
I think it would be good feature to be able to convert any DIV element to
lwrte editor, not just textarea
Original issue reported on code.google.com by [email protected]
on 22 Jan 2009 at 10:34
I'd like to be able to set a white-list of HTML tags and attributes so that
if someone tries to enter a tag not in the white list (such as a <script>
tag), it would HTML encode it.
Original issue reported on code.google.com by [email protected]
on 5 Sep 2009 at 6:41
What steps will reproduce the problem?
1. Set up lwrte as instructed
2. In the ' css: ['style.css'] ' setting, attempt every conceivable way of
pointing to the path of where my css file is stored. eg, 'style.css',
'../style.css', '../../style.css'. I even placed the same css file multiple
times in every directory of my website hoping one of them would pick up.
What is the expected output? What do you see instead?
I expect to see my CSS classes and/or ids appearing in the rte's CSS
dropdown box. Instead it always says 'no css'.
What version of the product are you using? On what operating system?
1.2, running on MAMP on Mac OSX Leopard. Php installed and working.
Please provide any additional information below.
I understand that CSS files are passed onto a 'styles.php' file to parse
them. In the javascript for the styles function, I setup an alert in the
'success' of the styles.php function being called. No alert popped up. I
did, however, get an alert to pop up when I placed it just above the
'success', just inside 'if(rte.css.length)' before the ajax is called.
Meaning that it attempts to start the CSS fetching function?
Original issue reported on code.google.com by [email protected]
on 25 Aug 2009 at 12:26
First of all: THANK YOU SO MUCH for your brilliant work. I just threw out
TinyMCE (aka bloatedMCE) of my project.
Here are some smaller UI issues I noted:
1. If you have a Flash movie in your page, the movie shines though the
panel unless you give the flash element wmode=transparent (whcih is not
possible in certian situations, e.g. if the flash movie comes from an ad
server). This issue has been worked around in a various implentations of
"lightboxes" using an iframe, that is placed behind the actual layer.
2. Drag and Drop is a little shaky.
I will implement a patch in my local version and post it here,once its
fully working.
Cheers, Andy
Original issue reported on code.google.com by [email protected]
on 14 Feb 2009 at 2:46
It would be nice if the plugin made editor height/width based on size of
element beeing converted, but not smaller than some default amount
Original issue reported on code.google.com by [email protected]
on 22 Jan 2009 at 11:03
What steps will reproduce the problem?
1. run it
2.
3.
What is the expected output? What do you see instead?
Since I'm not running a php program this application is unusable
What version of the product are you using? On what operating system?
the latest
Please provide any additional information below.
If you can provide a breakdown of what you are doing with style.php I can
provide the replacement code.
Original issue reported on code.google.com by [email protected]
on 14 Jul 2009 at 7:15
What steps will reproduce the problem?
1. Downloaded the full package
2. Opened the example html page
3. Tryed to upload one image
4. Obtained this javascript error: invalid assignment left-hand side'file'
=> "{$dir}/{$file[name]}"
on
jquery.rte.tb.js (riga 235)
Tryed in 3 different servers
Original issue reported on code.google.com by [email protected]
on 22 Feb 2009 at 10:13
I use the jQuery ui and it could be good to use the official ui.dialog for
the panel (whith the theme roller skin).
Maybe this little hack can help somebody. I load it just after the
jquery.rte.js :
// rte.uidialog.js
lwRTE.prototype.create_panel = function(title, width)
{
var self = this;
var tb = self.get_toolbar();
if(!tb) return false;
$('.rte-panel', tb).remove();
var dial = $('<div></div>') ;
$('<div></div>').addClass('rte-panel')
.css('position','relative').appendTo(dial);
dial.dialog({ title:title, width: width||250, height: 200, resizable:true,
zIndex:1000 }) ;
return $('.rte-panel:last') ;
}
Original issue reported on code.google.com by [email protected]
on 17 Mar 2009 at 7:22
Hello,
I have been experiencing the same problem that others before have noted
(Issue ID 7). I installed the latest scripts and applied the updates from
June 2009 noted in the previous issue thread, and it now works just fine in
Mozilla Firefox. However using IE 7.05, when I try to add a link to
selected text, this section of code fails:
lwRTE.prototype.editor_cmd = function(command, args) {
this.iframe.contentWindow.focus();
try {
this.iframe_doc.execCommand(command, false, args);
} catch(e) {
//console.log(e)
alert(e.description);
}
this.iframe.contentWindow.focus();
}
The error in the catch (Alert is because console is not a defined object in
IE) is "Invalid Argument". The only thing I've noticed is that in the MSDN
documentation the "createLink" function only takes two arguments (The URL
and the boolean bUserInterface argument which should indeed be false).
Any suggestions as to what may be causing this?
Thanks,
Phil
Original issue reported on code.google.com by [email protected]
on 1 Feb 2010 at 9:55
Hi All,
I figured out this problem in IE and Opera wherein if I hit enter after
typing out a line i get this paragraph inserted. Can this be changed so
that when i hit enter it goes to next immediate line instead of a new
paragraph similar effect that happens in FF and chrome.
Thanks a Lot
Akash
Original issue reported on code.google.com by [email protected]
on 9 Apr 2009 at 9:14
Can somebody tell me would this be hard to make, does anybody have a
fullscreen plugin for this editor already, something like fck(cke) editor
and tinymce have?
Original issue reported on code.google.com by [email protected]
on 2 Dec 2009 at 9:54
Can somebody post a solution to make lwrte working with ajaxify (jquery plugin)
The problem is that in design mode the textarea disapears
Original issue reported on code.google.com by [email protected]
on 26 Feb 2009 at 6:54
What steps will reproduce the problem?
1. Start
2. Change to BBCode
3. Not all tages supported
Ich have cange your code a litle bit .... i have Taken the convertion form
The toolbar into the soursecode
Then I have diable some Tages that are not includet in my converstion
I hope this will help vor create a good BBCode verstion!
best wish
Patrick Knöbel
Original issue reported on code.google.com by [email protected]
on 16 Feb 2009 at 11:01
Attachments:
I'm using lwrte with custom external controls-buttons (which use lwrte
object methods to manipulate content), which are located outside iframe,
and with completely hidden default toolbar.
There was a number of issues I faced, when implementing, so I want to
share my solutions, may be someone will find them usefull =)
===== First issue =====
When such button was clicked, iframe lost focus so any text selection in
IE was lost (though worked in other browsers) and styling/elements were
inserted in the beginning of content, not where I needed/wanted them. So I
could not actually make some text bold, only if I chose bold first and
then typed in the text.
Fix was:
step 1: adding
$(self.iframe_doc).blur(function(event){
if (self.iframe_doc.selection)
self.range = self.iframe_doc.selection.createRange();
});
into "lwRTE.prototype.enable_design_mode" function to save selection on
blur (external button press)
step 2: inserting
if ($.browser.msie && this.range.text != "")
this.range.select();
after each "this.iframe.contentWindow.focus();" in
"lwRTE.prototype.editor_cmd" function.
that restores selection after focusing iframe. Works like a charm for me =)
===== Second issue =====
I needed to override default behaviour on Enter key press to perform
another action on the event and to insert new line on Ctrl+Enter. Those
are easily trapped and overridden, but the problem was to insert new line
itself. I chose the "inserHTML" command with "<br><div/>" parameter to
perform it, that works perfectly everywhere except IE, which in it's turn
does not understand the command. So I had to implement an workaround:
if(command == 'insertHTML' && $.browser.msie)
{
var ec_sel = this.iframe.contentWindow.document.selection;
if (ec_sel!=null)
{
var ec_rng = ec_sel.createRange();
ec_rng.pasteHTML(args);
}
}
else
this.iframe_doc.execCommand(command, false, args);
that allows "inserHTML" in IE.
* Note, that jQuery 1.3+ does not support
$.browser any more, so one has to extend it manualy if need, or use your
own IE check, $.support is not enough for now as for me.
====================
May be it makes sence to include those fixes to the source.
Comments appreciated.
Original issue reported on code.google.com by [email protected]
on 28 Feb 2009 at 11:30
I have to switch to textarea and then back to iframe to be able to read and
the content inside the iframe. Otherwise, I cannot even write anything, as
it happens the same even when the content is <br />.
I am able to view the content when the RTE is loading, but it is quickly
'erased' (not entirely erased, the content appears after the switch)
Using Firefox 3.0.5 under Linux.
Is there any way I can solve this or force the switch?
Thanks
Original issue reported on code.google.com by [email protected]
on 3 Feb 2009 at 1:11
What steps will reproduce the problem?
1. Select some thext
2. Open link button
3. Enter some link
4. Text disaper
Original issue reported on code.google.com by [email protected]
on 29 Jan 2009 at 10:38
What steps will reproduce the problem?
1. Load a page with lwrte enabled for a textarea.
2. Type in some text, select it and hold down CTRL and press the B key.
What is the expected output? What do you see instead?
The selected text should become bold. Instead, the bookmark (at least in
FF) view is opened.
What version of the product are you using? On what operating system?
v 1.2
Win XP pro
Please provide any additional information below.
I realize that this may add bloat, but these RTE controls are meant to be
used primarily by non-techie type people who don't understand HTML but know
how to use MS Word. I think CTRL+B (bold), CTRL+I (italics), CTRL+U
(underline) should be implemented.
Original issue reported on code.google.com by [email protected]
on 3 Jun 2009 at 7:23
What steps will reproduce the problem?
1. when pasting the content from a already formatted document, it keep the
original formatting.
2.
3.
What is the expected output? What do you see instead?
- When pasting into the textarea, it must remove all formating code and
keep only the text.
What version of the product are you using? On what operating system?
rte1.2 / Vista /IE8/FF/Chrome
Original issue reported on code.google.com by [email protected]
on 19 Nov 2009 at 1:46
First of all: Thank you, plandem, for this code! It is much appreciated.
Problem/My resolution:
What steps will reproduce the problem?
Using IE7 (with default security settings) on Vista:
1. Click the HTML button to go to source view for an rte.
2. Click the browser's refresh button
This yields a "Permission Denied" error. Examining the code, I see that
what is happening is that when the iframe is removed (in
the "disable_design_mode" function), the iframe's document (iframe_doc)
doesn't seem to be removed; specifically, the events that were explicitly
added to the iframe's document (mousup and keyup) are not removed from the
jquery cache. So when the page is unloaded, jquery tries to fire the
unload event during which it tries to remove these events; when it tries,
to access the element associated with the events, IE gives an "Access
Denied" error.
Here's the (jquery) stack trace for the unloading:
1) return typeof jQuery !== "undefined" && !jQuery.event.triggered ?
jQuery.event.handle.apply(arguments.callee.elem, arguments) : undefined;
2) var ret = handler.apply(this, arguments);
3) return (fn || data).apply( this, arguments );
4) jQuery.event.remove( jQuery.cache[ id ].handle.elem );
5) if ( elem.nodeType == 3 || elem.nodeType == 8 )
"elem.nodeType" cannot be evaluated, because elem doesn't exist, so it
returns an "Access Denied" (internally) which displays as a "Permission
Denied" to the user.
To fix the problem, I added the following line before
the "$(self.iframe).remove();" line in the disable_design_mode function:
$(self.iframe_doc).remove();
Thanks.
Original issue reported on code.google.com by [email protected]
on 5 Feb 2009 at 4:01
What steps will reproduce the problem?
1. select one word in text
2. try to create link
3. selection disappears, no URL
BUT! if you
1. make half of word italic (bold, change color - no matter)
2. select this word such that selection crosses border of formatting (i.e.
selection has both italic and plain text)
3. try to create link
4. selection disappears, URL created ok.
I observe this defect on Safari 4 PC version and Safari 3 Mac version.
Original issue reported on code.google.com by [email protected]
on 10 Mar 2009 at 7:22
Mostly, linking works normally. But sometimes linking acts very strange:
1.You mark text.
2.Press linking button.
3.Enter the address(also you can enter title - doesn't matter).
4.Press OK.
5.Text doesn't turn into a link or text duplicates, but neither the first
one, neither the second one turns into a link. Or if you mark the whole
line, text just vanishes.
6.Very strange.
Original issue reported on code.google.com by [email protected]
on 22 Jan 2009 at 2:04
Just visualize the file "index.html" (included as an example in the zip).
Launch it in IE v7 (in Firefox it works)
Then click the first button of the RTE to see the html.
Then close IE with the "X" close button of IE
and you get the message "permission denied".
Problem here in jquery.js:
the line "if ( elem.nodeType == 3 || elem.nodeType == 8 )" fails.
---------------------------------------------------------------------
...
// Detach an event or set of events from an element
remove: function(elem, types, handler) {
// don't do events on text and comment nodes
if ( elem.nodeType == 3 || elem.nodeType == 8 )
return;
...
----------------------------------------------------------------
What is the expected output? What do you see instead?
What version of the product are you using? On what operating system?
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 2 Mar 2009 at 9:57
I'm wondering if anyone has any ideas how to implement a MaxLength property
on this plugin.
Thanks in advance.
Original issue reported on code.google.com by [email protected]
on 1 Jun 2009 at 10:17
When I try push "Enter", for go to new line, or select some part of text
and push "Delete", it not works. Any keys not works in textarea with this
wysiwyg.
Can anybody help me please?
Original issue reported on code.google.com by [email protected]
on 9 Dec 2009 at 10:57
First I wanted to say great work on your editor, it's really nice,
especially since it doesnt take forever to load like fck.
I want to request an option to have the toolbar and popup windows outside
of the iframe.
Thanks!
Original issue reported on code.google.com by [email protected]
on 19 May 2009 at 9:49
This looks an excellent plugin. I am not a jQuery pro so was looking for
the syntax on how to call get_content() from my code. An example would be
highly appreciated.
For example, I tried $('.rte').get_content() within your demo which isn't
right!!
Original issue reported on code.google.com by yusufnb
on 29 Jan 2009 at 4:22
Hi,
I'm trying to implement lwrte in a chat platform i'm working on...
the platform is built upon jquery UI's Tabs widget (
http://jqueryui.com/demos/tabs )...
Each tab represents a chat window with a user, and each tab contains an
instance of lwrte...
The editor seems to work fine, but there are a few issues that only happens
when lwrte is integrated to the tabs:
* color selection doesnt work
* the array returned from the rte() function, comes empty.. And therefore -
internal functions cannot be used as described in the documentation
Got any idea why?
I'm using jQuery 1.2.6 - can it be the reason?
Many thanks in advance,
David
Original issue reported on code.google.com by [email protected]
on 17 Jun 2009 at 7:33
I would like to create a listbox where I can add the img tag to align left
or right
Original issue reported on code.google.com by [email protected]
on 20 Mar 2009 at 5:33
I am trying to figure out how I can possibly make the color picker appear
outside of the iframe. When the iframe size is small, the color picker
gets cut off and becomes somewhat unuseable. Any help with this would be
greatly appreciated.
Thanks!
Original issue reported on code.google.com by [email protected]
on 4 May 2009 at 1:42
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.