├── .gitignore ├── LICENSE ├── README.md ├── example.py ├── requirements.txt ├── setup.py ├── talk_samples ├── article │ ├── 599458153.txt │ ├── 687993820.txt │ ├── 693846403.txt │ ├── 693870767.txt │ └── 694061598.txt ├── user │ ├── 687428034.txt │ ├── 692726230.txt │ └── 692730409.txt └── wiki │ ├── 558617879.txt │ ├── 574286642.txt │ ├── 692684350.txt │ └── 692764699.txt ├── test ├── __init__.py ├── schema.py ├── test_comment.py ├── test_indentblock.py ├── test_indentutils.py ├── test_mwparsermod.py ├── test_section.py ├── test_signatureutils.py └── test_talkpageparser.py └── wikichatter ├── __init__.py ├── comment.py ├── error.py ├── extractor.py ├── indentblock.py ├── indentutils.py ├── mwparsermod.py ├── page.py ├── section.py ├── signatureutils.py └── talkpageparser.py /.gitignore: -------------------------------------------------------------------------------- 1 | # Byte-compiled / optimized / DLL files 2 | __pycache__/ 3 | *.py[cod] 4 | *~ 5 | 6 | # Distribution / packaging 7 | .Python 8 | env/ 9 | bin/ 10 | build/ 11 | develop-eggs/ 12 | dist/ 13 | eggs/ 14 | lib/ 15 | lib64/ 16 | parts/ 17 | sdist/ 18 | var/ 19 | *.egg-info/ 20 | .installed.cfg 21 | *.egg 22 | 23 | # Installer logs 24 | pip-log.txt 25 | pip-delete-this-directory.txt 26 | 27 | # Sphinx documentation 28 | docs/_build/ 29 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Kevin Schiroo 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # MWChatter 2 | This is a library currently in development to parse conversations on Wikipedia 3 | talk pages 4 | 5 | ## Basic use ## 6 | import wikichatter as wc 7 | 8 | text = open(some_talk_page).read() 9 | parsed_text = wc.parse(text) 10 | print(parse_text) 11 | 12 | ## Current output ## 13 | `tpp.parse()` generates output composed of dictionaries and lists 14 | observing the following json schema 15 | 16 | { 17 | "$schema": "http://json-schema.org/draft-04/schema#", 18 | 19 | "definitions": { 20 | "page": { 21 | "type": "object", 22 | "properties": { 23 | "title": {"type": "string"}, 24 | "sections": { 25 | "type": "array", 26 | "items": {"$ref": "#/definitions/section"} 27 | } 28 | } 29 | }, 30 | "section": { 31 | "type": "object", 32 | "properties": { 33 | "heading": {"type": "string"}, 34 | "comments": { 35 | "type": "array", 36 | "items": {"$ref": "#/definitions/comment"} 37 | }, 38 | "subsections": { 39 | "type": "array", 40 | "items": {"$ref": "#/definitions/section"} 41 | } 42 | } 43 | }, 44 | "comment": { 45 | "type": "object", 46 | "properties": { 47 | "author": {"type": "string"}, 48 | "time_stamp": {"$ref": "#/definitions/time_stamp"}, 49 | "comments": { 50 | "type": "array", 51 | "items": {"$ref": "#/definitions/comment"} 52 | }, 53 | "text_blocks": { 54 | "type": "array", 55 | "items": {"$ref": "#/definitions/text_block"} 56 | }, 57 | "cosigners": { 58 | "type": "array", 59 | "items": {"$ref": "#/definitions/signature"}} 60 | } 61 | }, 62 | "signature": { 63 | "type": "object", 64 | "properties": { 65 | "author": {"type": "string"}, 66 | "time_stamp": {"$ref": "#/definitions/time_stamp"} 67 | } 68 | }, 69 | "text_block": { 70 | "type": "string" 71 | }, 72 | "time_stamp": { 73 | "type": "string", 74 | "pattern": "[0-9]{2}:[0-9]{2}, [0-9]{1,2} [a-zA-Z]+ [0-9]{4} \\(UTC\\)" 75 | } 76 | }, 77 | 78 | "$ref": "#/definitions/page" 79 | } 80 | 81 | `cosigners` of a comment are found when multiple signatures all occur on the same line. 82 | In this case the first is designated the signer and the rest are listed as cosigners. 83 | 84 | ## Known Problems ## 85 | * We currently assemble comments linearly, this occasionally leads to a mis-attribution 86 | of text. In some cases a person will reply within another person's comment. In this 87 | case the person replying will have the text they are replying to attributed to them. 88 | * Responses are based on indentation. On occasion a person replying will break 89 | indentation, moving up a level. This leads their entire comment to be moved up 90 | a level. This has specifically been observed to happen when a user inserts an 91 | image, since attempting to indent the image may not make sense. In this cases 92 | users commenting below them will be interpreted to be replying to the person 93 | that broke indentation rather than the original poster. 94 | 95 | ## Running tests ## 96 | From base directory 97 | `python -m unittest test.` 98 | 99 | # Authors 100 | 101 | * Kevin Schiroo 102 | 103 | -------------------------------------------------------------------------------- /example.py: -------------------------------------------------------------------------------- 1 | import os 2 | import wikichatter as wc 3 | import json 4 | 5 | talk_samples_base = "./talk_samples/" 6 | talk_files = [] 7 | for (name, directories, files) in os.walk(talk_samples_base): 8 | talk_files.extend([name + "/" + f for f in files]) 9 | 10 | for f_path in talk_files: 11 | with open(f_path, "r") as f: 12 | text = f.read() 13 | parsed = wc.parse(text) 14 | print(json.dumps(parsed)) 15 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | jsonschema==2.5.1 2 | mwparserfromhell==0.4.3 3 | wheel==0.24.0 4 | -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- 1 | from setuptools import setup 2 | 3 | setup( 4 | name='WikiChatter', 5 | version='0.3.0', 6 | description='Parser for MediaWiki talk pages', 7 | url='https://github.com/kjschiroo/WikiChatter', 8 | 9 | author='Kevin Schiroo', 10 | author_email='kjschiroo@gmail.com', 11 | license='MIT', 12 | 13 | packages=['wikichatter'], 14 | install_requires=['mwparserfromhell'] 15 | ) 16 | -------------------------------------------------------------------------------- /talk_samples/article/599458153.txt: -------------------------------------------------------------------------------- 1 | {{WikiProject Biography|living=yes|class=Start|needs-infobox=yes|politician-work-group=yes|listas=Kabore, Roch Marc Christian|needs-photo=yes}} 2 | {{WikiProject Africa|class=Start}} 3 | {{Image requested|in=Burkina Faso}} 4 | 5 | ==Article Quality Notices== 6 | This article includes a dispute notice at the top, but there's nothing here on the talk page, and the article seems straightforward and uncontroversial, so I'm removing the notice. [[User:Everyking|Everyking]] ([[User talk:Everyking|talk]]) 20:04, 20 December 2008 (UTC) 7 | 8 | I've just added in a note to say that it needs additional citations - especially in the box giving his career history, where only one job is cited [[User:EdwardRussell|EdwardRussell]] ([[User talk:EdwardRussell|talk]]) 17:08, 13 March 2014 (UTC) 9 | -------------------------------------------------------------------------------- /talk_samples/article/687993820.txt: -------------------------------------------------------------------------------- 1 | {{WikiProject Computing}} 2 | {{archives}} 3 | 4 | == F and AS plus G == 5 | 6 | The article at the page http://en.wikipedia.org/wiki/Logic_family says that F and AS came out in 1979 and 1980, not in 1985 like in this article. Something needs to be changed and corrected. The G family from 2004 is not mentioned in this article. 7 | 8 | I fixed the "Sub-types" section by moving out of the dotted list the last three sentences since they really weren't in the right place. 9 | 10 | [[User:ICE77|ICE77]] ([[User talk:ICE77|talk]]) 23:16, 19 February 2011 (UTC) 11 | 12 | ==Schematic diagram question== 13 | 14 | Why is not in fig "Two-input TTL NAND gate" a bias resistor for the base of output transistor? — Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[User:Oabernhardt|Oabernhardt]] ([[User talk:Oabernhardt|talk]] • [[Special:Contributions/Oabernhardt|contribs]]) 14:49, 11 June 2012 (UTC) 15 | 16 | :For one thing, it's a simplified diagram. For another, current will flow from Vcc through the resistor to the base of the input transistor, then through the base-collector junction to the base of the output transistor. [[User:Jc3s5h|Jc3s5h]] ([[User talk:Jc3s5h|talk]]) 16:08, 11 June 2012 (UTC) 17 | 18 | :: Yes, it is an oversimplified diagram. The output transistor will either get is base drive from the resistor through the multiple emitter transistor's B-C junction, or the collector of the of ME transistor will suck out the base charge. If you consider the threshold voltage in the simple diagram, it is around 0.7V -- not the 1.4V of a typical TTL gate. The totem pole circuit lower down is better for details. [[User:Glrx|Glrx]] ([[User talk:Glrx|talk]]) 17:13, 11 June 2012 (UTC) 19 | 20 | == Sub-types == 21 | 22 | There seems to be a lot of overlap between 23 | the [[Transistor–transistor logic#Sub-types]] section and 24 | the [[7400 series#7400 series derivative families]] section. 25 | 26 | Could we merge that information together somehow? 27 | 28 | Are there any Fast (F) or Advanced-Schottky (AS) chips other than 29 | the ones in the 7400 series -- the 74F and 74AS, respectively? 30 | 31 | --[[User:DavidCary|DavidCary]] ([[User talk:DavidCary|talk]]) 14:18, 16 October 2014 (UTC) 32 | 33 | :There were CMOS versions, for instance 74HC00 and 74HCT00. The HCT version was intended to more closely simulate the 0.4 volt/2.4 volt inputs; the HC version had a symmetrical input centering on 1/2 of VCC, for instance 2.5 volts if the VCC is 5.0 volts. The outputs of both of these versions were close to GND and VCC+ 34 | :Further, there were high-speed CMOS versions, for instance 74AC00 and 74ACT00. See above for the input voltage. [[Special:Contributions/174.25.9.105|174.25.9.105]] ([[User talk:174.25.9.105|talk]]) 07:06, 28 October 2015 (UTC) 35 | 36 | Seems to me that the HC and HCT are not subtypes of TTL. The use the numbering system of TTL, but otherwise are somewhat different. The important idea behind TTL, successor of RTL and DTL, is using bipolar transistors for both logic and output drivers. The logic transistors can go into reverse active mode and such charge out of the following transistor, speeding up the logic. Now, many S and LS circuits use Schottky diodes for logic functions, so aren't strictly TTL, but otherwise are similar enough. Not that HC and HCT should be ignored, but they aren't subtypes of TTL. [[User:Gah4|Gah4]] ([[User talk:Gah4|talk]]) 23:04, 28 October 2015 (UTC) 37 | 38 | == Pin counts == 39 | 40 | "Like most integrated circuits of the period 1965–1990, TTL devices are usually packaged in through-hole, dual in-line packages with between 14 and 24 lead wires" this seems a strange and unsupported claim. Most of what I have on hand is 6 or 8 pin. Original research, but why would there be a good cite that would have average pin counts that would support the claim? It seems very dubious. Obviously in certain applications it would be true, but how would it be true generally for TTL devices? Any TTL device with 14 or more pins is going to contain a large number of components, and those smaller components are probably all available for order as discrete units with less pins, and still in PDIP. [[Special:Contributions/76.105.216.34|76.105.216.34]] ([[User talk:76.105.216.34|talk]]) 23:48, 21 January 2015 (UTC) 41 | :I would have trouble remembering much about TTL, but I do not think I've ever seen 6 or 8 pin TTL chips. What are they? Can you link to a description somewhere (no problem if you can't; just my curiosity). Have a look at [[7400 series]] to see confirmation of the statement in the article. By modern standards, there are hardly any components at all in a 7400, yet it has 14 pins simply because it has to, per the diagram in the lead. [[User:Johnuniq|Johnuniq]] ([[User talk:Johnuniq|talk]]) 05:55, 22 January 2015 (UTC) 42 | ::I agree. Most TTL parts were 14 or 16 pins; a few were 20 or more. What comes with fewer than 14? Is a [[555 timer]] considered TTL? I don't think so. [[User:Dicklyon|Dicklyon]] ([[User talk:Dicklyon|talk]]) 06:56, 22 January 2015 (UTC) 43 | :::Easily verified: simply go to [[List of 7400 series integrated circuits]], pick a few at random, look at the data sheet and count the pins. Mostly 14 and 16, occasionally 20. Of course there is the 741G series, for those times when you have to cram one more gate into an overcrowded surface-mount board, but those are modern HC parts. There was nothing like that in the days when TTL was king. --[[User:Guy Macon|Guy Macon]] ([[User talk:Guy Macon|talk]]) 11:56, 22 January 2015 (UTC) 44 | ::::You're right, but you're not Wikipedia right. We can't use Wikipedia as a [[WP:RS|source]] to settle arguments on Wikipedia. We can't flip through data books and count how many parts have how many pins - that's [[WP:OR]]. What we Wikishould do is tag the offending line with "Citation needed", which will stay on it till the end of time waiting for someone to find a reliable third party secondary source making the statement. --[[User:Wtshymanski|Wtshymanski]] ([[User talk:Wtshymanski|talk]]) 23:00, 23 January 2015 (UTC) 45 | :::::I have seldom met a data sheet that does not specify the number of pins a part has, so counting them is completely unnecessary. Since the data sheet itself is the cite for the pin count, you are just talking bollocks. [[Special:Contributions/31.48.73.38|31.48.73.38]] ([[User talk:31.48.73.38|talk]]) 17:34, 24 January 2015 (UTC) 46 | ::::::Wtshymanski, who disagrees with certain Wikipedia policies, in this case pretty much accurately describes the policies in question. If someone seriously questions that claim "TTL devices are usually packaged in through-hole, dual in-line packages with between 14 and 24 lead wires", then we as an encyclopedia [[WP:V|must back up the claim]] with a citation to a [[WP:RS|reliable source]]. 47 | ::::::In my comment above, I was inexact in my language. Checking a bunch of datasheets should be enough to convince any reasonable person how many pins TTL devices "usually" have, but Wtshymanski is entirely correct when he says that that doing that violates our policy on [[WP:OR|original research]]. It's actually a pretty good example illustrating why Wtshymanski disagrees with those Wikipedia policies. 48 | ::::::My personal view is that, while Wtshymanski has a point about our policies being flawed, his proposed alternative (as far as I can tell -- he hasn't really detailed exactly how he thinks Wikipedia should change, but I ''think'' he wants it to be more like [[Nupedia]]) is worse. I would love to have a serious discussion about this -- or about anything else, for that matter -- with Wtshymanski, but he has shown no interest in doing that. --[[User:Guy Macon|Guy Macon]] ([[User talk:Guy Macon|talk]]) 16:42, 25 January 2015 (UTC) 49 | :::::::{{replyto|Guy Macon}}If I read you right: then what you are both saying is that if anyone puts a claim in a Wikipedia article, having found a book, website or whatever that supports the claim and cites the reference in the article (as millions of such claims are cited), then all such claims can be deleted as [[WP|OR|original research]] because the act of looking the claim up in the book is original research?? I have to disagree here. I accept that if I emptied out my box of 7400 series chips and counted the pins that would be original research (which is what {{u|Wtshymanski}} was suggesting). I cannot accept that citing the data sheets that specify the number of pins on the chips to be original research. 50 | :::::::Alternatively, of course, I could photograph the chips with numbered stickers on each pin and include that because [[WP:OI|original research]] is allowed in images. [[Special:Contributions/31.48.73.38|31.48.73.38]] ([[User talk:31.48.73.38|talk]]) 13:35, 26 January 2015 (UTC) 51 | ::::::::No. You have an incorrect grasp of Wikipedia's rules on original research. Citing a source is not original research. You might find [[WP:SYNTH]] helpful in understanding the policy. --[[User:Guy Macon|Guy Macon]] ([[User talk:Guy Macon|talk]]) 23:02, 26 January 2015 (UTC) 52 | :::::::::{{replyto|Guy Macon}} Which bit of, "''I cannot accept that citing the data sheets that specify the number of pins on the chips to be original research''" is any different to, "''Citing a source is not original research"''. I merely provided a précis of what you posted. [[Special:Contributions/31.48.73.38|31.48.73.38]] ([[User talk:31.48.73.38|talk]]) 17:30, 1 February 2015 (UTC) 53 | Let's just cite a book. How about [https://books.google.com/books?id=9g8BBQAAQBAJ&pg=PA16&dq=TTL+14-pin+16&hl=en&sa=X&ei=9yzFVLbKH43noATEiIDgBQ&ved=0CCkQ6AEwAg#v=onepage&q=TTL%2014-pin%2016&f=false this one] that says "these devices are usually encapsulated in a plastic 14-pin, 16-pin, or 24-pin dual-in-line package (DIP)" (referring to 7400 series TTL in particular). [[User:Dicklyon|Dicklyon]] ([[User talk:Dicklyon|talk]]) 17:52, 25 January 2015 (UTC) 54 | :My character plays {{cite book |last1= Lancaster|first1=Don |author-link1=[[Don Lancaster]] |year= 1974|chapter=1 |title=TTL Cookbook |language=English |publisher=Howard W. Sams and Co., Inc The Bobbs-Merril Co., Inc. |publication-date= 1974|page=14 |pages= |at= |nopp= |arxiv= |asin= |bibcode= |doi= |doi_brokendate= |isbn=0-672-21035-5 |issn= |jfm= |jstor= |lccn= |mr= |oclc= |ol= |osti= |pmc= |pmid= |rfc= |quote="The majority of devices are available in the common 14-pin and 16-pin DIP or dual in-line package... "|separator= |postscript= |ref= }} and walks off in a cloud of Wikismugness, showing his superiority by proving a [[WP:BLUE|reference for the bloody obvious]] exists. Suggested ripostes include[[WP:OUTDATED]],[[WP:SPS]], [[WP:QS]], [[WP:1R]] and I'm sure there's a whole bunch of procedurally sound objections based on more than 14 years of carefully planned policies and sacred consensus. And 40 pins is not 49 pins. --[[User:Wtshymanski|Wtshymanski]] ([[User talk:Wtshymanski|talk]]) 18:07, 25 January 2015 (UTC) 55 | 56 | I think sometimes the idea of original research isn't well defined. Seems like a reference to the TTL data book, describing hundreds of TTL chips, should be enough to settle the question. I don't think we need a government funded, peer-reviewed study on the number of pins on a chip to know how many there are. I do agree that there are plenty of cases where original research is a problem, when no sources are available to show the difference, and reliable funded, and reviewed studies are needed. I don't believe that this is one of those. In the case of TTL I suspect (uh-oh, original research) that standardizing on 14 and 16 pin packages helped with the economy of scale, and kept prices down. It also might have made board layout easier when computers were slower. [[User:Gah4|Gah4]] ([[User talk:Gah4|talk]]) 23:16, 28 October 2015 (UTC) 57 | 58 | == Citations == 59 | : Re guideline [[WP:CITEVAR]] 60 | 61 | Move to change citation method 62 | 63 | Style is basically Harvard footnotes. 64 | 65 | Harvard expression were inconsistent. See https://en.wikipedia.org/w/index.php?title=Transistor%E2%80%93transistor_logic&oldid=644140821 Some had year, some didn't. Some gave initials, some didn't. Some used ampersand; some didn't. Some had comma-year; some didn't. The linkage specified material twice: 66 | :[[#CITEErin2003|Eren, H., 2003.]] 67 | 68 | To make it consistent, use the simpler (with a rename of CITEErin2003 to CITERefEren2003) (also note that Eren was mispelled): 69 | :{{harvnb|Eren|2003}} 70 | 71 | That basically takes you to this version (harv templates to existing citation style): https://en.wikipedia.org/w/index.php?title=Transistor%E2%80%93transistor_logic&oldid=645034423 72 | 73 | If you actually look at the references, you'll see 74 | :* Horowitz, P. and Winfield Hill, W. ''The Art of Electronics.'' 2nd Ed. Cambridge University Press. 1989. ISBN 0-521-37095-7 75 | 76 | With the doubled single quotes, the intention was to italicize the title but not the authors, but that doesn't happen inside the cite tag. That's when I switched to the citation templates in the reference section. You'll also notice author Hill is confused. 77 | 78 | In templating the refs, other errors came out and I added dois. 79 | 80 | [[User:Glrx|Glrx]] ([[User talk:Glrx|talk]]) 17:47, 2 February 2015 (UTC) 81 | 82 | :After looking around, I see that the <cite...> HTML elements were introduced in September 2008. I also see at [[Help:HTML in wikitext]] that the meaning of the <cite...> element has changed between HTML 4 and HTML 5. I suppose the citations looked right back in 2008 with the version of Wikimedia then in use, but clearly it getting the job done anymore. Glrx, what would you like to change to? I think a suitable approach would be a "Notes" section containing short footnotes made with the {{tl|sfn}} template and a "References" section made with the [[Help:Citation Style 1|Citation Style 1]] family of templates. [[User:Jc3s5h|Jc3s5h]] ([[User talk:Jc3s5h|talk]]) 19:04, 2 February 2015 (UTC) 83 | 84 | :: Blame the resulting change in CSS defaults for cite class. 85 | :: I don't care which citation style family is used; consistency and checks are the benefits I want; I don't care about periods vs commas; I believe CS1 gets more attention and is probably easier for most editors. If one uses {{tl|sfn}} or {{tl|harv}}, then CS1 needs an explicit ref=harv (see [[Help:Citation Style 1#Anchors]]), so I usually match Harvard refs with {{tl|citation}}. That way the sfn anchor is there by default. 86 | :: For this article, I believe sfn/harv is a poor choice because it makes the refs double indirect (look at note and then look at the biblio). sfn is worthwhile if the name of the authors are significant to the readers (often in psychology where different author's theories are discussed -- and then the Harvard refs are in the text rather than short footnotes) or when the refs are cited many times with different page numbers/pinpoints. In this article, most refs are cited once; the only benefit to sfn is the references can be sorted by name rather than cite order; some editors may want to retain that feature, but sorted by footnote number is good enough for me. That is, an easier method is long footnotes that put the CS1 template inside ref tags and invoke {{tl|reflist}} at the bottom of the page; an editor need not edit both inline (sfn/harv) and out-of-line (biblio). I think mouseover works better with long footnotes. 87 | :: [[User:Glrx|Glrx]] ([[User talk:Glrx|talk]]) 00:43, 3 February 2015 (UTC) 88 | 89 | :::I agree that short footnotes and an alphabetical list of references with full bibliographical details is most useful when many of the sources are cited several times each, but each citation is to a different page number; I had not looked to see how often each source was cited when I made my previous edit, thanks for checking that. (If the names of the authors were really important, I would tend to go for [[parenthetical referencing]]). Since neither of those applies to this article, the short footnotes are perhaps just extra work. 90 | 91 | :::Most outside citation styles that separate the elements of the citation with periods put those sources in an alphabetical list and use parenthetical citations. All the outside styles I've found that use footnotes separate the elements with commas. So if I get to pick, I use CS1 with alphabetical reference lists and {{tl|Citations}} when there are only footnotes (no alphabetical list). [[User:Jc3s5h|Jc3s5h]] ([[User talk:Jc3s5h|talk]]) 01:42, 3 February 2015 (UTC) 92 | 93 | :::: We agree on long footnote rather than sfn. I'm not wed to either cite x/CS1 or citation/CS2. Give a little time for others to weigh in. [[User:Glrx|Glrx]] ([[User talk:Glrx|talk]]) 02:17, 3 February 2015 (UTC) 94 | 95 | == V or Q == 96 | 97 | Why are the transistors in the diagrams V? Most use Q for transistors. [[User:Gah4|Gah4]] ([[User talk:Gah4|talk]]) 00:40, 3 April 2015 (UTC) 98 | 99 | :The "V"s should be "Q"s, the "U"s shouldn't be there, and in general the style should be similar to that of the illustration above it. Does anyone have time to do a bit of drawing today to fix this? --[[User:Guy Macon|Guy Macon]] ([[User talk:Guy Macon|talk]]) 20:44, 3 April 2015 (UTC) 100 | ::It's a pretty simple fix that I could do since it's just tweaking an svg diagram. Apparently those letters are per dewiki conventions, I guess. The three "U"s presumably represent the two input voltages and the output voltage, with upside-down arrows. I suppose the "U"s are redundant and should be removed along with the arrows. After removal, should the two inputs be labeled V1 and V2, and the output Vo (subscripted)? A tricky issue is where to put a new diagram. The original is [[:File:7400 Circuit.svg]] which is at Commons and is used in several Wikipedias. I'm not sure I'm cheeky enough to replace that. What do you think? Replace it? Make a new file? What name? [[User:Johnuniq|Johnuniq]] ([[User talk:Johnuniq|talk]]) 23:48, 3 April 2015 (UTC) 101 | -------------------------------------------------------------------------------- /talk_samples/article/693846403.txt: -------------------------------------------------------------------------------- 1 | {{Skip to talk}} 2 | {{Talk header|noarchive=yes|search=no}} 3 | {{Vital article|level=3|topic=History|class=GA}} 4 | {{British English|date=September 2010}} 5 | {{Article history|action1=FAC 6 | |action1date=21:31, 18 Feb 2005 7 | |action1link=Wikipedia:Featured article candidates/World War II/archive 1 8 | |action1result=not promoted 9 | |action1oldid=10403635 10 | |action2=FAC 11 | |action2date=05:08, 22 May 2005 12 | |action2link=Wikipedia:Featured article candidates/World War II/archive 2 13 | |action2result=not promoted 14 | |action2oldid=14078797 15 | |action3=PR 16 | |action3date=21:16, 20 September 2005 17 | |action3link=Wikipedia:Peer review/World War II/archive1 18 | |action3result=reviewed 19 | |action3oldid=23622467 20 | |action4=FAC 21 | |action4date=19:26, 26 January 2006 22 | |action4link=Wikipedia:Featured article candidates/World War II/archive1 23 | |action4result=not promoted 24 | |action4oldid=36827665 25 | |action5=PR 26 | |action5date=14:36, 13 April 2006 27 | |action5link=Wikipedia:Peer review/World War II/archive2 28 | |action5result=reviewed 29 | |action5oldid=48277531 30 | |action6=FAC 31 | |action6date=03:35, 18 May 2006 32 | |action6link=Wikipedia:Featured article candidates/World War II/Archive I 33 | |action6result=not promoted 34 | |action6oldid=53709401 35 | |action7=GAN 36 | |action7date=19:09, 25 September 2006 37 | |action7result=listed 38 | |action7oldid=77765493 39 | |action8=FAC 40 | |action8date=06:03, 17 February 2007 41 | |action8link=Wikipedia:Featured article candidates/World War II/archive2 42 | |action8result=not promoted 43 | |action8oldid=108787006 44 | |action9=WAR 45 | |action9date=23 March 2007 46 | |action9link=Wikipedia:WikiProject Military history/Assessment/World War II 47 | |action9result=failed 48 | |action10=GAR 49 | |action10date=04:00, 14 April 2007 50 | |action10link=Wikipedia:Good article review/Archive 16#World War II 51 | |action10result=kept 52 | |action10oldid=122664413 53 | |action11=GAR 54 | |action11date=October 8, 2007 55 | |action11link=Talk:World_War_II/Archive_27#GA_Sweeps_Review:_Delisted 56 | |action11result=delisted 57 | |action11oldid=163173719 58 | |action12=WPR 59 | |action12date=10 May 2008 60 | |action12link=Wikipedia:WikiProject Military history/Peer review/World War II 61 | |action12result=reviewed 62 | |action12oldid=211399776 63 | |action13=GAN 64 | |action13date=04:50, 6 March 2010 (UTC) 65 | |action13link=Talk:World War II/GA1 66 | |action13result=listed 67 | |action13oldid=348037951 68 | |aciddate=18 December 2005 69 | |currentstatus=GA 70 | |topic=History}} 71 | {{Old peer review|archive=3}} 72 | {{WikiProjectBannerShell|collapsed=yes|1= 73 | {{WikiProject Military history|class=GA |old-peer-review=yes |A-Class=fail |Aviation=yes |Historiography=Yes |Maritime=Yes |Memorials=Yes |Science=Yes |Technology=Yes |Weaponry=Yes |African=Yes |Australian=Yes |Balkan=Yes |British=Yes |Canadian=Yes |Chinese=Yes |Dutch=Yes |French=Yes |German=Yes |Indian=Yes |Italian=Yes |Japanese=Yes |Korean=Yes |New-Zealand=Yes |Polish=Yes |Russian=Yes |Spanish=Yes |US=Yes |WWII=Yes|Middle-Eastern-task-force= yes|portal1-name=United States|portal1-link=Selected article/15}} 74 | {{WikiProject European history|class=GA|importance=Top}} 75 | {{WikiProject Albania|class=GA|importance=High}} 76 | {{WikiProject Australia|class=GA|importance=Top}} 77 | {{WikiProject Austria|class=GA|importance=High}} 78 | {{WikiProject Bosnia and Herzegovina|class=GA|importance=High}} 79 | {{WikiProject Bulgaria|class=GA|importance=High}} 80 | {{WikiProject Croatia|class=GA|importance=High}} 81 | {{WikiProject Czech Republic|class=GA|importance=High}} 82 | {{WikiProject France|class=GA|importance=Top}} 83 | {{WikiProject Germany|class=GA |importance=Top|B-Class-1=yes |B-Class-2=yes |B-Class-3=yes |B-Class-4=yes |B-Class-5=yes}} 84 | {{WikiProject Greece|class=GA|importance=High|topic=history}} 85 | {{WikiProject Hungary|class=GA|importance=High}} 86 | {{WikiProject Italy|class=GA|importance=High}} 87 | {{WikiProject Japan|class=GA |b1=yes|b2=yes|b3=yes|b4=yes|b5=yes|b6=yes |history=yes |importance=high |milhist=yes}} 88 | {{WikiProject Moldova|class=GA|importance=Top}} 89 | {{WikiProject Netherlands|class=GA}} 90 | {{WikiProject New Zealand|class=GA|importance=Top}} 91 | {{WikiProject Poland|class=GA|importance=Top}} 92 | {{WikiProject Russia|class=GA|importance=top|mil=yes|hist=yes}} 93 | {{WikiProject Serbia|class=GA|importance=High}} 94 | {{WikiProject Silesia|class=GA|importance=High}} 95 | {{WikiProject Slovakia|class=GA|importance=High}} 96 | {{WikiProject Slovenia|class=GA|importance=High}} 97 | {{WikiProject Soviet Union|class=GA|importance=top}} 98 | {{WikiProject United Kingdom|class=GA|importance=High}} 99 | {{WikiProject United States|class=GA|importance=Top|USMIL=Yes|portal1-name=United States|portal1-link=Selected article/15}} 100 | {{WikiProject Vietnam|class=GA|importance=High}} 101 | {{WikiProject Zimbabwe|class=GA|importance=Mid|Rhodesia=y|Rhodesia-importance=High}} 102 | {{WP1.0|v0.5=pass|class=GA|category=History|VA=yes|coresup=yes|WPCD=yes|importance=Top}} 103 | }} 104 | {{Outline of knowledge coverage|World War II}} 105 | {{Medcabbox|2008-06-13_World_War_II|closed}} 106 | {{-}} 107 | {{User:HBC Archive Indexerbot/OptIn |target=Talk:World War II/Archive Index |mask=Talk:World War II/Archive <#> |mask1=Talk:World War II/Archive Combatants|mask2=Talk:World War II/Archive Combatants 2|mask3=Talk:World War II/Archive Length|mask4=Talk:World War II/Archive Photos|mask5=Talk:World War II/Archive Casus Belli|mask6=Talk:World War II/Archive Start date|mask7=Talk:World War II/Infobox|mask8=Talk:World War II/Infobox/Archive <#> |leading_zeros=0 |indexhere=yes}} 108 | {{archives |auto=no |search=yes |bot=MiszaBot I |age=3 |units=month |index=/Archive Index |editbox=no| 109 |
110 | ;Chronological archives
111 | 2004-2005: [[Talk:World War II/Archive 1|1]], [[Talk:World War II/Archive 2|2]], [[Talk:World War II/Archive 3|3]], [[Talk:World War II/Archive 4|4]], [[Talk:World War II/Archive 5|5]], [[Talk:World War II/Archive 6|6]], [[Talk:World War II/Archive 7|7]], [[Talk:World War II/Archive 8|8]]
112 | 2006: [[Talk:World War II/Archive 9|9]], [[Talk:World War II/Archive 10|10]], [[Talk:World War II/Archive 11|11]], [[Talk:World War II/Archive 12|12]], [[Talk:World War II/Archive 13|13]], [[Talk:World War II/Archive 14|14]], [[Talk:World War II/Archive 15|15]], [[Talk:World War II/Archive 16|16]], [[Talk:World War II/Archive 17|17]]
113 | 2007: [[Talk:World War II/Archive 18|18]], [[Talk:World War II/Archive 19|19]], [[Talk:World War II/Archive 20|20]], [[Talk:World War II/Archive 21|21]], [[Talk:World War II/Archive 22|22]], [[Talk:World War II/Archive 23|23]], [[Talk:World War II/Archive 24|24]], [[Talk:World War II/Archive 25|25]], [[Talk:World War II/Archive 26|26]], [[Talk:World War II/Archive 27|27]], [[Talk:World War II/Archive 28|28]]
114 | 2008: [[Talk:World War II/Archive 29|29]], [[Talk:World War II/Archive 30|30]]
115 | 2009: [[Talk:World War II/Archive 33|33]], [[Talk:World War II/Archive 34|34]], [[Talk:World War II/Archive 35|35]], [[:Talk:World War II/Archive 36|36]] [[:Talk:World War II/Archive 37|37]]
116 | 2010: [[:Talk:World War II/Archive 37|37]], [[Talk:World War II/Archive 38|38]], [[Talk:World War II/Archive 39|39]], [[Talk:World War II/Archive 40|40]], [[Talk:World War II/Archive 41|41]], [[Talk:World War II/Archive 42|42]], [[Talk:World War II/Archive 43|43]], [[Talk:World War II/Archive 44|44]]
117 | 2011: [[/Archive 45|45]], [[/Archive 46|46]]
118 | 2012: [[/Archive 47|47]], [[/Archive 48|48]]
119 | 2013: [[/Archive 49|49]]
120 | 2014-2015: [[/Archive 50|50]], [[/Archive 51|51]]
121 |
122 | ;Topical archives
123 | Combatants: [[Talk:World War II/Archive Combatants|Archive 1 (2006)]], [[Talk:World War II/Archive Combatants 2|Archive 2 (2007)]]
124 | [[Talk:World War II/Archive Length|Article Length]], [[Talk:World War II/Archive Photos|Photos]], [[Talk:World War II/Archive Casus Belli|Casus Belli]], [[Talk:World War II/Infobox|Infobox]], [[Talk:World War II/Archive Start date|Start date]]}} 125 | {{User:MiszaBot/config 126 | |archiveheader = {{Automatic archive navigator}} 127 | |maxarchivesize = 200K 128 | |counter = 51 129 | |minthreadsleft = 4 130 | |algo = old(90d) 131 | |archive = Talk:World War II/Archive %(counter)d 132 | }} 133 | __TOC__ 134 | 135 | == Pyrrhic victory == 136 | 137 | Some time ago I noticed through my watchlist that FilBox101 inserted 'pyrrhic' before 'victory' in the infobox. Later Alex Bakharev removed it. Can we get a consensus on this? Or has one already been reached? [[User:Green547|Green547]] ([[User talk:Green547|talk]]) 17:10, 15 July 2015 (UTC) 138 | 139 | : Why would the victory be [[pyrrhic victory|pyrrhic]]. The phrase pyrrhic victory is, as far as I know, generally reserved for a situation where a battle (or war) has lead to such devastating losses at the side of the victor, that another battle with the same enemy would almost certainly result in a decisive defeat of the earlier victor. By the end of WWII this is definitely not the case as the US-UK-USSR(and other allied) armies could easily crush any army fielded by either Germany or Japan (or any other Axis nation). [[User:Arnoutf|Arnoutf]] ([[User talk:Arnoutf|talk]]) 17:46, 15 July 2015 (UTC) 140 | 141 | ::Well [[User:FilBox101]]'s edit summary was 'due to the massive number of casualties' and definitely it was a massive number of losses. I'd like to see his POV on this before moving ahead. [[User:Green547|Green547]] ([[User talk:Green547|talk]]) 18:03, 15 July 2015 (UTC) 142 | 143 | :::Probably none of the parties would be able to field the same power as they had in the field in 1940. But since there were no powers in the world at that time who could, that does not make it a Pyrrhic victory - a victory with so much casualties it would lead to almost certain loss if the ongoing war would continue from the status quo '''after''' the victory. If we redefine Pyrrhic victory to fit the outcome of WWII almost all major wars would have ended in a Pyrrhic victory. E.g. the outcome of the Napoleontic war would also be Pyrrhic (Wellington would not have been able to confront the Grande Armee immediately after Waterloo -- But that was a non-issue as Napoleon already lost that army in his ill-fated Russian campaign). Similarly the French would probably not have been able to withstand the original 1914 German attack in 1918, however the Germans were not able to execute that attack anymore in 1918. 144 | 145 | :::But I am interested in [[User:FilBox101]] detailed arguments why this would be a Pyrrhic victory as well [[User:Arnoutf|Arnoutf]] ([[User talk:Arnoutf|talk]]) 19:50, 15 July 2015 (UTC) 146 | 147 | ::::Yes, I was going through that sort of arguments in my head, but I think the number of casualties and resources expended is relevant also. Pyrrhic victory could simply mean a victory won at a terrible cost. We need his imput on this. Cheers, [[User:Green547|Green547]] ([[User talk:Green547|talk]]) 21:07, 15 July 2015 (UTC) 148 | :::::In a summary like an infobox, when a qualifier such as Pyrrhic is at all debatable....then it should be left out. An editors opinion on it is not RS'd. Only if the consensus of mainstream historians employ it..should it ever be considered. [[User:JuanRiley|Juan Riley]] ([[User talk:JuanRiley|talk]]) 22:51, 15 July 2015 (UTC) 149 | 150 | ::::::I, too, have not seen "pyrrhic victory" applied to World War II, and find it inappropriate. Perhaps it's the huge Russian losses that make that term seem suitable, but a pyrrhic victory is appropriate when the defeated has inherently greater resources and can eventually win a war of attrition. The Axis had no such reserve strength against the Allies. [[User:Dhtwiki|Dhtwiki]] ([[User talk:Dhtwiki|talk]]) 10:56, 16 July 2015 (UTC) 151 | 152 | :::::::I've also never seen any source describe World War II as a "Pyrrhic victory" or similar for the Allies. It's hard to see how that would be the case given that the Allies completely defeated the Axis powers and then went on to dominate the post-war world. [[User:Nick-D|Nick-D]] ([[User talk:Nick-D|talk]]) 11:56, 16 July 2015 (UTC) 153 | 154 | ::::::::WW2 was certainly a pyrrhic victory for Britain and France as the two countries were completely destroyed. ([[User:Dredernely|Dredernely]] ([[User talk:Dredernely|talk]]) 02:14, 21 July 2015 (UTC)) Striking out comment from sockpuppet of banned editor HarveyCarter. [[User:Binksternet|Binksternet]] ([[User talk:Binksternet|talk]]) 14:51, 5 August 2015 (UTC) 155 | 156 | :::::::::But being completely destroyed after being victorious is not necessarily a Pyrrhic victory - a Pyrrhic victory means that after such a victory the next battle to the same enemy is almost certainly lost. While Britain was very much damaged, Germany could not have fielded an army with any hopes of defeating Britain in mid 1945 (as Germany was even more damaged at the time). Therefor it was not a Pyrrhic victory. 157 | 158 | :::::::::In the larger scope of things WWII did result in the folding of the European colonial empires (not only British and French but also Dutch, Italian and German). So if we consider WWII as an episode in ongoing [[colonial war]]s it may be construed as a Pyrrhic victory. However that construal would be [[WP:OR|original research]]; and in any case be beyond the current article. [[User:Arnoutf|Arnoutf]] ([[User talk:Arnoutf|talk]]) 10:25, 28 July 2015 (UTC) 159 | 160 | ::::::::::Two of the major parties emerged from the war with not only stronger armies, but with greater world power. Neither the USSR nor the USA were prepared to fight in the beginning. Both developed their militaries during the war and were stronger in 1945 than they were in 1940. The USSR took vast losses. The USSR's army was stronger at the end than at the beginning. That's not Pyrrhic in the slightest. Yes, Europe lost colonial empires but that took place for decades after the war, due the rise of the new powers that be, and only indirectly due to the war itself. Germany's motivation was to build an empire within Europe, not to simply take over colonies, so that makes it an existential war for Europe, not a colonial one. Western Europe was then rebuilt under the Marshall Plan, money provided by one of their wartime allies. A Pyrrhic victory means you win the battle but lose the war. Yes, England, the Netherlands, Belgium and France, etc., lost influence and colonies, but they emerged nationally intact, were rebuilt with the assistance of a wartime ally (and were able to build a beneficial international alliance that did not exist pre-war), and were not subsumed into a Thousand Year Reich, so it's a vast stretch of the imagination to say the Allies won the battle and lost the war. Poland could make the argument they won the battle but lost the war, but I'm really not sure any other country could.[[Special:Contributions/71.160.33.132|71.160.33.132]] ([[User talk:71.160.33.132|talk]]) 19:26, 23 September 2015 (UTC) 161 | 162 | == Maps == 163 | 164 | Reverted an edit that included maps of Colonies after WWII and Division of Czechoslovakia. The colonies map is a bit out of place, the war did not cause the loss of the colonial empires, this occurred in the 1960s, so the war itself did not have a great impact on colonial politics, to include the map in the Aftermath section is a bit premature for the events it tries to address. As for the Divisions of Czechoslovakia, it's a legitimate fit, but since we have an image of the Munich conference the item is highlighted in the section already. Lets avoid excessive mapping, we can add a map for everything — annexations of Austria, partition of Poland, invasion of Finland, annexation of the Baltic states and so on… --[[User:E-960|E-960]] ([[User talk:E-960|talk]]) 18:10, 26 September 2015 (UTC) 165 | 166 | :Regarding to this edit [https://en.wikipedia.org/w/index.php?title=World_War_II&diff=682876897&oldid=682873180]... Czechoslovakia was actually the first real victim of Nazi German aggression (the vast majority of Austrians welcomed the Anschluss). Its territory was divided among Germany, Hungary, Poland and the puppet Slovak state. The map shows two waves of annexations (1938–1939). 167 | 168 | :The Japanese victories over the Western powers in Asia between 1941 and 1943 (and German victories in Europe and North Africa) showed Indians, Indonesians, Vietnamese, Burmese, Arabs and other colonized nations that the colonial powers were not invincible. War had done terrible damage to their prestige. World War II left colonial powers like Britain, France and Netherlands weakened, unable to sustain their empires. ... Vietnam declared independence under Ho Chi Minh in 1945, but France continued to rule until its 1954 defeat. Indonesia under Sukarno fought a war of independence from the Netherlands from 1945 to 1949. There was a rapid wave of decolonization in the two decades following World War II. 169 | 170 | :Dates of independence of Asian and African countries: Philippines (1946), Syria (1946), Jordan (1946), India (1947), Pakistan (1947), Burma (1948), Ceylon (1948), Laos (1949), Indonesia (1949), Eritrea (1951), Libya (1951), Cambodia (1953), Vietnam (1954), Sudan (1956), Morocco (1956), Tunisia (1956), Ghana (1957), Malaysia (1957), Guinea (1958) ... -- [[User:Tobby72|Tobby72]] ([[User talk:Tobby72|talk]]) 08:03, 27 September 2015 (UTC) 171 | 172 | ::Yes, you are correct, after WWII European powers did began to lose grip on their colonies, but the bulk of the breakaways happened in the 1960s. Generally, it is the [[Suez Crisis]] which marks the fall of the British and French colonial power. ''"The Suez crisis is widely believed to have contributed significantly to Britain's decline as a world power."'' [https://en.wikipedia.org/wiki/Suez_Crisis]. As for the Division of Czechoslovakia, it's a legitimate item, but do we really need that map in a crowded section, If anything you could add a map of the partition of Poland this is when the "shooting" war started in Europe. My recommendation is not to over do it with the maps. --[[User:E-960|E-960]] ([[User talk:E-960|talk]]) 10:57, 27 September 2015 (UTC) 173 | ::*Sorry, one more thing, I think that the one map that should be added to the page is for the [[North Africa Campaign]], we have maps for the war in Europe and Asia, but nothing that shows the fighting in North Africa. --[[User:E-960|E-960]] ([[User talk:E-960|talk]]) 11:05, 27 September 2015 (UTC) 174 | 175 | :While after WWII the European began to lose their grip power, the two great power nation United States and Soviet Union appeared to engage an gobal [[Cold War]] until the year 1990-1991 the Soviet Union have finally disintegration and became now the country of Russia. [[User:SA 13 Bro|SA 13 Bro]] ([[User talk:SA 13 Bro|talk]]) 22:27, 21 October 2015 (UTC) 176 | 177 | == Pearl Harbor attack during World War Two == 178 | 179 | Why Japanese Fascist want to make an perfect surprise attack in Hawaii during World War Two??? [[User:SA 13 Bro|SA 13 Bro]] ([[User talk:SA 13 Bro|talk]]) 16:42, 7 October 2015 (UTC) 180 | 181 | == France, Charles de Gaulle Main Allied Power == 182 | 183 | France is currently not under the Main Allied Leaders section on the right hand column. I would argue that due to its inclusion in the United Nations as a veto power holding, permanant member of the Security Council, and the fact that it had regional influence zones in Germany and Austria after the war was over; it was and still should be considered a main Allied Power with General Charles de Gaulle labelled as its main commander. — Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[Special:Contributions/2602:306:CD9A:7340:40B9:BC9D:29B0:CE72|2602:306:CD9A:7340:40B9:BC9D:29B0:CE72]] ([[User talk:2602:306:CD9A:7340:40B9:BC9D:29B0:CE72|talk]]) 23:34, 11 November 2015 (UTC) 184 | 185 | :There have been several discussions on the importance of France and de Gaulle, and how they should be treated in this article. Have you read the archives to see whether and how your concerns have been addressed? [[User:Dhtwiki|Dhtwiki]] ([[User talk:Dhtwiki|talk]]) 07:41, 12 November 2015 (UTC) 186 | 187 | ==Battle of Britain clarification== 188 | The official start date for the [[Battle of Britain]] is 10 July 1940, when the [[Kanalkampf]] intensified, operating under directions for a blockade, not August as shown. During the battle air superiority became the main aim in hope that bombing could defeat Britain: it was also a precondition for the conditionally planned [[Operation Sealion]] invasion which was more a political counter than a credible invasion plan. Multiple sources support that, but the existing text is either outdated or wrong. It also gives extraordinary prominence to a little known speech by Halifax, when Churchill's [[This was their finest hour]] was the most famous of that period. 189 | 190 | This is the existing text: 191 | {{quote|On 19 July, Hitler again publicly offered to end the war, saying he had no desire to destroy the [[British Empire]]. The United Kingdom rejected this, with [[E. F. L. Wood, 1st Earl of Halifax|Lord Halifax]] responding "there was in his speech no suggestion that peace must be based on justice, no word of recognition that the other nations of Europe had any right to self‑determination ..."{{cite web|title= Major international events of 1940, with explanation|url= http://www.ibiblio.org/pha/events/1940.html|publisher= [[ibiblio]].org|accessdate= 15 May 2013}} 192 | 193 | Following this, Germany began an [[air superiority]] campaign over the United Kingdom (the [[Battle of Britain]]) to prepare for [[Operation Sealion|an invasion]].{{Harvnb|Kelly|Rees|Shuter|1998|p=38}}. The campaign failed, and the invasion plans were cancelled by September. Frustrated, and in part in response to repeated British air raids against Berlin, Germany began a strategic bombing offensive against British cities known as [[the Blitz]].[http://www.ibiblio.org/hyperwar/UN/UK/UK-Defence-UK/UK-DefenseOfUK-15.html The Battle of Britain: The Last Phase] THE DEFENSE OF THE UNITED KINGDOM 1957 However, the air attacks largely failed to disrupt the British war effort.}} 194 | Here's a concise proposal, citing sources already in the references list: 195 | {{quote|What Churchill [[This was their finest hour|had already called]] the [[Battle of Britain]]{{harvnb|Keegan|1997|p=[http://books.google.com/books?id=TF8kcx9hTssC&pg=PA72 72]}} began in early July with [[Kanalkampf|Luftwaffe attacks on shipping and harbours]].{{harvnb | Murray | 1983 |loc=[http://www.ibiblio.org/hyperwar/AAF/AAF-Luftwaffe/AAF-Luftwaffe-2.html#cn70 The Battle of Britain]}} On 19 July, Hitler again publicly offered to end the war, saying he had no desire to destroy the [[British Empire]]. The United Kingdom rejected this ultimatum.{{cite web|title= Major international events of 1940, with explanation|url= http://www.ibiblio.org/pha/events/1940.html|publisher= [[ibiblio]].org|accessdate= 15 May 2013}} In August, the [[Adlertag|German air superiority campaign]] failed to defeat [[RAF Fighter Command]], and a [[Operation Sealion|proposed invasion]] was postponed indefinitely on 17 September. The German [[strategic bombing]] offensive intensified as night attacks on London and other cities in [[the Blitz]], but largely failed to disrupt the British war effort.}} 196 | That keeps mention of Hitler's "appeal to reason" speech which had been drafted by [[Joachim von Ribbentrop|von Ribbentrop]] as a peace offer, but by the time Hitler made the speech he'd decided on preparations for Operation Sealion and it came over as an ultimatum. Not so well known, and we could perhaps trim that if space is at a premium. . . [[User:Dave souza|dave souza]], [[User talk:Dave souza|talk]] 01:00, 14 November 2015 (UTC) 197 | 198 | :That new wording looks good to me (the current first para is of little value), but I'd suggest trimming "What Churchill [[This was their finest hour|had already called]]" from the start of the new para as the history of the term "Battle of Britain" isn't really necessary. [[User:Nick-D|Nick-D]] ([[User talk:Nick-D|talk]]) 01:01, 16 November 2015 (UTC) 199 | 200 | ::Looks like a considerable improvement to me. Good work. I would agree with Nick-D re "...had already...". Can I suggest adding "In August ''and September'' [or ''and early September''] the German air superiority...". This is both more accurate (IMO) and addresses the question which would arise from the proposed revision as it stands - if the Germans failed to defeat to the RAF in August, why did it take them until the second half of September to act on this. In fact they hoped right up to 15 September - realistically or not - that air superiority might be established. (Obviously I can supply references but I am hoping that this is common ground.) [[User:Gog the Mild|Gog the Mild]] ([[User talk:Gog the Mild|talk]]) 11:04, 16 November 2015 (UTC) 201 | :::Thanks, have boldly edited this in with modifications to address these points, as below. I think saying the air superiority campaign '''started''' in August leaves it open as when it failed. Hope that's ok, will be glad to see any further improvements deemed necessary. . . [[User:Dave souza|dave souza]], [[User talk:Dave souza|talk]] 21:59, 17 November 2015 (UTC) 202 | {{quote|The [[Battle of Britain]]{{harvnb|Keegan|1997|p=[http://books.google.com/books?id=TF8kcx9hTssC&pg=PA72 72]}} began in early July with [[Kanalkampf|Luftwaffe attacks on shipping and harbours]].{{harvnb | Murray | 1983 |loc=[http://www.ibiblio.org/hyperwar/AAF/AAF-Luftwaffe/AAF-Luftwaffe-2.html#cn70 The Battle of Britain]}} On 19 July, Hitler again publicly offered to end the war, saying he had no desire to destroy the [[British Empire]]. The United Kingdom rejected this ultimatum.{{cite web|title= Major international events of 1940, with explanation|url= http://www.ibiblio.org/pha/events/1940.html|publisher= [[ibiblio]].org|accessdate= 15 May 2013}} The main [[Adlertag|German air superiority campaign]] started in August but failed to defeat [[RAF Fighter Command]], and a [[Operation Sealion|proposed invasion]] was postponed indefinitely on 17 September. The German [[strategic bombing]] offensive intensified as night attacks on London and other cities in [[the Blitz]], but largely failed to disrupt the British war effort.}} 203 | 204 | {{reflist-talk}} 205 | 206 | == Antonescu == 207 | 208 | Hello, I have a proposal: How about you also put Marshal Ion Antonescu in the Axis leaders category? I mean, if you put the top 4 Allied leaders, you got to put the Top 4 Axis leaders too, right? And as far as I know, Antonescu was the leader of the 4th most important Axis country, and the third most important in Europe. That empty space below Mussolini just begs to be filled, and Antonescu is the most plausible candidate for that. 209 | 210 | [[User:Romanian-and-proud|Romanian-and-proud]] ([[User talk:Romanian-and-proud|talk]]) 17:37, 29 November 2015 (UTC) 211 | 212 | :The actual contribution of Romania to axis war effort seems to have been largely limited to the ill fated Stalingrad siege. Neither before, after, nor politically did Romania play a major role. So I see no reason to add Romanian leaders. (NB after considerable discussion it was decided not to add France, which (under the Gaulle) had an important contribution to allied success (at least politically). 213 | 214 | :Also note that sometimes the world is just asymmetrical - and the current list reflects that - so I do not see any empty spaces begging to be filled. [[User:Arnoutf|Arnoutf]] ([[User talk:Arnoutf|talk]]) 18:02, 29 November 2015 (UTC) 215 | 216 | No, you're wrong. We went to Crimea, and to the Caucasus. Don't group us with the Hungarians and the Italians, who simply stopped at Stalingrad. Unlike them, we went all the way! We played an important part in the Capture of Sevastopol and the overall fighting in the Crimea. When the Romanian 2nd Mountain Division occupied Nalchik in the Caucasus, was the most Eastern point reached by the Axis, at that moment at least. How is that not something major? Or us supplying over a third of the total Axis fuel, how is that not something major? Or us contributing a force larger than all Germany's allies combined, how is that not something major? Or German troops being under nominal Romanian command (the 11th Army under Antonescu as part of Army Group Antonescu at the start of Barbarossa and the 6th Army under Dumitrescu as part of Army Group Dumitrescu from April to August 1944. Check the list of Army Gropus if you don't believe me.). Also out of the 43 foreigners who were awarded the Knight's Cross of the Iron Cross, 18 were Romanians, and only 8 Italians! That means that our command was much better, at least according to the Germans. There was also the siege of Odessa. The only Soviet Hero City, and one of the original 4, that was captured by mainly a non-German Axis force, another major thing! It is understandable that you did not add France, since France did next to nothing compared to Romania. I dare say that not even Italy did as much as we did, and yet they still got a place among the commanders! It is a common mistake that, in a conflict, more credit to be inherently given to the Great Powers, even if there are non-Great Powers that had a greater impact. Think at Romania in the context of World War 2, not in the general, stereotypical context. I just gave you 6 strong reasons for us to be considered as playing a major role. And that was just scratching the surface. If you don't want to understand, and don't want to put the Romanian leader in his rightful, well deserved place, then I'm sorry, but you're just biased. 217 | 218 | [[User:Romanian-and-proud|Romanian-and-proud]] ([[User talk:Romanian-and-proud|talk]]) 19:34, 29 November 2015 (UTC) 219 | 220 | :The Italians acted in the African and European theatres of War during many operations; as did the Free French under the Gaulle. The Romanians seem to have been only heavily involved in operation Barbarossa (where much of their military power was lost). Also the Italians and French had some political power in global negotiations. 221 | 222 | :So unless you can bring up other operations besides Barbarossa with major Romanian forces involved (outside Europe), as well as major political influence on the global development of the war, I do not see how the Romanians were a major Axis power (both military (only during one operation) and global political (no evidence of that at all), during most of the war (since their involved started late and effectively ended with the losses during Barbarossa) [[User:Arnoutf|Arnoutf]] ([[User talk:Arnoutf|talk]]) 21:56, 29 November 2015 (UTC) 223 | 224 | The Italians often had massive casualties when fighting others. Hell, they made us seem like proffessional fighters! And give me a brake with political power, I'm talking about real merits here, as in action in the field, real, concrete stuff. And what you mean by "single operation"? We fought in Barbarossa, Case Blue, Stalingrad and subsequent Operations: (Crimean Offensive, Dneipr Carpathian Offensive and the 2 Jassy Kishinev Offensives). And we had 2 separate Armies with their own command, we were not attachments. Italy ceased it's fighting in the East in 1943 while we continued until 1944. Yes, they also had troops in Africa, but they were mostly under direct German command and as I said before didn't fare well enough to make Italy deserve the name of "major power". I don't say we fared better, oh wait, we did! The much greater number of German decorations for Romania proves it! 225 | But let's talk a bit about Antonescu himself, because he's that deserves to be there. Well, to begin with, he was the only foreigner that Hitler consulted on military matters (From this point of view alone we should be on top of Italy!) and was also the very first foreigner to be awarded the Knight's Cross of the Iron Cross (Not that potato-head Mussolini, another clear example of Romania under Antonescu being a major Axis Power!). Finally, you want to go to the politics huh? Well, after the invasion of Yugoslavia, Hitler wanted to give the Serbian Banat to Hungary. But Antonescu opposed and told Hitler to keep the Hungarian Army out of the Banat. And guess what? Hitler complied! Look, it doesn't matter that Hitler was the ruler of Germany and Antonescu was ruler of Romania. Their relationship was based first and above all on military virtue, and by that virtue, a flimsy Corporal like Hitler must obey a proven General like Antonescu. Plus that Antonescu is the Axis leader that met Hitler for the most times. As in yeah, more than Mussolini! Just please, give him and my country the place they deserve! I don't think I'm asking for too much, or for something that isn't normal. 226 | :Romania had very little influence on the Axis war strategy. We don't need to list Antonescu to create some kind of false balance: the Allies had the "[[Four Policemen|big four]]", and the Axis didn't. [[User:Nick-D|Nick-D]] ([[User talk:Nick-D|talk]]) 07:11, 30 November 2015 (UTC) 227 | 228 | You know what really bothers me? That some time ago, not only Antonescu, bu also Hungary's Horthy was among the Axis leaders! You could have added de Gaulle on the allied list and make much more people happy! But no, making things as simple and stereotypical as possible and disregarding the efforts of others was much more important than making more people happy! You just HAD to be ignorant assholes and delete Antonescu and Horthy, didn't you? And what do you mean by "very little influence"? It is because Romania that Hitler took Crimea, so our oil fields he relied on so much would not be in danger! You say we didn't have major influence? Well after we defected on 23 August, the war was shortened by as much as 6 months! In what universe does that not translate as major influence? In what universe? 229 | :Please, stop this non sense. [[User:Romanian-and-proud|Romanian-and-proud]], instead of trying to convince some editors, you should find in current historiography, and show us, the source of your assertions, that is some historian placing Antonescu and Horthy among the Axis leaders. [[User:Carlotm|Carlotm]] ([[User talk:Carlotm|talk]]) 08:56, 30 November 2015 (UTC) 230 | 231 | Nonsense?...Wow, do you have any idea just how hypocritical you sound right now? Everything that I said, all of my sources, come from the Wiki itself. I used in my arguments only what I found on the Wiki articles, and I can give you a list of those articles if you don't believe me. You don't trust the Wiki sources? Well no wonder, as long as the Wiki is run by ignorant, stereotypical people that refuse to give other countries the place they deserve, and stereotypically put the Great Powers above them, even if they don't deserve it. 232 | But I guess it's useless to continue this though, I obviously can't get you to think outside the box, so I'll just leave it like that. But it's sad, you people need to change, to open up...Meanwhile, I will never doubt the place of my country. I know who we are, what we did and what we deserve, and I will never cease to defend what rightfully is Romania's. LONG LIVE THE GREAT ROMANIA! 233 | 234 | [[User:Romanian-and-proud|Romanian-and-proud]] ([[User talk:Romanian-and-proud|talk]]) 09:10, 30 November 2015 (UTC) 235 | 236 | :[[User:Romanian-and-proud|Romanian-and-proud]] you are violating about everything in a number of central Wikipedia policies. Notably [[WP:AGF|assume good faith]], [[WP:civil|civility]], [[WP:NPOV|neutral point of view]] and possibly [[WP:COI|conflict of interest]] the latter two strongly suggested by the ending shouted statement in your last post. Such behavior undermines, rather than strengthens the content of your posts and may even lead to sanctions. So stop that. 237 | 238 | :Content wise. I think Carlotm is a bit overly limited in their definition of leader. Yes Antonescu was an Axis leader. On the other hand, [[Charlotte, Grand Duchess of Luxembourg]] was an allied leader (as were [[Wilhelmina of the Netherlands]] and [[Leopold III of Belgium]]). Nobody suggests to add those. Some time ago we agreed to add only the most important leaders, those who, by today's mainstream historians are considered the key leaders. This is exactly the type of editorial decisions that Wikipedia MUST make to be a relevant tertiary source. 239 | 240 | :If you think Antonescu should be added, it is up to you to provide evidence that mainstream historian consensus list him as one the four Axis powers. If you cannot provide such evidence, you will not change current consensus and you should stop wasting everybody's time. [[User:Arnoutf|Arnoutf]] ([[User talk:Arnoutf|talk]]) 18:46, 30 November 2015 (UTC) 241 | 242 | Most "mainstream historians" are American, trying to get something from them that is not related to a Great Power is like trying to get fresh water from the Dead Sea. I just gave you enough reasons, if you actually bothered to read, for any reasonable, rational person to consider Antonescu as a main leader. Therefore, I consider that I did my part and now it's only up to you to understand. And all of those reasons, I took them from Wiki articles that I did not edit in any way, so if all those articles were according to "mainstream historians", then I see absolutely no problem, no reason to not add Antonescu. If not, then you are an immense hypocrite, because you ask me to provide for an article what maybe is not provided for all the articles I used as a source: [[Operation Munchen]] (Army Group Antonescu), [[Siege of Odessa]] and [[Hero City]], [[Crimean Campaign]] [[Siege of Sevastopol]], [[Case Blue]], [[Nalchik]], [[Crimean Offensive]], [[Dnieper–Carpathian Offensive]], [[Jassy-Kishinev Offensive]] (Army Group Dumitrescu), [[List of foreign recipients of the Knight's Cross of the Iron Cross]] and obviously, [[Ion Antonescu]], and many others. Look, I more than did my part, now it's time for you to do yours. And that's my final word on it. It's the National Day of my country, I got to watch the parade and feel good. Now goodbye to you. 243 | 244 | [[User:Romanian-and-proud|Romanian-and-proud]] ([[User talk:Romanian-and-proud|talk]]) 09:20, 1 December 2015 (UTC) 245 | 246 | :Thank for that flat out refusal to conform to one of the most central of all Wikipedia policies: [[WP:RS]]. You did your part and have not provided a single argument that passes the quality criteria of Wikipedia. I think we can close this as a clear case of no-consensus for change. [[User:Arnoutf|Arnoutf]] ([[User talk:Arnoutf|talk]]) 18:40, 1 December 2015 (UTC) 247 | 248 | == Greece at war with the Axis == 249 | Greece entered WWII in October 28th 1940, and was fighting the Axis until its capture by German forces in late April 1941. Since Greece was an ally of the UK, the following passage in the lead is incorrect: 250 |
For a year starting in late June 1940, the United Kingdom and the [[Commonwealth of Nations|British Commonwealth]] were the only Allied forces continuing the fight against the European Axis powers (...)
251 | [[User:Nxavar|Nxavar]] ([[User talk:Nxavar|talk]]) 18:53, 29 November 2015 (UTC) 252 | 253 | :As far as I know Greece was neutral until October 1940. So it would be a few months indeed; and Yugoslavia joined the allies after being invaded in April 1941. I guess the June 1941 allied entry would be Soviet Union. 254 | 255 | :We might perhaps rephrase as "For a year starting in late June 1940, the United Kingdom was the only Allied great power continuing the fight against the European Axis powers" or "From late June 1940 until the Soviet Union entry in the war, the United Kingdom and the British Commonwealth were the main Allied powers continuing the fight against the European Axis powers" [[User:Arnoutf|Arnoutf]] ([[User talk:Arnoutf|talk]]) 19:15, 29 November 2015 (UTC) 256 | 257 | ::Greece was a UK ally before entering the war. Saying that Greece was not a "main Allied power" is a bit biased. Greece held back the Italian invading forces for 5 and a half months. Because the situation was rather complicated, I believe it is a good idea to remove that passage altogether. [[User:Nxavar|Nxavar]] ([[User talk:Nxavar|talk]]) 21:27, 29 November 2015 (UTC) 258 | :::What about this:
For a year starting in late June 1940, the United Kingdom (........) as well as the long-running [[Battle of the Atlantic]]. However the war was spreading in the [[Balkans]] where the Germans decided to strengthen their positions ahead of [[Barbarossa]] and as a patch-up of the ill organized invasion of Greece by Mussolini Italy; hence Yugoslavia and Greece were heavily involved on the side of the Allied powers, having to defend their territory from overwhelming German forces, without success.
[[User:Carlotm|Carlotm]] ([[User talk:Carlotm|talk]]) 03:12, 30 November 2015 (UTC) 259 | 260 | ::::a) The edit preserves the wrong claim that is already in the lead. A good alternative should not contain false information. The problematic passage is not just inaccurate, in which case adding a clarification is an improvement. Greece must be included in the list of countries fighting the Axis in Europe in that period. 261 | 262 | ::::b) The edit does not say when Greece got involved in the conflict. The clarification is inadequate. [[User:Nxavar|Nxavar]] ([[User talk:Nxavar|talk]]) 08:32, 30 November 2015 (UTC) 263 | 264 | {{unindent}}Can we try 265 | 266 |
The United Kingdom and the British Commonwealth continued the fight against the European Axis powers in North Africa, the Horn of Africa, the aerial Battle of Britain and the Blitz bombing campaign, as well as the long-running Battle of the Atlantic. Early 1941 Axis forces conquered most of the allied [[Balkan Campaign (World War II)|Balkan countries]]. In June 1941, the European Axis powers launched an invasion of the Soviet Union, opening the largest land theatre of war in history, which trapped the major part of the Axis' military forces into a war of attrition. (...)
The Balkan campaign hyperlink provides the dates for Greece, Albania and Yugoslavia. [[User:Arnoutf|Arnoutf]] ([[User talk:Arnoutf|talk]]) 18:33, 30 November 2015 (UTC) 267 | 268 | :This is very good. The only problem is that "early 1941" must be changed to "mid 1941" (the Germans invaded Greece in April 1941). [[User:Nxavar|Nxavar]] ([[User talk:Nxavar|talk]]) 20:35, 30 November 2015 (UTC) 269 | 270 | ::Thanks. Happy with any suggestion for the early phrase. Perhaps "Between April and June 1941 Axis forces conquered..." [[User:Arnoutf|Arnoutf]] ([[User talk:Arnoutf|talk]]) 20:43, 30 November 2015 (UTC) 271 | :I suggest to mention China was the only country fighting with the Asian Axis power Japan in that period as well — Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[Special:Contributions/2604:2000:6b45:500:9978:3dfe:1cd6:a513|2604:2000:6b45:500:9978:3dfe:1cd6:a513]] 272 | :::{{ping|Arnoutf}} No problem with that. [[User:Nxavar|Nxavar]] ([[User talk:Nxavar|talk]]) 12:33, 1 December 2015 (UTC) 273 | 274 | ::::I suggest to implement the agreed changes. If the non-signing editor wants to discuss China status, I would suggest they start a new thread with a clear proposal how to adjust the text. [[User:Arnoutf|Arnoutf]] ([[User talk:Arnoutf|talk]]) 18:37, 1 December 2015 (UTC) 275 | :::::{{ping|Nxavar}} {{ping|Arnoutf}} I'm the previous non-signing editor. My ip address is too long (2604:2000:6b45:500:9978:3dfe:1cd6:a513). I suggest to mention China was the only country fighting with the Asian Axis power Japan in that period as well but I don't have a clear proposal how to adjust.— Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[Special:Contributions/2604:2000:6b45:500:9978:3dfe:1cd6:a513|2604:2000:6b45:500:9978:3dfe:1cd6:a513]] 276 | 277 | ::::::With Arnoutf's edit, no mention is made about someone fighting the Axis forces alone at some point. This had some sense when the list was (erroneously) short. I don't think this is appropriate anymore, because the lead should be short and making detailed accounts of secondary facts is discouraged. [[User:Nxavar|Nxavar]] ([[User talk:Nxavar|talk]]) 13:50, 3 December 2015 (UTC) 278 | :::::::{{ping|Nxavar}} I mean I just propose a simple mention the fact that the war between Japan and China was still continued in that time. I never asked for a detailed accounts. It just needs a short sentence or even just some words (5 or 6 words). However, this is just my suggestion. I don't have the right to determine which is primary or secondary. By previous non-signing editor 279 | 280 | == The addition of war generals under Allied and Axis leaders == 281 | 282 | Because generals in WWII were the ones commanding infantry, it might be desirable to add these generals to the infobox along with the heads of state of governments involved in the war. This would be useful for students researching WWII. Should we add them? [[User:CatcherStorm|The StormCatcher]] [[User talk:CatcherStorm|(talk)]] [[Special:Contributions/CatcherStorm|(contribs)]] 06:59, 2 December 2015 (UTC) 283 | :I don't think so - very large numbers would need to be added, and this wouldn't be helpful to readers. The political leaders were the key figures in the governments of the countries. [[User:Nick-D|Nick-D]] ([[User talk:Nick-D|talk]]) 08:03, 2 December 2015 (UTC) 284 | 285 | ::Sounds like an excellent idea. Please start with adding the essential generals [[Henri Winkelman]] and [[Godfried van Voorst tot Voorst]] ;-) 286 | 287 | ::But no kidding, the list would be incredibly long even if we limited ourselves to four star generals (such as aforementioned Winkelman) who generally did NOT command infantry but considerably larger units (i.e. an army). [[User:Arnoutf|Arnoutf]] ([[User talk:Arnoutf|talk]]) 18:13, 2 December 2015 (UTC) 288 | 289 | :::{{ping|Nick-D}} We would only add the most substantial and notable generals like [[Dwight D. Eisenhower]], [[Georgy Zhukov]], and [[Erwin Rommel]]. [[User:CatcherStorm|The StormCatcher]] [[User talk:CatcherStorm|(talk)]] [[Special:Contributions/CatcherStorm|(contribs)]] 21:00, 2 December 2015 (UTC) 290 | 291 | ::::And who would decide who are substantial and notable generals. Henri Winkelman was commander in chief of all armed forces of a country so definitely notable and substantial, in fact (arguably) a more substantial general than either, Zhukov, Rommel, Eisenhower or Montgomery who never were commander in chief of all armed forces of a country (during WWII). 292 | 293 | ::::And no, of course Winkelman should not be listed, the example illustrates the potentially endless POV discussions we would get into if we go this way. [[User:Arnoutf|Arnoutf]] ([[User talk:Arnoutf|talk]]) 21:12, 2 December 2015 (UTC) 294 | 295 | ::::Should be limited to basically heads of state. Separate articles can list for battles or theaters the generals. [[User:JuanRiley|Juan Riley ]] ([[User talk:JuanRiley|talk]]) 21:16, 2 December 2015 (UTC) 296 | 297 | == Hideki Tojo == 298 | 299 | I tried adding him to the list of main Axis leaders but it was reverted and I was told to start a discussion here. I think he should be added because he was responsible for most Japanese military operations including Pearl Harbor which started the war between the US and Japan in the first place. He was also the one convicted of war crimes after the war instead of Hirohito. Hirohito should also be kept in the list, but I feel Tojo should also be added too. What do you think? [[User:CatcherStorm|The StormCatcher]] [[User talk:CatcherStorm|(talk)]] [[Special:Contributions/CatcherStorm|(contribs)]] 300 | 301 | :*My understanding is that Hirohito is generally regarded by modern historians as having been the key figure in the Japanese government throughout the war - he's no longer regarded as having been a figurehead, and it's well known that he only escaped prosecution at the end of the war as the Allies were worried that doing so would lead to widespread unrest. The consensus from previous discussions has been to add the most important leader for the major combatants, and I think that's Hirohito. Tojo was certainly significant, but not as much as Hirohito was - especially as he resigned a bit over a year before the end of the conflict. [[User:Nick-D|Nick-D]] ([[User talk:Nick-D|talk]]) 07:31, 5 December 2015 (UTC) 302 | -------------------------------------------------------------------------------- /talk_samples/article/693870767.txt: -------------------------------------------------------------------------------- 1 | {{Talk header}} 2 | {{ITN talk|1 April|2014}} 3 | {{ITN talk|5 December|2015}} 4 | {{WikiProjectBannerShell|1= 5 | {{WikiProject Japan|class=B|importance=high| b1 = y 6 | | b2 = y 7 | | b3 = y 8 | | b4 = y 9 | | b5 = y 10 | | b6 = y|culture=y|food=y|history=y}} 11 | {{WikiProject Cetaceans|class=B|importance=high}} 12 | {{WikiProject Animal rights| class=B |importance=Top}} 13 | }} 14 | {{Archive box| 15 | * [[/Archive 1|1]], [[/Archive 2|2]] 16 | }} 17 | 18 | 19 | == Organized Whaling section neutrality == 20 | 21 | Checking the section in question, it looks like the wording is very loaded such as 22 | 23 | '''Domestically, Japanese people have been trying to shift responsibility of whale declines to whaling by other nations for hundreds of years to even today, and claim that their whaling have been completely different to that by other nations'''.[1] Claiming that their whaling were unlike '''brutal hunts by foreigners, but being humble and emotional, and Japanese people use all the parts of whale bodies unlike westerners who hunt whales only for oils, and Japanese strictly controlled catch quotas for sake of whales, and they never hunted juveniles and cow-calf pairs as their respects to whales'''. When they kill whales, hunters invoked the Budda and pray for the repose of whales' souls,[1] and they held funerals for whales and built cenotaphs and graves to them, and gave posthumous Buddhist names to the dead whales, or released deceased fetuses back to the sea after incising cows' bellies, and '''people of Japan were the best in the world about building healthy relationships with whales, being strongly connected with elitism, antiforeignism, and nationalism.'''[2][3] 24 | 25 | Are these quotations or something, and perhaps this section could be reworded? Seems to take a very cynical/hostile tone against Japanese whaling. Perhaps someone could look further into this. [[User:ZeroDamagePen|ZeroDamagePen]] ([[User talk:ZeroDamagePen|talk]]) 14:58, 16 October 2015 (UTC) — Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[User:ZeroDamagePen|ZeroDamagePen]] ([[User talk:ZeroDamagePen|talk]] • [[Special:Contributions/ZeroDamagePen|contribs]]) 15:40, 10 October 2015 (UTC) 26 | 27 | {{done}} Cleaned up the section, tried to remove POV wording, make it more neutral and more accurate, and added another reference. I haven't removed the "Neutrality Disputed" banner, so if you concur with the editing changes I've made, and the tone of neutrality is no longer in dispute, please feel free to remove the banner. - [[User:Boneyard90|Boneyard90]] ([[User talk:Boneyard90|talk]]) 14:06, 20 October 2015 (UTC) 28 | 29 | == Whalocaust returns to Japan. == 30 | 31 | The japanese high-seas fleet has decided to resume large scale whaling for the 2016 season, the corresponding article in now on the BBC News website: 32 | http://www.bbc.com/news/world-asia-34952538 [[Special:Contributions/82.131.150.14|82.131.150.14]] ([[User talk:82.131.150.14|talk]]) 16:33, 28 November 2015 (UTC) 33 | -------------------------------------------------------------------------------- /talk_samples/article/694061598.txt: -------------------------------------------------------------------------------- 1 | {{ArticleHistory 2 | |action1=GAN 3 | |action1date=22:11, 31 January 2014 4 | |action1link=Talk:A Contract with God/GA1 5 | |action1result=listed 6 | |action1oldid=593347303 7 | 8 | |action2=PR 9 | |action2date=2014-02-25, 10:30:26 10 | |action2link=Wikipedia:Peer review/A Contract with God/archive1 11 | |action2result=reviewed 12 | |action2oldid= 594150085 13 | 14 | |action3=FAC 15 | |action3date=07:30, 17 May 2014 16 | |action3link=Wikipedia:Featured article candidates/A Contract with God/archive1 17 | |action3result=promoted 18 | |action3oldid=609540185 19 | 20 | |currentstatus=FA 21 | |topic=Language and literature 22 | 23 | |maindate=6 December 2015 24 | }} 25 | 26 | {{WikiProject Comics 27 | |class = FA 28 | |importance = high}} 29 | 30 | == Publication date == 31 | 32 | Indicia of copies indicate the work was first copyrighted in 1978, and [http://www.willeisner.com/lib/index.html Eisner's webpage] also lists that as year of publication. However, some [http://www.google.com/search?q=%22A+Contract+with+God%22%2B1976 web sources] indicate a publication date of 1976, and [[Eddie Campbell|Eddie Campbell's]] ''Alec: How To Be An Artist'' gave the date as October of 1977. [[User:Hiding|Hiding]] 09:16, 8 Jun 2005 (UTC) 33 | 34 | ==Move== 35 | 36 | I moved this page again to bring into line with the naming convention, since the work's full title is A Contract with God: And Other Tenement Stories. [[A Contract with God]] and [[A Contract With God]] both redirect here. [[User:Hiding|Hiding]] 09:06, 8 Jun 2005 (UTC) 37 | 38 | And I've put it back where Wikipedia naming conventions ''actually'' recommend it belongs. [[User:Tverbeek|Tverbeek]] 12:01, 8 Jun 2005 (UTC) 39 | 40 | == Jewish perspective content == 41 | 42 | Although I ain't really a scholar on Judaism myself, but I saw the comments on the WikiProject Judaism talk page, and as someone kind of interested in comics, decided to have a little look-see. 43 | 44 | The content is basically sound, and I personally have no reservations whatsoever about having individuals with mainstream literary credentials included in such articles. Having said that, I have some reservations about the exact content added. I am not myself sure, for instance, that the phrase "not a recognizably Jewish story" really adds much, because, honestly, I'm not sure that anyone ever said it was necessarily a "Jewish story," but maybe just a story about American Jews of a particular era, which isn't quite the same thing. A lot of the other content added also seems to deal primarily if not exclusively with the idea of Jewishness as well, and the same reservations more or less apply there - that they seem to be criticizing the story on its apparent lack of understanding of Judaism. Maybe I'm wrong, but I think maybe a lot of the possibly real people Eisner used as the basis for his characters might have been comparatively "devoid of Jewish learning or insight," and on that basis the material might accuraately represent them, even if Klingenstein finds it a disappointment. 45 | 46 | The idea that Hersh unrealistically struggles with basic Jewish teaching does seem to me to be potentially the most encyclopedic material included, because it is talking about the story itself as a story, rather than as a story from the Jewish perspective. I might revise the paragraph to start with that material, and then maybe edit down the other material to maybe saying something to the effect that the characters are presented as being what a possibly Jewish scholar? said are "devoid of Jewish learning and insight," with perhaps a few examples. But, again, the story is allegedly more or less autobiographical, and it could well be that the real people used as bases for the characters might not have been particularly well informed Jews themselves for all I know. Just a few ideas, anyway. [[User:John Carter|John Carter]] ([[User talk:John Carter|talk]]) 15:24, 17 March 2013 (UTC) 47 | 48 | :Thanks for your feedback. I'll try rearranging the paragraph along those lines. 49 | :As to the last point you made, I think that'd be fair to apply to the other characters in the book, but Hersh is depicted as particularly pious, and I think the criticism might come from that—that someone who was that religious wouldn't have struggled with such an (allegedly) elementary point. "Cookalein" is an autobiographical story, but "A Contract with God" is autobiographical only in the base situation, where both Hersh and Eisner lost their teenaged daughters. I think the idea is that Eisner channeled his feelings through Hersh, but the character of Hersh himself was not actually based on Eisner (who was born in the US, and, I get the feeling, was not devoutly Jewish(?) ). [[User:Curly Turkey|Curly Turkey]] ([[User talk:Curly Turkey|gobble]]) 21:32, 17 March 2013 (UTC) 50 | ::I don't know much about Eisner's religious life - I think the editors at the Comics project probably know more. I know he dealt with other Jewish issues in his other late work, but it could be possible that he might not have been particularly religiously Jewish. Alternately, it might be that the New Yorkers he grew up around might not have been, and I personally think that the latter might be the more likely. For all I know, this particular episode might be based on one or more real situation Eisner knew of as a child, which he in some way "edited down" to the story. [[User:John Carter|John Carter]] ([[User talk:John Carter|talk]]) 22:16, 17 March 2013 (UTC) 51 | :::Right. Well, I guess this is why I was asking for help—I know little about the religious life, and much less about the religious lives of American Jews, so I wasn't confident if I was summing up the criticism adequately, or if I was giving it undue weight. I'll post something at WikiProject Comics. It looks like you've already posted there. [[User:Curly Turkey|Curly Turkey]] ([[User talk:Curly Turkey|gobble]]) 22:54, 17 March 2013 (UTC) 52 | :::I've rewritten refocused it, cutting it down to roughly half the length it was. [[User:Curly Turkey|Curly Turkey]] ([[User talk:Curly Turkey|gobble]]) 23:03, 17 March 2013 (UTC) 53 | :::::Schumacher, gives a lot of information about Eisner's relationship with Judaism. Neither he nor his parents seem to have been particularly religious. [[User talk:Maunus|User:Maunus ·ʍaunus·snunɐw·]] 00:24, 28 January 2014 (UTC) 54 | 55 | {{Talk:A Contract with God/GA1}} 56 | 57 | == Tellement truc unusité == 58 | 59 | Je recherche une liscense pour mes photos. Mes la photo en particulier est une photo de moi avec la lumière venant du soleil.Ou l"on peux voir une main de lumière me toucher le front. Puis je tombe sur cette pages mettant en lumière Le livres Contrat avec Dieu...... Bref sa m"étonne plus mais je devais marqué ce monent [[User:Ednozel|Ednozel]] ([[User talk:Ednozel|talk]]) 01:46, 6 December 2015 (UTC) 60 | 61 | == First "modern" graphic novel == 62 | 63 | I'd like to improve some misleading descriptions in the [[A_Contract_with_God#Reception_and_legacy|'''Reception and legacy''']] section. Namely, the first sentence: "''A Contract with God'' has frequently, though erroneously, been cited as the first graphic novel;...." The statement is both right and wrong, however the "wrong" part is missing. 64 | 65 | For example, [http://books.wwnorton.com/books/The-Contract-with-God-Trilogy/ W.W. Norton] explains pretty clearly that it ''was'', in fact, considered the first "modern graphic novel," which it contrasts with the then traditional "comic-book format." This fact is also noted in Paul Levitz's ''Will Eisner: Champion of the Graphic Novel'' (Abrams, 2015), where Levitz notes that Eisner's obituary in the ''NY Times'' described him as having "created ... the first modern graphic novel." So the key word missing is "modern," which makes it somewhat erroneous to say that the book was "erroneously" cited as being the "first graphic novel." Expanding that aspect would be useful. Thoughts? --[[User:Light show|Light show]] ([[User talk:Light show|talk]]) 21:29, 6 December 2015 (UTC) 66 | 67 | BTW, this is how Schumacher, who is cited throughout the article, explains the difference: 68 | {{quote|"Using this knowledge of publishing, Eisner created a book that didn't look like a comic book. It was the size of a trade paperback, had lettering on its spine, boasted a cover design that didn't scream 'children's book' to bookstore owners and librarians, and provided an interior that eschewed the panel-by-panel artistry typical of comic books." (p. 204) --[[User:Light show|Light show]] ([[User talk:Light show|talk]]) 21:44, 6 December 2015 (UTC)}} 69 | * {{ec}} I have to wonder what "modern" is supposed to mean in this context. There were books that were appearing in the few years before ''Contract'' that were advertised as graphic novels: aside from ''The First Kingdom'' in 1974, in 1976 there were ''[[Bloodstar]]'' and ''[[Chandler: Red Tide]]''. How "modern" is "modern"? Further muddying the waters is the fact the definition of the term "graphic novel" has never been set in stone, and in the 21st is getting closer and closer to be a synonym for "comics" in general. What does "modern graphic novel" mean in ''that'' context? [[User:Curly Turkey|Curly Turkey]] 🍁 [[User talk:Curly Turkey|''¡gobble!'']] 21:46, 6 December 2015 (UTC) 70 | -------------------------------------------------------------------------------- /talk_samples/user/687428034.txt: -------------------------------------------------------------------------------- 1 | This user is blocked... 2 | 3 | == Welcome! == 4 | Hello, New User Person, and welcome to Wikipedia! Thank you for [[Special:Contributions/New User Person|your contributions]]. I hope you like the place and decide to stay. Here are a few links to pages you might find helpful: 5 | * [[Wikipedia:Introduction|Introduction]] and [[Help:Getting started|Getting started]] 6 | * [[Wikipedia:Contributing to Wikipedia|Contributing to Wikipedia]] 7 | * [[Wikipedia:Five pillars|The five pillars of Wikipedia]] 8 | * [[Help:Editing|How to edit a page]] and [[Wikipedia:Article development|How to develop articles]] 9 | * [[Wikipedia:Your first article|How to create your first article]] 10 | * [[Wikipedia:Simplified Manual of Style|Simplified Manual of Style]] 11 | 12 | You may also want to take the [[Wikipedia:The Wikipedia Adventure|Wikipedia Adventure]], an interactive tour that will help you learn the basics of editing Wikipedia. You can visit [[WP:Teahouse|The Teahouse]] to ask questions or seek help. 13 | 14 | Please remember to [[Wikipedia:Signatures|sign]] your messages on [[Help:Using talk pages|talk page]]s by typing four [[tilde]]s (~~~~); this will automatically insert your username and the date. If you need help, check out [[Wikipedia:Questions]], ask me on my talk page, or {{edit|Special:MyTalk|click here|section=new|preload=Help:Contents/helpmepreload|preloadtitle=Help me!}} to ask for help on your talk page, and a volunteer should respond shortly. Again, welcome! [[User:Johnuniq|Johnuniq]] ([[User talk:Johnuniq|talk]]) 22:57, 25 September 2015 (UTC) 15 | 16 | ==Notification== 17 | {{Ivm|2=''This message contains important information about an administrative situation on Wikipedia. It does '''not''' imply any misconduct regarding your own contributions to date.'' 18 | 19 | '''Please carefully read this information:''' 20 | 21 | The Arbitration Committee has authorised [[Wikipedia:Arbitration Committee/Discretionary sanctions|discretionary sanctions]] to be used for pages regarding the [[September 11 attacks]], a topic which you have edited. The Committee's decision is [[Wikipedia:Requests for arbitration/September 11 conspiracy theories|here]]. 22 | 23 | Discretionary sanctions is a system of conduct regulation designed to minimize disruption to controversial topics. This means [[WP:INVOLVED|uninvolved]] administrators can impose sanctions for edits relating to the topic that do not adhere to the [[Wikipedia:Five pillars|purpose of Wikipedia]], our [[:Category:Wikipedia conduct policies|standards of behavior]], or relevant [[Wikipedia:List of policies|policies]]. Administrators may impose sanctions such as [[Wikipedia:Editing restrictions#Types of restrictions|editing restrictions]], [[Wikipedia:Banning policy#Types of bans|bans]], or [[WP:Blocking policy|blocks]]. This message is to notify you sanctions are authorised for the topic you are editing. Before continuing to edit this topic, please familiarise yourself with the discretionary sanctions system. Don't hesitate to contact me or another editor if you have any questions. 24 | }}{{Z33}} [[User:Johnuniq|Johnuniq]] ([[User talk:Johnuniq|talk]]) 22:57, 25 September 2015 (UTC) 25 | 26 | == Wikipedia:Village pump (policy) == 27 | The [[Wikipedia:Village pump (policy)]] page is to discuss policy related issues, and should not be used to revive long-resolved 9/11 issues. If there is a new issue, please raise it at [[WP:FTN]] with a succinct comment, not a wall of text. [[User:Johnuniq|Johnuniq]] ([[User talk:Johnuniq|talk]]) 23:00, 25 September 2015 (UTC) 28 | :I see you didn't even bother to read the title of the section I posted. Otherwise you would realize that the subject of my post was a policy issue. [[User:New User Person|New User Person]] ([[User talk:New User Person#top|talk]]) 23:10, 25 September 2015 (UTC) 29 | 30 | ::Dress it up however you like, you are clearly arguing for undue weight for a fringe theory. [[User talk:HighInBC|HighInBC]] (was Chillum) 03:25, 26 September 2015 (UTC) 31 | 32 | @New User Person: Did you see the reply at [[Wikipedia talk:Arbitration/Requests#Semi-protected edit request on 25 September 2015]]? You should be able to make a request if wanted, but my suggestion would be prepare a draft of what you want to say first. You could create [[User:New User Person/sandbox]] which is your standard sandbox with points that you intend to raise. However, if it concerns any aspect of [[September 11, 2001 attacks]], please review the [[WP:ARB911|previous case]] first. The first few paragraphs there have links to the evidence, workshop, and proposed decision pages. The findings there seem innocuous and might be hard for a new editor to interpret since they appear to say nothing more than the obvious fact that everyone should be nice. However, that is standard wording, and what it really means is that people do not have to repeat old arguments—instead, a quick consensus can agree on whether a proposed change is desirable, and anyone attempting to override established procedures would be subject to sanctions. The discussion at [[Wikipedia:Village pump (policy)#This page (9/11 conspiracy theories) violates the Wikipedia Five Pillars]] will not lead to anything because there is no actionable proposal that I can see. Instead, if some change were wanted, say at [[9/11 conspiracy theories]], a proposal should be made at its talk page. Disagreements about sources are discussed at [[WP:RSN]], and disagreements about what is neutral are discussed at [[WP:NPOVN]]. Question about the treatment of something claimed to be a conspiracy theory should be at [[WP:FTN]]. [[User:Johnuniq|Johnuniq]] ([[User talk:Johnuniq|talk]]) 03:42, 26 September 2015 (UTC) 33 | :There are '''no''' comments as such on the mentioned arbitration page above. Also, I have already tried to add this discussion to the 9/11 conspiracies talk page, but it was erased by a Wikipedia user there that feels his opinion has a higher validity than my own. I know I didn't mention that earlier, but trust me, I tried. This conversation isn't only related to the 9/11 conspiracies page, per se. I only used the 9/11 conspiracies page to make the basis of my point. The same exact point could be made off of a basis of Project Echelon, Project MK-Ultra, and the assassination of John F. Kennedy. [[User:New User Person|New User Person]] ([[User talk:New User Person#top|talk]]) 03:49, 26 September 2015 (UTC) 34 | ::I see there were some recent edits at [[Talk:9/11 conspiracy theories]] where a very long post from three years ago was copied from the archive to talk, followed by another non-actionable comment. Suppose that instead of removing the text, other editors had said, "yes, I fully agree"—that would be pointless because what is needed is agreement about a proposal to change text in the article. It's only changes to articles that matter. The editors joining in at Village pump (policy) should know that the discussion is pointless, but a certain amount of shooting the breeze is reasonable on the village pump pages. [[User:Johnuniq|Johnuniq]] ([[User talk:Johnuniq|talk]]) 06:33, 26 September 2015 (UTC) 35 | 36 | == FIX IT == 37 | MAYBE IF YOU WOULD FIX IT, THE LISTS ARE NOT SORTABLE YOU RETARDED MORONS — Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[Special:Contributions/73.232.126.13|73.232.126.13]] ([[User talk:73.232.126.13|talk]]) 05:12, 28 September 2015 (UTC) 38 | 39 | I AM NOT VANDALIZING. FIX THE PROBLEM YOU MORON! THE LISTS ARE NOT ACTUALLY SORTABLE! — Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[Special:Contributions/73.232.126.13|73.232.126.13]] ([[User talk:73.232.126.13|talk]]) 05:18, 28 September 2015 (UTC) 40 | 41 | == How does posting pictures to pages work? == 42 | 43 | {{tl|Help me}} 44 | Hello. I was wondering what the correct format for adding photos to Wikipedia pages is. Thanks. 45 | [[User:New User Person|New User Person]] ([[User talk:New User Person#top|talk]]) 16:33, 29 September 2015 (UTC) 46 | :Try [[Wikipedia:Picture tutorial]] and see if it explains the process well enough. If you have any other questions, feel free to ask. --[[User:Jayron32|Jayron]][[User talk:Jayron32|''32'']] 16:36, 29 September 2015 (UTC) 47 | ::Ok, thank you [[User:Jayron32|Jayron32]]. [[User:New User Person|New User Person]] ([[User talk:New User Person#top|talk]]) 16:38, 29 September 2015 (UTC) 48 | 49 | == Today's edits == 50 | Hi there, 51 | Just in response to your previous message, I have discussed this on the talk page of the previous article to it. My edit was inline with numerous discussions that had been had surrounding a stand format/criteria to election info boxes as they are a summary, they are not there to give a breakdown of the whole result which is what the previous revision did, which is effectively duplicating the full results table below, a violation of wikipedia policy on duplication [[Special:Contributions/2.98.38.127|2.98.38.127]] ([[User talk:2.98.38.127|talk]]) 19:20, 29 September 2015 (UTC) 52 | :I didn't see a resolution to the discussion, however. So therefore your changes hasn't been reached by consensus, and will continue to be reverted. [[User:New User Person|New User Person]] ([[User talk:New User Person#top|talk]]) 19:22, 29 September 2015 (UTC) 53 | 54 | == Spamming == 55 | Stop spamming my user talk page, thank you
56 | [[Special:Contributions/95.114.225.100|95.114.225.100]] ([[User talk:95.114.225.100|talk]]) 21:21, 29 September 2015 (UTC) 57 | :Hello, I'm not 'spamming' your page. Please stop deleting the templates that were added to your talk page. Thank you. [[User:New User Person|New User Person]] ([[User talk:New User Person#top|talk]]) 21:23, 29 September 2015 (UTC) 58 | ::Spam is unsolicited BS, specially when it is sent at a high rate, in high quantity and against the recipient's will. So by definition yes, you are spamming my user talk page. Please stop it, it's childish. [[Special:Contributions/95.114.225.100|95.114.225.100]] ([[User talk:95.114.225.100|talk]]) 21:40, 29 September 2015 (UTC) 59 | 60 | *New User Person, the IP is entitled to remove posts from their talkpage, and you are ''not'' entitled to put them back. Please stop. See [[WP:BLANKING]] and [[Wikipedia:Don't restore removed comments|Don't restore removed comments]]. [[User:Bishonen|Bishonen]] | [[User talk:Bishonen|talk]] 22:43, 29 September 2015 (UTC). 61 | ::I know, I'm sorry Bishonen. I thought it was the opposite. I've apologized to the IP user. [[User:New User Person|New User Person]] ([[User talk:New User Person#top|talk]]) 22:59, 29 September 2015 (UTC) 62 | 63 | == Teahouse talkback: you've got messages! == 64 | 65 | {{Wikipedia:Teahouse/Teahouse talkback|WP:Teahouse/Questions|Need more links template|ts=[[User:DESiegel|DES]] [[User talk:DESiegel|(talk)]] 21:14, 30 September 2015 (UTC)}} 66 | 67 | == He doesn't look the sort to take a hint. == 68 | 69 | I make a habit of keeping an eye on that. [[User:HalfShadow|'''Half''']][[User talk:HalfShadow|'''Shadow''']] 04:21, 1 October 2015 (UTC) 70 | :Tell me about it. Do you think I should put a notice on the ANI board? [[User:New User Person|New User Person]] ([[User talk:New User Person#top|talk]]) 04:22, 1 October 2015 (UTC) 71 | ::Already reported him to AIV after the third time. [[User:HalfShadow|'''Half''']][[User talk:HalfShadow|'''Shadow''']] 04:23, 1 October 2015 (UTC) 72 | :::Ok, then he'll be banned soon enough. [[User:New User Person|New User Person]] ([[User talk:New User Person#top|talk]]) 04:25, 1 October 2015 (UTC) 73 | 74 | == Stubs == 75 | 76 | Please take care not to waste other editors' time by adding {{tl|stub}} to an article which already has a specific stub tag as you did in [https://en.wikipedia.org/w/index.php?title=Qaraqan_Saatl%C4%B1&type=revision&diff=683340691&oldid=630053032 this edit]. Thanks. [[User:PamD|'''''Pam''''']][[User talk:PamD|'''''D''''']] 07:39, 1 October 2015 (UTC) 77 | 78 | == October 2015 == 79 | 80 | [[File:Nuvola apps important.svg|25px|alt=Warning icon]] Please stop your [[Wikipedia:Disruptive editing|disruptive editing]]. If you continue to [[Wikipedia:Vandalism|vandalize]] Wikipedia, you may be [[Wikipedia:Blocking policy|blocked from editing]]. [[Image:Stop hand nuvola.svg|30px|alt=Stop icon]] You may be '''[[Wikipedia:Blocking policy|blocked from editing]] without further warning''' the next time you [[Wikipedia:Vandalism|vandalize]] Wikipedia. Please do not replace Wikipedia pages with blank content{{#if:|, as you did to [[:{{{1}}}]]}}. Blank pages are harmful to Wikipedia because they have a tendency to confuse readers. If it is a duplicate article, please [[Wikipedia:Redirect|redirect]] it to an appropriate existing page. If the page has been [[Wikipedia:How to spot vandalism|vandalised]], please [[Wikipedia:How to revert a page to an earlier version|revert]] it to the last legitimate version. If you feel that the content of a page is inappropriate, please [[Wikipedia:How to edit a page|edit]] the page and replace it with appropriate content. If you believe there is no hope for the page, please see the [[Wikipedia:Deletion policy|deletion policy]] for how to proceed. 81 | [[File:Ambox warning pn.svg|25px|alt=|link=]] Please stop your [[Wikipedia:Disruptive editing|disruptive editing]]. Your edits have been [[Help:Reverting|reverted]] or removed. 82 | * If you are engaged in an article [[Wikipedia:Editing policy|content dispute]] with another editor, discuss the matter with the editor at their talk page, or the article's talk page. Alternatively you can read Wikipedia's [[WP:DISPUTE|dispute resolution]] page, and ask for independent help at one of the [[Wikipedia:Dispute resolution#Ask for help at a relevant noticeboard|relevant notice boards]]. 83 | * If you are engaged in any other form of dispute that is not covered on the dispute resolution page, seek assistance at Wikipedia's [[WP:ANI|Administrators' noticeboard/Incidents]]. 84 | Do not continue to make edits that appear disruptive until the dispute is resolved through [[Wikipedia:Consensus|consensus]]. Continuing to edit disruptively may result in your being [[Wikipedia:Blocking policy|blocked from editing]]. [[User:New User Person|New User Person]] 85 | 86 | 87 | [[Image:Stop hand nuvola.svg|30px|alt=Stop icon]] You may be '''[[Wikipedia:Blocking policy|blocked from editing]] without further warning''' the next time you [[Wikipedia:Disruptive editing|disrupt]] Wikipedia. 88 | 89 | Please do not drive-by through Wikipedia just to blank articles without giving good reason or citations why. I am sorry sir, but you are not showing good faith in preserving the quality of Wikipedia articles. — Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[Special:Contributions/38.95.108.244|38.95.108.244]] ([[User talk:38.95.108.244|talk]]) 08:20, 1 October 2015 (UTC) 90 | :Your article was deleted because 'Afraid I have to support the other user's stubification. it's 10k of text without even one single reliable source'. There was also three other editors reverting your disruptive edits to [[Female-led relationship]]. Also, please sign your posts with four tildes (~). Thanks. [[User:New User Person|New User Person]] ([[User talk:New User Person#top|talk]]) 08:24, 1 October 2015 (UTC) 91 | 92 | == Blocked == 93 | 94 | You appear to be here solely to express wrongteous anger and "correct" fact into conspiracist nonsense. This is obviously not your original or main account, you display far too much familiarity with process and the individuals with whom you are in dispute. If your original account is blocked, ask for unblock there. If it's not, use it. [[User Talk:JzG|Guy]] ([[User:JzG/help|Help!]]) 17:17, 2 October 2015 (UTC) 95 | :{{ping|JzG}} Am I missing something here? Most, if not all, of this user's contributions appear to be helpful, reverting vandalism and the like. I don't see any connection to contentious articles. [[User:Clpo13|clpo13]]([[User_talk:Clpo13|talk]]) 17:45, 2 October 2015 (UTC) 96 | :: [https://en.wikipedia.org/w/index.php?title=Wikipedia:Village_pump_(policy)&diff=prev&oldid=682771891 Start here] and work both forwards and [https://en.wikipedia.org/w/index.php?title=User_talk:2602:304:CDC0:C1E0:40:ABDB:49A7:D90C&diff=prev&oldid=682756812 back]. This user is apparently a Truther. [[User Talk:JzG|Guy]] ([[User:JzG/help|Help!]]) 20:04, 2 October 2015 (UTC) 97 | :::Well, I stand corrected. Sneaky. [[User:Clpo13|clpo13]]([[User_talk:Clpo13|talk]]) 22:48, 2 October 2015 (UTC) 98 | 99 | == Unblock Request == 100 | {{unblock reviewed | 1=I've already made the mistake of trying to debate 9/11, and neutrality. As you can see hereUNIQ--nowiki-00000011-QINU1UNIQ--nowiki-00000012-QINU, I've already had another editor explain to me that new editors should contribute to non-polarized articles, before editing or debating such controversial debates. I took his advise, deciding to steer clear of any controversial articles until I felt I was ready, and had an ample understanding of WikipediaUNIQ--nowiki-00000014-QINU2UNIQ--nowiki-00000015-QINU. I have tried to debate with editors over five years ago as an anonymous IP, which is why I am familiar with a few of the editors, and the process of Wikipedia. I don't agree with the explanation of 9/11, that much is clear. Is that really a good enough reason to ban an editor? Especially if said blocked editor is trying '''not''' to get involved in controversial articles? It says per [[WP:BLOCKDETERRENT]] that blocks are not justifiable, particularly if the actions have ceased. It also states per [[WP:NNH]] that, "Expressing unpopular opinions – even extremely unpopular opinions – in a non-disruptive manner" is not a justifiable reason to block an editor per [[WP:!HERE]]. [[User:New User Person|New User Person]] ([[User talk:New User Person#top|talk]]) 03:38, 3 October 2015 (UTC) | decline = So, you tell us that you have "tried to debate" since more than five years ago, and yet in that time you have still not learnt to do any better than the time-wasting crap you have come up with while using this account. Thanks for that information, as it takes away any faint trace of doubt there might otherwise have been: if after five years you have not improved, you are not likely to suddenly improve if you are blocked now. It is perfectly clear that your purpose here is inconsistent with the aims of Wikipedia. If you don't like those aims, and wish to promote your personal view of what an encyclopaedia should be like, you can set up one of your own. ''The editor who uses the pseudonym'' "[[User:JamesBWatson|JamesBWatson]]" ([[User talk:JamesBWatson#top|talk]]) 10:03, 3 October 2015 (UTC)}} 101 | 102 | :Well, it was worth trying. [[User:New User Person|New User Person]] ([[User talk:New User Person#top|talk]]) 16:33, 4 October 2015 (UTC) 103 | 104 | == Question for administrator == 105 | {{Admin help-helped}} 106 | Based on the decline of my unblock request, in which I can understand his views, I'm curious if this means I'm not eligible for the standard offer. - [[User:New User Person|New User Person]] ([[User talk:New User Person#top|talk]]) 21:24, 8 October 2015 (UTC) 107 | :I see no reason why you should not be eligible for the [[WP:Standard offer]], but this is not a guarantee that you will be unblocked. Read its terms carefully, particularly #2; in six months, come back, read the terms again, read the [[WP:Guide to appealing blocks]], and make an unblock request. [[User:JohnCD|JohnCD]] ([[User talk:JohnCD|talk]]) 21:34, 8 October 2015 (UTC) 108 | ::Thank you. [[User:New User Person|New User Person]] ([[User talk:New User Person#top|talk]]) 21:37, 8 October 2015 (UTC) 109 | 110 | == Unblock request #2 == 111 | {{unblock reviewed| reason=I am requesting, once again, to be unblocked. I was wrong to try and force my views on anyone else, and using the 9/11 conspiracy theories page as a battleground. There is nobody else to blame, but myself. This is my only account, I never sockpuppeted with other created accounts, just wanted to point that out. Any edits that I mentioned above was done as an IP. If I am allowed to be unblock, I promise that I will 112 | 113 | 1. Contribute to Wikipedia in a constructive manner by learning how to cite better, and make larger contributions to Wikipedia other than patrolling for vandalism. 114 | 2. Stay '''away''' from any 'conspiracy theory'-related articles and/or any other polarizing debates. [[User:New User Person|New User Person]] ([[User talk:New User Person#top|talk]]) 09:32, 24 October 2015 (UTC)|decline=The standard offer specifies an absence of six months, not six days. --[[User:Anthony Bradbury|'''Anthony Bradbury''']][[User talk:Anthony.bradbury|"talk"]] 11:08, 24 October 2015 (UTC)}} 115 | :{{u|Anthony Bradbury}}, I only made this second unblock request because I feel that the block is no longer necessary. I ceased the actions that caused me to be blocked a week before the block was implemented. I obviously understand what I did wrong, and why it lead to my block. I'm asking, please, just give me another chance. I'm not even sure where you are getting 'six days' from, as it's been 16 days since I've been blocked. [[User:New User Person|New User Person]] ([[User talk:New User Person#top|talk]]) 19:26, 24 October 2015 (UTC) 116 | ::Blocked on October 2nd, edited here on October 8th. --[[User:Anthony Bradbury|'''Anthony Bradbury''']][[User talk:Anthony.bradbury|"talk"]] 21:53, 24 October 2015 (UTC) 117 | :::Six days is correct, is it? It says herehttps://en.wikipedia.org/wiki/Category:Requests_for_unblock that the block was implemented 22 days ago. [[User:New User Person|New User Person]] ([[User talk:New User Person#top|talk]]) 22:30, 24 October 2015 (UTC) 118 | ::::Yes. that was October 2nd. You edited here on October 8th. And your point is?--[[User:Anthony Bradbury|'''Anthony Bradbury''']][[User talk:Anthony.bradbury|"talk"]] 14:57, 25 October 2015 (UTC) 119 | 120 | == Unblock Request #3 == 121 | 122 | {{unblock reviewed | 1=I am requesting, once again, to be unblocked. I was wrong to try and force my views on anyone else, and using the 9/11 conspiracy theories page as a battleground. There is nobody else to blame, but myself. This is my only account, I never sockpuppeted with other created accounts, just wanted to point that out. Any edits that I mentioned above was done as an IP. If I am allowed to be unblock, I promise that I will 1. Contribute to Wikipedia in a constructive manner by learning how to cite better, and make larger contributions to Wikipedia other than patrolling for vandalism. 2. Stay away from any 'conspiracy theory'-related articles and/or any other polarizing debates. Also, per [[WP:BLOCKDETERRENT]], it says "For example, though it might have been justifiable to block an editor a short time ago, such a block may no longer be justifiable right now, particularly if the actions have since ceased or the conduct issues have been resolved." I am asking, once again, if my block can please be reviewed by an '''uninvolved, unbiased administrator''' who can see both sides of the coin of the situation, and make a determinable action based on the situation. So far I have seemed to get administators who take one glance at my unblock request, and deny it based on the fact that I've been labeled a 'truther'. I only say this because of the fact that my last unblock request was met with, "Standard Policy entails six months, not six days. If that reviewing administrator '''read''' the logs, they would see that it was been 16 days since I was effectively blocked, not six. Yes, I did make a unnecessary ANI against [[User:Ian.Thomson|Ian.Thomson]], which was wrong of me to do. I only did so because I was beginning to feel cornered, however that does not make it right. I also want to take this time to apologize to [[User:Ian.Thomson|Ian.Thomson]] for that. I am sorry for that. You were not doing anything wrong, and it was wrong of me to single you out. It also says per [[WP:BP]] "In general, once a matter has become "cold" and the risk of present disruption has clearly ended, reopening it by blocking retrospectively is usually not seen as appropriate." Seeing as my actions which caused me to be blocked has ceased, I'm not sure of the validity of this block. I have learned from my mistake, and I understand completely why my actions caused me to be banned. Per [[WP:NNH]], it states "The community encompasses a very wide range of views. A user may believe a communal norm is too narrow or poorly approaches an issue, and take actions internally consistent with that viewpoint, such as advocating particular positions in discussions. Provided the user does so in an honest attempt to improve the encyclopedia, in a constructive manner, and assuming the user's actions are not themselves disruptive, such conversations form the genesis for improvement to Wikipedia.", and "Merely advocating changes to Wikipedia articles or policies, even if those changes are incompatible with Wikipedia's principles, is not the same as not being here to build an encyclopedia. The dissenting editor should take care to not violate Wikipedia policies and guidelines such as WP:SOAPBOX, WP:IDHT, and WP:CIVIL in the course of expressing unpopular opinions." I tried my hardest to convey my views of amending policies without being a disruption to Wikipedia, only to be met with hostility, and an eventual ban. My block says "Not here to build an encyclopedia/obviously a truther sockpuppet that was been banned", yet none of these accusation have been proven beyond a reasonable doubt that I am indeed a 'sockpuppet'. "Obviously a 'truther', so that would mean that part of my block would have to do with the fact that I refuse to believe the official NIST report on 9/11? Before someone goes off on me about saying "You are going back and forth, saying you understand why your views led to your block, yet saying it is unfair because you hold such views", I understand that '''soapboxing''' my views about Wikipedia policy was not acceptable on the basis that I am a new user. I did not realize this while in the thick of it, it was only until it was explained to me hereUNIQ--nowiki-00000011-QINU1UNIQ--nowiki-00000012-QINU by [[User:Arnoutf|Arnoutf]] that an editor should spend some time on Wikipedia before debating it's policies. As you can see hereUNIQ--nowiki-00000014-QINU2UNIQ--nowiki-00000015-QINU once it was explained to me in terms that lacked an attitude, I ceased and desisted. I only say 'without an attitude' because other users felt that it was appropriate to say things such as 'get over it' 'you're wasting everyone's time, stop', and the like. So to sum this long-winded diatribe up, I am asking that my block request be reviewed by an '''uninvolved, unbiased''' administrator that won't just skim through my request, and immediately deny it on the basis that I am a 'truther'. I understand what I have done wrong, even though I did not understand this while I was committing the actions which led to my ban. If I am allowed a second chance on Wikipedia, I solemnly swear to 1. Stay '''away''' from any Wikipedia articles concerning polarizing subjects, pseudoscience, or conspiracy theories 2. Learn to make larger, acceptable contributions to Wikipedia articles to improve them, practice inline citations, and to contribute to Wikipedia in a fashion other than scanning for/reverting vandalism. [[User:New User Person|New User Person]] ([[User talk:New User Person#top|talk]]) 20:18, 24 October 2015 (UTC) | decline = [https://en.wikipedia.org/w/index.php?title=Wikipedia:Village_pump_(policy)&diff=prev&oldid=682771891 No]. We've dealt with enough truther crap to last several lifetimes. [[User:Ohnoitsjamie|OhNoitsJamie]] [[User talk:Ohnoitsjamie|Talk]] 22:31, 24 October 2015 (UTC)}} 123 | 124 | Note: Sorry about the references, I'm still trying to figure out the text format for inline citations. 125 | 126 | :{{U|Ohnoitsjamie}}, I can see that you've denied my unblock request based solely on your stigma of 'truthers'. Not only is your response enough evidence of this, but if you '''actually bothered to read my unblock request, you would see the part where I said, "1. Stay '''away''' from any Wikipedia articles concerning polarizing subjects, pseudoscience, or conspiracy theories". [[User:New User Person|New User Person]] ([[User talk:New User Person#top|talk]]) 23:19, 24 October 2015 (UTC) 127 | 128 | == Unblock Request #4 == 129 | 130 | {{unblock reviewed | 1=I am requesting, once again, to be unblocked. This will be my fourth attempt to have my block reviewed by an administrator that '''doesn't hold a stigma against 'truthers', and will review my unblock request fairly.''' I was wrong to try and force my views on anyone else, and using the 9/11 conspiracy theories page as a battleground. There is nobody else to blame, but myself. This is my only account, I never sockpuppeted with other created accounts, just wanted to point that out. Any edits that I mentioned above was done as an IP. If I am allowed to be unblock, I promise that I will 1. Contribute to Wikipedia in a constructive manner by learning how to cite better, and make larger contributions to Wikipedia other than patrolling for vandalism. 2. Stay away from any 'conspiracy theory'-related articles and/or any other polarizing debates. Also, per [[WP:BLOCKDETERRENT]], it says "For example, though it might have been justifiable to block an editor a short time ago, such a block may no longer be justifiable right now, particularly if the actions have since ceased or the conduct issues have been resolved." I am asking, once again, if my block can please be reviewed by an '''uninvolved, unbiased administrator''' who can see both sides of the coin of the situation, and make a determinable action based on the situation. So far I have seemed to get administators who take one glance at my unblock request, and deny it based on the fact that I've been labeled a 'truther'. I only say this because of the fact that my last unblock request was met with, "Standard Policy entails six months, not six days. If that reviewing administrator '''read''' the logs, they would see that it was been 16 days since I was effectively blocked, not six. Yes, I did make a unnecessary ANI against [[User:Ian.Thomson|Ian.Thomson]], which was wrong of me to do. I only did so because I was beginning to feel cornered, however that does not make it right. I also want to take this time to apologize to [[User:Ian.Thomson|Ian.Thomson]] for that. I am sorry for that. You were not doing anything wrong, and it was wrong of me to single you out. It also says per [[WP:BP]] "In general, once a matter has become "cold" and the risk of present disruption has clearly ended, reopening it by blocking retrospectively is usually not seen as appropriate." Seeing as my actions which caused me to be blocked has ceased, I'm not sure of the validity of this block. I have learned from my mistake, and I understand completely why my actions caused me to be banned. Per [[WP:NNH]], it states "The community encompasses a very wide range of views. A user may believe a communal norm is too narrow or poorly approaches an issue, and take actions internally consistent with that viewpoint, such as advocating particular positions in discussions. Provided the user does so in an honest attempt to improve the encyclopedia, in a constructive manner, and assuming the user's actions are not themselves disruptive, such conversations form the genesis for improvement to Wikipedia.", and "Merely advocating changes to Wikipedia articles or policies, even if those changes are incompatible with Wikipedia's principles, is not the same as not being here to build an encyclopedia. The dissenting editor should take care to not violate Wikipedia policies and guidelines such as WP:SOAPBOX, WP:IDHT, and WP:CIVIL in the course of expressing unpopular opinions." I tried my hardest to convey my views of amending policies without being a disruption to Wikipedia, only to be met with hostility, and an eventual ban. My block says "Not here to build an encyclopedia/obviously a truther sockpuppet that was been banned", yet none of these accusation have been proven beyond a reasonable doubt that I am indeed a 'sockpuppet'. "Obviously a 'truther', so that would mean that part of my block would have to do with the fact that I refuse to believe the official NIST report on 9/11? Before someone goes off on me about saying "You are going back and forth, saying you understand why your views led to your block, yet saying it is unfair because you hold such views", I understand that '''soapboxing''' my views about Wikipedia policy was not acceptable on the basis that I am a new user. I did not realize this while in the thick of it, it was only until it was explained to me hereUNIQ--nowiki-00000015-QINU2UNIQ--nowiki-00000016-QINU by [[User:Arnoutf|Arnoutf]] that an editor should spend some time on Wikipedia before debating it's policies. As you can see hereUNIQ--nowiki-00000018-QINU3UNIQ--nowiki-00000019-QINU once it was explained to me in terms that lacked an attitude, I ceased and desisted. So to sum this long-winded diatribe up, I am asking that my block request be reviewed by an '''uninvolved, unbiased''' administrator that won't just skim through my request, and immediately deny it on the basis that I am a 'truther'. I understand what I have done wrong, even though I did not understand this while I was committing the actions which led to my ban. If I am allowed a second chance on Wikipedia, I solemnly swear to 1. Stay '''away''' from any Wikipedia articles concerning polarizing subjects, pseudoscience, or conspiracy theories 2. Learn to make larger, acceptable contributions to Wikipedia articles to improve them, practice inline citations, and to contribute to Wikipedia in a fashion other than scanning for/reverting vandalism. [[User:New User Person|New User Person]] ([[User talk:New User Person#top|talk]]) 20:18, 24 October 2015 (UTC) | decline = Considering that you recently went on a vandalism spree using IPs, your intent to disrupt is quite clear. [[User:Elockid|Elockid]]([[User talk:Elockid|BOO!]]) 23:21, 24 October 2015 (UTC)}} 131 | 132 | NUP, I think you got a bad rap, but you're not going to get anywhere with these unblock requests so soon after being blocked and having previous unblock requests denied. Take the advice of the [[Wikipedia:Standard offer|Standard offer]] and wait a few months. [[User:Clpo13|clpo13]]([[User_talk:Clpo13|talk]]) 23:17, 24 October 2015 (UTC) 133 | :{{U|Clpo13}} Yeah, I can see that. Thank you for your level-headed response, seeing as nobody else can see past the perception of stigmas. I was just under the impression that if I feel a block is no longer warranted, or is unjustified, it was my duty to bring it to attention. Seeing as this block was implemented a week after I ceased the actions that led to the block, and how I've stated time in, and time again how I can and will rectify the problem, the block is no longer justifiable. I only reposted my unblock requests because of the fact that I keep getting stigmatized responses such as "We've had enough of your 'truther' nonsense". I am asking that an '''unbiased, uninvolved''' administrator review my block. Not one that is going to give me preloaded stigmatized responses such as the ones above. [[User:New User Person|New User Person]] ([[User talk:New User Person#top|talk]]) 23:24, 24 October 2015 (UTC) 134 | ::{{U|Elockid}}, is that so? Why do I not remember committing such vandalism? Has it occurred to you that whoever was causing the vandalism was using an the same ISP as myself? [[User:New User Person|New User Person]] ([[User talk:New User Person#top|talk]]) 23:31, 24 October 2015 (UTC) 135 | :::Try another excuse. The only thing that could possibly be shared about the IPs committing the vandalism is within one's own household. In which case [[WP:BROTHER]] would apply to who could possibly be committing the vandalism. [[User:Elockid|Elockid]]([[User talk:Elockid|BOO!]]) 23:45, 24 October 2015 (UTC) 136 | ::::So obviously it hasn't occurred to you that my IP could have migrated? Please don't tell me it's impossible, because it's not. There are multiple ways that an IP address (v4 and v6) can change or migrate, be it by direct intervention, or not. IP addressed change and move all the time, and they never stay allocated to one locationhttps://en.wikipedia.org/wiki/IPv6#Mobility. [[User:New User Person|New User Person]] ([[User talk:New User Person#top|talk]]) 00:05, 25 October 2015 (UTC) 137 | 138 | == Talk page access revoked == 139 | 140 | You don't get unlimited unblock requests, there are other people out there who need admin time. You have made 4 unblock requests, 3 just today. Further appeals can be done through [[WP:UTRS]]. [[User talk:HighInBC|HighInBC]] 00:12, 25 October 2015 (UTC) 141 | -------------------------------------------------------------------------------- /talk_samples/user/692726230.txt: -------------------------------------------------------------------------------- 1 |   2 |   3 | *[[ Special:Watchlist| My Watchlist]] 4 | ** [https://en.m.wikipedia.org/w/index.php?title=Special:Watchlist&watchlistview=feed&filter=all My Watchlist: Modified] 5 | * [[Special:Gather/by/Thnidu| My Collections]] 6 | **[https://en.m.wikipedia.org/wiki/Special:GatherEditFeed?collection-id=3454 Edits to pages in my collections] 7 | *[[Special:MyContributions| My Contributions]] 8 | *[[User:Thnidu/sandbox| My sandbox]] 9 | *[[Special:PrefixIndex/User:Thnidu|All pages with prefix Thnidu]] 10 | *[[User:Thnidu/wiki tool notes]] 11 | *[[User talk:Thnidu/Archive| My talk page archive]] 12 | ---- 13 | : '''({{subst:#time:y.m.d}})''' :: (YY.MM.DD) – ''used in [[User:Thnidu#Pages significantly copyedited]]'' 14 | : '''{{subst:#time:Y-m-d}}''' :: YYYY.MM.DD 15 | : '''{{subst:#time:Y-m-d}}''' :: YYYY.MM.DD 16 | : '''{{subst:#time:y.m.d}}''' :: YY.MM.DD 17 | :'''{{subst:User:Thnidu/Template:pingme}}''' 18 | :'''{{subst:User:Thnidu/Template:pingme0}}~~~~''' 19 | ::'''''pingme0''' is for use in the [[WP:TEAHOUSE|Teahouse]] and any other pages where an entry must end with '''~~~~''' to be accepted'' 20 | :'''{{db-self}}''' ''or'' '''{{db-u1}}''' :: ''user's request to delete user's own page'' 21 | 22 | {{anchor|TOC}}__TOC__ 23 | 24 | ==Involvements== 25 | * [[Wikipedia:Meetup/Philadelphia/2015 GLAM Cafe]] 26 | ** [[Wikipedia:Meetup/Philadelphia/2015 GLAM Cafe#Women in Science|Women in Science]] 27 | * [[Wikipedia:Meetup/Philadelphia/ArtAndFeminism 2015]] 28 | * [[Wikipedia:WikiProject Guild of Copy Editors]] 29 | 30 | =='''MEMOS TO SELF'''== 31 | #Learn about [[Wikipedia:AWB|AWB]]. 32 | # [http://kalaity.com/2014/03/01/broad-universe-wikipedia-project/ Broad Universe Wikipedia Project] 33 | # Articles with the {{tl|copy edit}} tag on are different from requests. You did the right thing by removing the tag, and nothing else needs doing. By the way, requests are sections within [[Wikipedia:WikiProject Guild of Copy Editors/Requests]], not subpages of it, so a search like that would never work. You can see all requests (as opposed to tagged articles) by going to [[Wikipedia:WikiProject Guild of Copy Editors/Requests]] and doing a text search. Hope this helps. --[[User:Stfg|Stfg]] ([[User talk:Stfg|talk]]) 09:55, 1 February 2014 (UTC) ''([[Wikipedia talk:WikiProject Guild of Copy Editors/Requests/Archives/1#Can't log a completion; Archive search broken?|source]]) 34 | #[[Wikipedia:Tools#Finding the responsible user]] 35 | #* [http://wikipedia.ramselehof.de/wikiblame.php WikiBlame] – searches for given text in versions of article 36 | #* Soxred93's [[tools:~tparis/blame|Article Blamer]] – similar to WikiBlame, identifies revisions that added given text 37 | #* [[User:AmiDaniel/WhodunitQuery]] – Windows application that identifies the edit and user who added a specific word or phrase 38 | 39 | 40 | ==Archive== 41 | I've moved most old sections of my Talk page to [[User talk:Thnidu/Archive]]. 130424. 140202. 141128. 150222. 42 | 43 | {{clear}} 44 | 45 | == GOCE July 2013 barnstar == 46 | 47 | {| style="border: 1px solid gray; background-color: #fdffe7;" 48 | |rowspan="2" valign="middle" | {{#ifeq:{{{2}}}|alt|[[File:Minor Barnstar Hires.png|100px]]|[[File:Minor_Barnstar.png|100px]]}} 49 | |rowspan="2" | 50 | |style="font-size: x-large; padding: 0; vertical-align: middle; height: 1.1em;" | '''The Minor Barnstar''' 51 | |- 52 | |style="vertical-align: middle; border-top: 1px solid gray;" | This barnstar is awarded for participation in the [[WP:GOCE]] [[Wikipedia:WikiProject Guild of Copy Editors/Backlog elimination drives/July 2013|July 2013 copy edit drive]]. Thank you for taking part! [[User:Diannaa|Diannaa]] ([[User talk:Diannaa|talk]]) 23:35, 5 August 2013 (UTC) 53 | |} 54 | 55 | :{{ping|Diannaa}} Oo! Oo! My first! I'm so excited! :-D No irony, no sarcasm here: I really am pleased. Thank you. --[[User:Thnidu|Thnidu]] ([[User talk:Thnidu#top|talk]]) 04:33, 6 August 2013 (UTC) 56 | 57 | == Cognitive Sociolinguistics == 58 | 59 | Please help us out with [[Cognitive Sociolinguistics]], which needs links from other articles, improvements on the references, and a general checkup by an expert. (Good to see you at the CHF!) 60 | 61 | :{{ping|Dthomsen8}} Sure. Good to hear from you! But you left the above note unsigned, and I had to go to the History page to see who it was from. --[[User:Thnidu|Thnidu]] ([[User talk:Thnidu#top|talk]]) 01:04, 27 November 2013 (UTC) 62 | 63 | == Join the team? == 64 | 65 | Just saw one of your edits and was reminded to peek in and check how you're doing ... very well, it seems. I'm putting together a team to help with copyediting questions at [[WP:TFA]]. Interested in theory? If so, I'll talk specifics. - Dank ([[User talk:Dank|push to talk]]) 15:17, 13 March 2015 (UTC) P.S. Saw that you just created [[User:Thnidu/Template:AHDEL]] ... although I check a lot of references when I need to dig, I'd have to say AHD is my go-to word reference ... thoughts on AHD? - Dank ([[User talk:Dank|push to talk]]) 15:20, 13 March 2015 (UTC) 66 | :Here's a for-instance: Pinker mentions on p. 6 of ''The Sense of Style'' that linguists have come up with some copyediting recommendations based on their study of what happens in short-term memory as a person reads. The requirements of "memory load" drive a lot of my copyediting decisions, but I'm not a linguist and I'm not sure where to look for readable accounts of these studies. Do you know what he's talking about, and do any citations or books come to mind? - Dank ([[User talk:Dank|push to talk]]) 19:14, 13 March 2015 (UTC) 67 | ::'''{{u|Dank}}''': 68 | ::team to help with copyediting questions at [[WP:TFA]]: Yes, I am. 69 | :::Great, the discussion page is [[WT:TFAC]]. At the moment, I'm working on a short questionnaire. Soon, I'll post questions I have when copyediting, and I hope others will too. - Dank ([[User talk:Dank|push to talk]]) 18:30, 14 March 2015 (UTC) 70 | :: AHD: Mine too, esp. since I no longer have from-home online access (through my now-former workplace) to OED Online. 71 | :: Pinker: No, I don't. Does he provide any references, maybe in the back of the book? 72 | ::--[[User:Thnidu|Thnidu]] ([[User talk:Thnidu#top|talk]]) 17:22, 14 March 2015 (UTC) 73 | :::That's the problem ... I've read the first half of the references, but I'm not familiar with the lingo so I don't know which ones are likely to help. None of the titles say "memory load" or "short-term memory"; only one says "memory". I think I remember that he talks about memory load somewhere else in the book; I'll try to find that, and see if it has an endnote. - Dank ([[User talk:Dank|push to talk]]) 18:30, 14 March 2015 (UTC) 74 | ::{{u|Dank}}: AHDEL: Would you take a look at it now? I think it's ready to use, after taking out the comments. I'm a bit concerned about the name, though, which keeps suggesting "delete" to me. What do you think about changing it to AHDict or AHDictE? --[[User:Thnidu|Thnidu]] ([[User talk:Thnidu#top|talk]]) 18:43, 14 March 2015 (UTC) 75 | :::I'm not a template guy, but it looks good. I'd go with AHDict. - Dank ([[User talk:Dank|push to talk]]) 18:53, 14 March 2015 (UTC) 76 | 77 | {{Ping|Dank}} While scanning down my Talk page, I realized that I'd mentally closed this topic when we wrapped up [[Template:AHDict]], forgetting all about WT:TFAC. So I went there for a look. I'm still willing to join the team, but not to get snarled up in the italicization brawl with Schrodinger's Cat and his(?) venomous fangs and claws. Other than that sh!+storm, where does "the team" stand now? --[[User:Thnidu|Thnidu]] ([[User talk:Thnidu#top|talk]]) 15:10, 7 July 2015 (UTC) 78 | :Great timing ... I was about to get back with you. I think I know where I want to go with this now, but I want to ponder for just a few more days. Bottom line: there are a lot of Wikipedia pages that work well from a variety of perspectives, even linguistic perspectives, and I'd like to invite guest columnists to write whatever strikes their fancy with a generally positive slant. Such columns might or might not be appropriate on Wikipedia itself, but they'd be appropriate somewhere. If this strikes a chord and there's something you already want to write about, great. If not, I should be able to show some examples soon-ish of what I'm talking about. - Dank ([[User talk:Dank|push to talk]]) 15:46, 7 July 2015 (UTC) 79 | ::Well, it's always something ... in this case, [[User talk:Floquenbeam|this]]. I may be advertising soon for a new team member, of sorts; if so, I'll mention it on that page among others, and if you want to apply, that would be great. I'll have to wait till this mess is sorted out before I get back to the stuff I was thinking about earlier. - Dank ([[User talk:Dank|push to talk]]) 13:21, 9 July 2015 (UTC) 80 | ::Update: as you might have seen at that link, Chris would rather help me himself when he gets free in August, so we're not looking for a new team member, but there are two other things starting up soon. If you've been active at [[WT:GAN]], you might be interested in the thread at the bottom of that page. Also, I'm becoming concerned about Wikidata's automatic translation ... Wikidata fields are showing up automatically in many Wikipedia infoboxes, and the walkthrough over at Wikidata touts the "feature" that some of these are the result of machine translation from a variety of languages. This strikes me as a problem, but also an opportunity for linguists (and for me) to do something that we know how to do and that would be widely appreciated. I just started thinking about this yesterday, I should have something to show you soon. Thoughts? - Dank ([[User talk:Dank|push to talk]]) 12:04, 13 July 2015 (UTC) 81 | ::: {{ping|Dank}} Machine translation is certainly pretty wonky. Yes, when you've got something ready please ping me. --[[User:Thnidu|Thnidu]] ([[User talk:Thnidu#top|talk]]) 19:31, 14 July 2015 (UTC) 82 | 83 | == Neat page bookmarks == 84 | 85 | * [[List of dates predicted for apocalyptic events]] 86 | 87 | == Your thoughts? == 88 | 89 | [[Timeline of Philadelphia]] has a discussion about [[WP:LSC|selection and inclusion criteria]]. Two editors are discussing it, but we have divergent views. More opinions would be helpful. - SummerPhD[[User talk:Tefkasp|v2.0]] 13:24, 23 June 2015 (UTC) 90 | 91 | == Earthsea == 92 | 93 | Thanks for recent work at [[Earthsea]] and [[Ursula K. Le Guin]]. 94 | 95 | FYI, my today revision --as of 22:00 UTC-- of the fantasy series article [[Earthsea]] is scrutable if you break the history in two after my first two edits [https://en.wikipedia.org/w/index.php?title=Earthsea&type=revision&diff=675936400&oldid=675697229] [https://en.wikipedia.org/w/index.php?title=Earthsea&type=revision&diff=675967154&oldid=675936400]. In particular, section 4 history is inscrutable as a whole, because of spacing changes. While I skimmed some of the sources in refs 7-18, I didn't do much for the article but expand them. More attention to content is needed, perhaps best after improvement of the two film adaptation articles. --[[User:P64|P64]] ([[User talk:P64|talk]]) 21:48, 13 August 2015 (UTC) 96 | 97 | :{{ping|P64}} My word! Thank ''you!'' — Thoughts, some less useful than others. 98 | :*Hmm... We don't have a template for "creative franchise", and in any case the multiple switches for sections that do or don't apply in different cases would be mind-boggling. 99 | :*(Definitely less useful) You changed "catalog{{uu|ue}}d" to the American spelling "cataloged", but {{slink|Earthsea|Radio}} has the British spelling "dramati{{uu|s}}ation". I'm not saying to change it back, but how far is local-variety-of-English consistency supposed to go? 100 | ::: Consistency in variety of English should be imposed at the article level. The same goes for the format of dates and the possibly distinct format of retrieved/archived dates. So a section on British adaptation(s) of a work, within an article where American English and date format are generally used, should use American ''dramatization'' and, say, premiered ''May 29''. --[[User:P64|P64]] ([[User talk:P64|talk]]) 17:23, 16 August 2015 (UTC) 101 | :*.... No more for now. I probably won't be able to do more on this till late next week. --[[User:Thnidu|Thnidu]] ([[User talk:Thnidu#top|talk]]) 01:05, 14 August 2015 (UTC) 102 | 103 | == October 2015 GOCE newsletter == 104 | 105 | {| style="position: relative; margin-left: 2em; margin-right: 2em; padding: 0.5em 1em; background-color: #dfeff3; border: 2px solid #bddff2; border-color: rgba( 109, 193, 240, 0.75 ); {{border-radius}} {{box-shadow|8px|8px|12px|rgba( 0, 0, 0, 0.7 )}}" 106 | 107 | | '''[[WP:GOCE|Guild of Copy Editors]] October 2015 Newsletter 108 | 109 |
110 |
[[File:Writing Magnifying.PNG|100px|link=]]
111 |
112 | [[File:Copyeditors progress.png|right|thumb]] 113 | 114 | '''[[Wikipedia:WikiProject Guild of Copy Editors/Backlog elimination drives/September 2015|September drive]]:''' Thanks to everyone who participated in last month's backlog-reduction drive. Of the 25 editors who signed up, 18 copyedited at least one article. Final results, including barnstars awarded, are available [[Wikipedia:WikiProject Guild of Copy Editors/Backlog elimination drives/September 2015/Barnstars|'''here''']]. 115 | 116 | '''[[Wikipedia:WikiProject Guild of Copy Editors/Blitzes/October 2015|October blitz]]:''' The one-week October blitz, targeting [[WP:GOCE/REQ|requests]], has just concluded. Of the nine editors who signed up, seven copyedited at least one request; check your talk page for your [[Wikipedia:WikiProject Guild of Copy Editors/Blitzes/October 2015/Barnstars|barnstar]]! 117 | 118 | The month-long '''[[Wikipedia:WikiProject Guild of Copy Editors/Backlog elimination drives/November 2015|November drive]],''' focusing on our oldest backlog articles (June, July, and August 2014) and the October requests, is just around the corner. Hope to [[Wikipedia:WikiProject Guild of Copy Editors/Backlog elimination drives/November 2015#Signing up|see you there]]! 119 | 120 | Thanks again for your support; together, we can improve the encyclopedia! Cheers from your GOCE coordinators {{noping|Jonesey95}}, {{noping|Baffle gab1978}}, {{noping|KieranTribe}}, {{noping|Miniapolis}} and {{noping|Pax85}}. 121 | 122 | {{center 123 | | To discontinue receiving GOCE newsletters, please remove your name from [[Wikipedia:WikiProject Guild of Copy Editors/Mailing List|our mailing list]]. 124 | }} 125 | |} 126 | [[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|talk]]) 13:55, 26 October 2015 (UTC) 127 | 128 | == [[:File:1980 German KISS Logo.jpg]] needs authorship information == 129 | 130 |
'''Dear uploader:''' 131 | 132 | The media file you uploaded as [[:File:1980 German KISS Logo.jpg]] appears to be missing information as to its authorship (and or source), or if you did provide such information, it is confusing for others trying to make use of the image. 133 | 134 | It would be appreciated if you would consider updating the file description page, to make the authorship of the media clearer. 135 | 136 | Although some images may not need author information in obvious cases, (such where an applicable source is provided), authorship information aids users of the image, and helps ensure that appropriate credit is given (a requirement of some licenses). 137 | 138 | *If you created this media yourself, please consider explicitly including your user name, for which: {{tlxs|usernameexpand|{{PAGENAME}}}} will produce an appropriate expansion,
or use the {{tl|own}} template. 139 | 140 | If you have any questions please see [[Help:File page#File description|Help:File page]]. Thank you. [[User:Sfan00 IMG|Sfan00 IMG]] ([[User talk:Sfan00 IMG|talk]]) 00:02, 7 November 2015 (UTC)
141 | [[User:Sfan00 IMG|Sfan00 IMG]] ([[User talk:Sfan00 IMG|talk]]) 00:02, 7 November 2015 (UTC) 142 | 143 | :{{ping|Sfan00 IMG}} When I posted this image, I put hours of research into trying to track down the sources, including trying to read the information on [[de:Datei:1980PressetextKISS-Logo.jpg|the de File page]] and follow the links there. This was the best I could do, and it was thought adequate at the time. See [[Wikipedia:Teahouse/Questions/Archive_336#Image_copyright_puzzle]]. (I have changed the Teahouse link on the File page to this Teahouse Archive link.) If you have any further ''specific'' suggestions, I would be glad to hear them. --[[User:Thnidu|Thnidu]] ([[User talk:Thnidu#top|talk]]) 02:24, 7 November 2015 (UTC) 144 | 145 | == [[WP:ACE2015|ArbCom elections are now open!]] == 146 | 147 | {{Wikipedia:Arbitration Committee Elections December 2015/MassMessage}} [[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|talk]]) 13:08, 23 November 2015 (UTC) 148 | 149 | 150 | == [[WP:ACE2015|ArbCom elections are now open!]] == 151 | 152 | {{Wikipedia:Arbitration Committee Elections December 2015/MassMessage}} [[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|talk]]) 13:33, 23 November 2015 (UTC) 153 | 154 | -------------------------------------------------------------------------------- /talk_samples/user/692730409.txt: -------------------------------------------------------------------------------- 1 | {{bots|deny=AWB,SineBot,DPL bot}} 2 |
Please leave a message, and I'll reply here. No copyediting requests for now, please.
3 | 4 | {{top icon 5 | | imagename = Wikipedia Administrator.svg 6 | | wikilink = Wikipedia:Administrators 7 | | description = Administrator 8 | | id = administrator-icon 9 | | icon_nr = 0 10 | | extra_offset = 0 11 | | width = 24 12 | | style = {{#ifeq: |tan|margin-top:-6px;}} 13 | }} 14 | {{top icon 15 | | imagename = US-O12 insignia.svg 16 | | wikilink = Wikipedia:WikiProject Military history/Coordinators/September 2011 17 | | description = Lead Coordinator, Military History Project, 2011/2012 18 | | id = Milhist3 19 | | icon_nr = 1 20 | | extra_offset = 0 21 | | width = 24 22 | | style = {{#ifeq: |tan|margin-top:-6px;}} 23 | }} 24 | {{top icon 25 | | imagename = US-O12 insignia.svg 26 | | wikilink = Wikipedia:WikiProject Military history/Coordinators/September 2012 27 | | description = Co-Lead Coordinator, Military History Project, 2012/2013 28 | | id = Milhist2 29 | | icon_nr = 2 30 | | extra_offset = 0 31 | | width = 24 32 | | style = {{#ifeq: |tan|margin-top:-6px;}} 33 | }} 34 | {{top icon 35 | | imagename = Green fez with Featured article star.svg 36 | | wikilink = WP:TFAA 37 | | description = I co-write the Today's Featured Article section on the Main Page 38 | | id = TFA-icon 39 | | icon_nr = 3 40 | | extra_offset = 0 41 | | width = 32 42 | }} 43 | 44 | {| class="wikitable" 45 | |-style="background:white;" 46 | | '''[[User:Dank/Copyediting|Copyediting]]''' 47 | || '''[[User:Dank/Library|Library]]''' 48 | || '''[[User:Dank/Links|Links]]''' 49 | || '''[[Wikipedia:WikiProject Military history/Article alerts#FAC|Milhist Alerts]]''' 50 | || '''[[WP:UPDATE|Policy update]]''' 51 | || '''[[User:Dank/Admins#Support|RFA]]''' 52 | || '''[[User:Dank/RFCs|RFCs]]''' 53 | || '''[https://en.wikipedia.org/w/index.php?title=Special%3APrefixIndex&prefix=Dank%2FScripts%2F&namespace=2 Scripts]''' 54 | || '''[[User:Dank/Shiny things|Shiny things]]''' 55 | |} 56 | 57 | {{WPMILHIST Review alerts|collapse=no}} 58 | 59 | [[Image:Obscured jaguar.jpg|228px|thumbnail|right|My talk page is [https://en.wikipedia.org/w/index.php?title=User:Dank&action=info watched] by friendly '''[[Wikipedia:Talk page stalker|talk page stalkers]]'''. Their input is welcome and their help with messages that I cannot reply to quickly is '''appreciated.''']] 60 | 61 | {| class="infobox" style="up:300px;margin: 0 0 1em 1em;" 62 | !| File:Material in the New Orleans city archives.jpg|225px 63 | default [[Help:Archiving a talk page|Archives]] 64 | desc none 65 | 66 | |- 67 | |
68 | |- style="font-size:115%;" 69 | |[[User talk:Dank/Archive 1|(2007-4/08)]], [[User talk:Dank/Archive 2|(5-7/08)]], [[User talk:Dank/Archive 3|(8-11/08)]] 70 | |- style="font-size:120%;" 71 | |[[User talk:Dank/Archive 4|(12/08-2/09)]], [[User talk:Dank/Archive 5|Mar]], [[User talk:Dank/Archive 6|Apr]], [[User talk:Dank/Archive 7|May]], [[User talk:Dank/Archive 8|Jun]] 72 | |- style="font-size:120%;" 73 | | [[User talk:Dank/Archive 9|Jul/Aug 2009]] - [[User talk:Dank/Archive 10|Sep/Oct]] - [[User talk:Dank/Archive 11|Nov/Dec]] 74 | |- style="font-size:120%;" 75 | | [[User talk:Dank/Archive 12|Jan/Feb 2010]] - [[User talk:Dank/Archive 13|Mar/Apr]] - [[User talk:Dank/Archive 14|May/Jun]] 76 | |- style="font-size:120%;" 77 | | [[User talk:Dank/Archive 15|Jul/Aug 2010]] - [[User talk:Dank/Archive 16|Sep/Oct]] - [[User talk:Dank/Archive 17|Nov/Dec]] 78 | |- style="font-size:120%;" 79 | | [[User talk:Dank/Archive 18|Jan/Feb 2011]] - [[User talk:Dank/Archive 19|Mar/Apr]] - [[User talk:Dank/Archive 20|May/Jun]] 80 | |- style="font-size:120%;" 81 | | [[User talk:Dank/Archive 21|Jul/Aug 2011]] - [[User talk:Dank/Archive 22|Sep/Oct]] - [[User talk:Dank/Archive 23|Nov/Dec]] 82 | |- style="font-size:120%;" 83 | | [[User talk:Dank/Archive 24|Jan/Feb 2012]] - [[User talk:Dank/Archive 25|Mar/Apr]] - [[User talk:Dank/Archive 26|May/Jun]] 84 | |- style="font-size:120%;" 85 | | [[User talk:Dank/Archive 27|Jul/Aug 2012]] - [[User talk:Dank/Archive 28|Sep/Oct]] - [[User talk:Dank/Archive 29|Nov/Dec]] 86 | |- style="font-size:120%;" 87 | | [[User talk:Dank/Archive 30|Jan/Feb 2013]] - [[User talk:Dank/Archive 31|Mar/Apr]] - [[User talk:Dank/Archive 32|May/Jun]] 88 | |- style="font-size:120%;" 89 | | [[User talk:Dank/Archive 33|Jul/Aug 2013]] - [[User talk:Dank/Archive 34|Sep/Oct]] - [[User talk:Dank/Archive 35|Nov/Dec]] 90 | |- style="font-size:120%;" 91 | | [[User talk:Dank/Archive 36|Jan/Feb 2014]] - [[User talk:Dank/Archive 37|Mar/Apr]] - [[User talk:Dank/Archive 38|May/Jun]] 92 | |- style="font-size:120%;" 93 | | [[User talk:Dank/Archive 39|Jul/Aug 2014]] - [[User talk:Dank/Archive 40|Sep/Oct]] - [[User talk:Dank/Archive 41|Nov/Dec]] 94 | |- style="font-size:120%;" 95 | | [[User talk:Dank/Archive 42|Jan/Feb 2015]] - [[User talk:Dank/Archive 43|Mar/Apr]] - [[User talk:Dank/Archive 44|May/Jun]] 96 | |- style="font-size:120%;" 97 | | [[User talk:Dank/Archive 45|Jul/Aug 2015]] - [[User talk:Dank/Archive 46|Sep/Oct]] - [[User talk:Dank/Archive 47|Nov/Dec]] 98 | |- style="font-size:120%;" 99 | | [[User talk:Dank/Archive 48|Jan/Feb 2016]] - [[User talk:Dank/Archive 49|Mar/Apr]] - [[User talk:Dank/Archive 50|May/Jun]] 100 | |} 101 | {{clearleft}} 102 | 103 | == Requesting your review of the Wiki Education handbook on writing biography articles == 104 | Hi Dan! I work with the non-profit [http://wikiedu.org/ Wiki Education Foundation]. We're creating a handbook for student editors in higher ed who are assigned to write biographies on Wikipedia. You've been recommended to me as someone who knows a lot about that topic. Would you be willing to spare some time to review the text of that brochure and offer comments on the Talk page? You can find it [[User:Eryk_(Wiki_Ed)/Biographies|here]]. Thanks in advance! [[User:Eryk (Wiki Ed)|Eryk (Wiki Ed)]] ([[User talk:Eryk (Wiki Ed)|talk]]) 19:55, 31 August 2015 (UTC) 105 | :Sure, happy to help. I did some light proofreading; the edit summaries describe the changes. I'm not signing off on the text, of course, that's above my pay grade. - Dank ([[User talk:Dank|push to talk]]) 13:48, 1 September 2015 (UTC) 106 | ::Thanks, Dan! [[User:Adam (Wiki Ed)|Adam (Wiki Ed)]] ([[User talk:Adam (Wiki Ed)|talk]]) 13:18, 2 September 2015 (UTC) 107 | 108 | == barnstar == 109 | 110 | {| style="border: 1px solid gray; background-color: #fdffe7;" 111 | |rowspan="2" style="vertical-align:middle;" | {{#ifeq:{{{2}}}|alt|[[File:Brilliant Idea Barnstar Hires.png|100px]]|[[File:"What a Brilliant Idea!" Barnstar.png|100px]]}} 112 | |rowspan="2" | 113 | |style="font-size: x-large; padding: 0; vertical-align: middle; height: 1.1em;" | '''What a Brilliant Idea Barnstar''' 114 | |- 115 | |style="vertical-align: middle; border-top: 1px solid gray;" | For the brilliant idea of a "Today's Good Article" section on the front page and hope you see it through to fruition. [[User:LavaBaron|LavaBaron]] ([[User talk:LavaBaron|talk]]) 17:56, 5 September 2015 (UTC) 116 | |} 117 | :Thank you! - Dank ([[User talk:Dank|push to talk]]) 18:20, 5 September 2015 (UTC) 118 | 119 | == Netherlandish == 120 | 121 | This is spillover from the current discussion at ERRORS (see [https://en.wikipedia.org/w/index.php?title=Wikipedia:Main_Page/Errors&oldid=680061493 this]). An IP saw "by the [[Early Netherlandish painting|Early Netherlandish]] artist [[Jan van Eyck]]" and complained loudly that "Netherlandish" isn't a word; presumably they thought we wanted "Dutch" but we didn't know any better. It's now changed to "by Jan van Eyck, an Early Netherlandish artist" (with links). There was discussion at ERRORS that I might be pandering to the IP ... that the proper solution isn't to rewrite it to lose the ambiguity, but to inform the IP that they're wrong and they need to learn what the word means. The problem with that is that, last I heard, we have around 10M hits on the Main Page per day, so we're going to get a wide range of casual readers. I hope most Wikipedians are aware that most readers don't click on most links most of the time ... links are handy if people want to click on them, but for most readers, they don't resolve ambiguities in the text. The link plus the capital "E" should have been a clue that "Early Netherlandish" meant something different from "early Netherlandish" ... but again, most people don't pick up clues from capitalization most of the time. In ''[[The Sense of Style]]'' (p. 36, hardcover), Steven Pinker says that good writing makes readers feel smart and bad writing makes them feel stupid. I'd prefer that as many readers of TFAs as possible catch our meaning on the first read-through. This philosophy is what propels many of the edits I make at TFA, so if I'm on the wrong track, I want to know. Thoughts? - Dank ([[User talk:Dank|push to talk]]) 13:40, 8 September 2015 (UTC) 122 | :You're fine; there's no need for us to insist on confusing the readers if there is a way of rewording it to make it clear; my pandering comment was directed, not at you, but at the indignant complainant who thought setting us straight was preferable to clicking the link. Also, I really would like it if more people pandered to my every whim. [[User:Belle|Belle]] ([[User talk:Belle|talk]]) 13:53, 8 September 2015 (UTC) 123 | ::I can do that, I've got lots of whim-pandering experience. - Dank ([[User talk:Dank|push to talk]]) 13:56, 8 September 2015 (UTC) 124 | :::Send me a CV (and chocolates, champagne, a masseuse; you get the picture). [[User:Belle|Belle]] ([[User talk:Belle|talk]]) 14:15, 8 September 2015 (UTC) 125 | :They were earlier, and still in Dutch, the "Flemish primitives", but "Early Netherlandish" is the term in English for the school since the early 1900s; "primitives" was deemed a bit pejorative when translated. I can certainly see how it might be confusing. Your solution was a good call, Dan. [[User:Ceoil|Ceoil]] ([[User talk:Ceoil|talk]]) 23:33, 11 September 2015 (UTC) 126 | 127 | == WPTC copyediting project == 128 | 129 | Hi Dank, I hope you're well. I'm quite late on this, but I just came across your post on the copyediting project [[Wikipedia talk:WikiProject Tropical cyclones/Style|over here]]. There's currently a sparsity of proficient copyeditors at WPTC; I'm one of the very few, and even my on-wiki activity is intermittent. As such, I'm very eager to help out (and, as you put it, "trade notes") if this is still something you're interested in doing in the near future. Let me know what you think! 130 | 131 | Cheers, [[User:Hylian Auree|Auree]] [[Special:Contributions/Hylian Auree|]][[User Talk:Hylian Auree|]] 08:59, 9 September 2015 (UTC) 132 | :Your timing couldn't be better. For people who are already participating at FAC (such as you), I'll be happy to help out in any way you like ... any ideas? Also, I see you're interested in neuropsychology. I recommend Steven Pinker's ''The Sense of Style'' (it's US$11 at Amazon, and lots of libraries have it) to anyone interested in copyediting, but I think neuropsychology students in particular will enjoy it. I mention a few of his talking points at [[WT:TFAC]]. - Dank ([[User talk:Dank|push to talk]]) 11:48, 9 September 2015 (UTC) 133 | :::Inserted in case anyone takes my advice: much of the specific advice he gives in the first chapter and half of the second chapter isn't particularly relevant to encyclopedic writing, but it's worth reading anyway. The rest is very relevant. - Dank ([[User talk:Dank|push to talk]]) 14:06, 12 September 2015 (UTC) 134 | ::Great! I really liked the script you were working on for common redundancies/misuses of terms. We could expand upon that, and maybe include notes for some of the exceedingly technical jargon that pervades the project. I will go through some popular articles later, and compile a list of the most frequent issues. And thank you for the recommendation! I did some brief researching and it is indeed very intriguing; it also coincides with a current course of mine on the neurocognitive aspects of language processing and organization. [[User:Hylian Auree|Auree]] [[Special:Contributions/Hylian Auree|]][[User Talk:Hylian Auree|]] 12:58, 10 September 2015 (UTC) 135 | :::Sounds good. There's another project i'm thinking about ... I'm running it by a few people via email, so if you like, send me an email via the link in the left column so we can get started. - Dank ([[User talk:Dank|push to talk]]) 13:05, 10 September 2015 (UTC) 136 | ::::Alright, I sent the email:) [[User:Hylian Auree|Auree]] [[Special:Contributions/Hylian Auree|]][[User Talk:Hylian Auree|]] 16:48, 10 September 2015 (UTC) 137 | 138 | Auree, since you're specifically interested in [[WP:TROP]], and since I've done some copyediting for them, and since every wikiproject's FAC needs are different, I'm going back through my notes and edits (and other stuff) to come up with a list of suggestions for a script to help TROP reviewers. It will take me a few days. If you want to post or email suggestions in the meantime, please feel free. - Dank ([[User talk:Dank|push to talk]]) 14:03, 12 September 2015 (UTC) 139 | 140 | == TFA 19 September == 141 | I have made a late change to the TFA for 19 September, following the discussion [[Wikipedia talk:Today's featured article/requests#Cucurbita TFA date|here]]. The request was made ungraciously, and their case was by no means self-evident, but I decided to go along with it. I'm sorry for the late notice; you will see that, to save you time, I have attempted the blurb, but if you get a chance you should perhaps look at it. [[User:Brianboulton|Brianboulton]] ([[User talk:Brianboulton|talk]]) 11:36, 16 September 2015 (UTC) 142 | :Thanks for your dedication. On it. - Dank ([[User talk:Dank|push to talk]]) 12:49, 16 September 2015 (UTC) 143 | 144 | == [[Wikipedia:Today's featured article/September 22, 2015]] == 145 | 146 | I got a question at [[WP:ERRORS]] about whether "located" is redundant in today's TFA summary, in the sentence "Chetro Ketl is an Ancestral Puebloan great house and American archeological site located in Chaco Culture National Historical Park, New Mexico." Short answer: I think it's probably a good choice for some readers and a bad choice for others. If the reader has peripherally skimmed ahead and already knows by the time they get to "located" that there's only one prepositional phrase left (of eight words) in the sentence, then "located" adds very little; for this reader, I'd delete it. But most readers most of the time don't know when they're only eight words and one prepositional phrase away from the end of the sentence, and for these readers, at the moment when they reach "located", the word might help avoid two [[garden path]]s, that is, plausible but incorrect parses, parses that turn out to be wrong by the time you get to the end of the sentence. One bad parse would be to 147 | anticipate that "Ancestral Puebloan great house and American archeological site in Chaco Culture National Historical Park, New Mexico" is just the start of the sentence, that the real payload is coming after that; that's a reasonable expectation for the first sentence in an encyclopedia article. The second bad parse would be to assume that "in" refers to "American archeological site" rather than a compound subject. "located" effectly undercuts both of those bad parses. Another reason to favor "located" is the length of this sentence; although the human brain is a formidable computer in many respects, our [[working memory#Capacity|working memory is pea-sized]], with only three to five slots. So our puny reading brains can be overtaxed by intricate enyclopedia articles, such as one that starts out: "Chetro Ketl is an Ancestral Puebloan great house and American archeological site". The more demanding the text, the less likely it is that a copyeditor will object to signposting, words that don't add a lot of meaning but help to indicate what direction the sentence is headed in. - Dank ([[User talk:Dank|push to talk]]) 16:13, 22 September 2015 (UTC) 148 | :Another constraint is that I'm always trying to keep the original wording, all else being equal. - Dank ([[User talk:Dank|push to talk]]) 18:03, 22 September 2015 (UTC) 149 | 150 | == wrestlers 404 == 151 | 152 | hey, you have a customary "these are my edits" format, with a link. I've clicked it twice (two different articles, most recently wrestlers but I forget which one was first) and got a 404 error each time.  [[User:Lingzhi|Lingzhi]] ♦ [[User talk:Lingzhi|(talk)]] 20:51, 23 September 2015 (UTC) 153 | :The macro I use gives the same link as you get under "history" for an article ... which also gives no result from time to time. I'll check to make sure I typed correctly. - Dank ([[User talk:Dank|push to talk]]) 20:56, 23 September 2015 (UTC) 154 | ::Wait, crap, you're right, they made a small change in the pagename again, with no redirect. I'll fix it. - Dank ([[User talk:Dank|push to talk]]) 21:04, 23 September 2015 (UTC) 155 | 156 | == WikiProject Military history coordinator election == 157 | 158 | Greetings from [[Wikipedia:WikiProject Military history|WikiProject Military history]]! As a member of the project, you are invited to take part in our annual [[Wikipedia:WikiProject Military history/Coordinators|project coordinator]] election. If you wish to cast a vote, please do so on the [[Wikipedia:WikiProject Military history/Coordinators/September 2015|'''election page''']] by 23:59 (UTC) on 29 September. Yours, [[User:The ed17|Ed]] [[User talk:The ed17|[talk]]] [[WP:OMT|[majestic titan]]] 05:20, 25 September 2015 (UTC) 159 | 160 | 161 | == Congratulations! == 162 | 163 | [[File:US-O11 insignia.svg|220px|thumb|Coordinator of the Military History Project, September 2015 – September 2016]] 164 | In recognition of your successful election as a co-ordinator of the Military History Project for the next year, I hereby present you with these co-ord stars. I wish you luck in the coming year. [[User:TomStar81|TomStar81]] ([[User talk:TomStar81|Talk]]) 00:44, 30 September 2015 (UTC) 165 | :Thanks Tom! - Dank ([[User talk:Dank|push to talk]]) 01:13, 30 September 2015 (UTC) 166 | 167 | == The WikiProject Barnstar == 168 | 169 | {| style="border: 1px solid gray; background-color: #fdffe7;" 170 | |rowspan="2" style="vertical-align:middle;" | [[File:WikiprojectBarnstar.png|100px]] 171 | |rowspan="2" | 172 | |style="font-size: x-large; padding: 0; vertical-align: bottom; height: 1.1em;" | '''The WikiProject Barnstar''' 173 | |- 174 | |style="vertical-align: top; border-top: 1px solid gray;" | In gratitude for your coordination services to the Military history WikiProject, from September 2014 to September 2015, please accept this WikiProject Barnstar. [[User:TomStar81|TomStar81]] ([[User talk:TomStar81|Talk]]) 01:36, 30 September 2015 (UTC) 175 | |} 176 | Thanks again. - Dank ([[User talk:Dank|push to talk]]) 03:39, 30 September 2015 (UTC) 177 | 178 | == A kitten for you! == 179 | 180 | [[File:Young cats.jpg|left|150px]] 181 | Can substitute the animal of your choice. Still, you have earned it. 182 | 183 | [[User:Kafka Liz|Kafka Liz]] ([[User talk:Kafka Liz|talk]]) 10:27, 3 October 2015 (UTC) 184 |
185 | :Heh, thanks Liz! - Dank ([[User talk:Dank|push to talk]]) 13:28, 3 October 2015 (UTC) 186 | 187 | == Copyediting == 188 | 189 | Hey there! I am one of the many Wikipedians who think you're a terrific copyeditor. Would you mind giving [[Sonam Kapoor]], the article I want to make an FA, a slight copy-edit? Thanks in advance. -- '''[[User:FrB.TG|Frankie]] [[User talk:FrB.TG|talk]]''' 15:35, 3 October 2015 (UTC) 190 | :Thanks much. I can't take on any new copyediting requests now; see below. - Dank ([[User talk:Dank|push to talk]]) 15:59, 3 October 2015 (UTC) 191 | 192 | == July to September 2015 Reviewing Award == 193 | 194 | {| style="border: 2px solid lightsteelblue; background-color: whitesmoke;" 195 | |rowspan="2" style="vertical-align:middle;" | [[Image:WikiChevrons.png|80px]] 196 | |rowspan="2" | 197 | |style="font-size: x-large; padding: 0; vertical-align: middle; height: 1.1em;" | '''The ''[[Wikipedia:WikiProject_Military_history/Awards#WikiChevrons|WikiChevrons]]'''''  198 | |- 199 | |style="vertical-align: middle; border-top: 1px solid lightsteelblue;" | On behalf of the WikiProject Military history coordinators, I hereby award you the WikiChevrons for an awesome 29 FA, A-Class, Peer and GA reviews during the period July to September 2015. Well done! [[User:Peacemaker67|Peacemaker67]] ([[User_talk:Peacemaker67#top|crack... thump]]) 10:26, 5 October 2015 (UTC) 200 | |} 201 | :Thanks PM. - Dank ([[User talk:Dank|push to talk]]) 12:30, 5 October 2015 (UTC) 202 | 203 | == Italics == 204 | 205 | re: [https://en.wikipedia.org/w/index.php?title=Wikipedia:Today%27s_featured_article/October_18,_2015&curid=48011441&diff=684345654&oldid=684317597], is there something with using italics on the front page or was this changed for some other reason? ''TeamXbox'' is a creative news publication and should be italicized per [[Wikipedia:Manual of Style/Titles#Major_works]]: "Online magazines, newspapers, and news sites with original content should generally be italicized" [[user talk:czar|czar]] 02:19, 6 October 2015 (UTC) 206 | :It's fine to italicize it. - Dank ([[User talk:Dank|push to talk]]) 02:42, 6 October 2015 (UTC) 207 | :[[user:czar|czar]], things have been crazy today, sorry. A better explanation: it's fine to italicize it, and MOS certainly allows it, but most websites aren't italicized on WP. I was just going by the non-italics in the relevant article, but as long as you're italicizing both, that works. - Dank ([[User talk:Dank|push to talk]]) 19:28, 6 October 2015 (UTC) 208 | 209 | == RFA brainstorming == 210 | 211 | Anyone who wants to comment, jump in. When I closed [[WP:RFA2013]], there were potential downsides to various proposals, and personally, I was neutral on the main questions. At this point, I don't think I'm neutral on the biggest question ... I think we need more admins. I'm open to suggestions, but I've been reading back through various RfCs, and I'm already close to favoring one approach, one that aims to take a more gentle approach after failed RFAs. But if anyone has any ideas they're really hot to try, lay it on me, and we'll talk about your ideas first. I don't want to step on anyone's toes if they've been working on filing an RfC. (Biblioworm has an RfC going currently at WT:RFA ... if my RfC has any effect at all on that one, I would think the effect would be positive.) - Dank ([[User talk:Dank|push to talk]]) 15:11, 13 October 2015 (UTC) 212 | :Go ahead with your RfC. I wasn't planning on proposing any actual fixes until the first phase of my project (identifying the problem) was over. I'm interested to see what you're thinking. --[[User:Biblioworm|'''''Biblio''''']][[User_talk:Biblioworm|'''''worm''''']] 16:32, 13 October 2015 (UTC) 213 | ::Thanks. I'm ready to roll, and there are no objections so far, so I'll go post over at [[WT:RFA]]. - Dank ([[User talk:Dank|push to talk]]) 13:32, 14 October 2015 (UTC) 214 | :::Could I suggest posting it at VPP, and linking from RfA? I think that might get more fresh eyes in. [[User:Worm That Turned|''Worm'']]TT([[User talk:Worm That Turned|talk]]) 13:59, 14 October 2015 (UTC) 215 | ::::I want to start the discussion at WT:RFA, then expand the discussion to VPP, then file the RfC at VPP. Reasoning: in the best of all possible worlds, I would like the RfA community to see this as a way of taking responsibility for a problem ... we're not the main architects of the problem, but we have a role to play in it, and I'd like to see us saying as a community "We have a responsibility to do something, so here's what we're doing, what do you think?" There's no chance of that happening if I start at VPP. - Dank ([[User talk:Dank|push to talk]]) 14:27, 14 October 2015 (UTC) 216 | 217 | == Possible canvassing == 218 | 219 | Hey Dank, I noticed that you are inviting only those editors to comment on your thread at WT:RfA who have recently failed their RfA by a close margin. Since your RfC is related to something about unsuccessful RfA candidates, I think it's possible canvassing as the editors you have invited will benefit from the proposal. I think you should either self-revert or send the same message to some of the others. Cheers! '''[[User:Jim Carter|Jim Carter]]''' 19:03, 14 October 2015 (UTC) 220 | :Thanks for bringing this up. I disagree, and I'll explain why at WT:RFA. - Dank ([[User talk:Dank|push to talk]]) 19:10, 14 October 2015 (UTC) 221 | 222 | == Unbundling == 223 | 224 | While I am generally against mass unbundling on the whole, what about combining file (and file revision) deletion with Filemover. The file namespace is grossly undeserved, I am thinking particularly of the [[:Category:Non-free files with orphaned versions more than 7 days old]], which can sit upwards of 1500 revision deletions required every few days. It would also allow filemovers to take action in FFD. Not sure if this is technically feasible, but it would be a way to get some backlogs out of an often ignored namespace. --[[User:kelapstick|kelapstick]]([[User talk:Kelapstick#top|bainuu]]) 13:59, 18 October 2015 (UTC) 225 | :Thanks, I'll pass this on to the people who might be interested. - Dank ([[User talk:Dank|push to talk]]) 14:23, 18 October 2015 (UTC) 226 | 227 | == TFA 4 November == 228 | I've scheduled ''[[Il ritorno d'Ulisse in patria]]'' for 4 November. This was one which Gerda nominated in January, but I deferred it (it needed an overhaul and I didn't have time then). I've since updated it, and I think it can run now. I've done the blurb, and had a shot at the image caption, but please look at it and tell me if you think it's OK. [[User:Brianboulton|Brianboulton]] ([[User talk:Brianboulton|talk]]) 22:33, 19 October 2015 (UTC) 229 | :Sure, I already made a few tweaks, it looks good to me. Levy is getting the captions, I think. - Dank ([[User talk:Dank|push to talk]]) 22:51, 19 October 2015 (UTC) 230 | 231 | == Pinging some RfA candidates == 232 | 233 | Pinging: {{ping|Thine Antique Pen|Montanabw|APerson|Cyberpower678|Rich Farmbrough|EuroCarGT}}. (Guys, I might ping you a couple more times ... please let me know if you'd like for me to "unsubscribe" you.) So, I'm still working on this problem of how to help people pass RfA. My suggestions at [[WT:RFA]] aren't going anywhere. Here's another idea: look over the long list of academic researchers interested in Wikipedia at [[Meta:Research:People]] ... do any of those projects sound interesting to you guys? Academic researchers are always looking for Wikipedians they can trust to answer basic questions about how the community works. We might look into getting a special userright for you guys that would make it easier for you to access certain kinds of information. I have some general ideas, but first I need to know which projects you're interested in (if any) so I can get an idea what permissions would be helpful. - Dank ([[User talk:Dank|push to talk]]) 01:39, 20 October 2015 (UTC) 234 | :There is a "Researcher" user-right, which allows better visibility of deleted stuff (edit history, but not actual revisions IIRC). As an Edit filter manager I can see the content of private edit filters. OTRS might suit some of the other candidates - I can't remember the requirements, apart from self-declaring to the WMF. It's a role (or a number of roles, considering the different queues) that requires trustworthiness and delivers community/process benefits, like the stereotypical admin. 235 | :That may be bye-the-bye, or it may be useful. 236 | :All the best: ''[[User:Rich Farmbrough|Rich]] [[User talk:Rich Farmbrough|Farmbrough]]'', 04:28, 20 October 2015 (UTC).
237 | ::Right, that's the idea, all good suggestions. - Dank ([[User talk:Dank|push to talk]]) 15:12, 20 October 2015 (UTC) 238 | 239 | *It's OK to continue "pinging" me, I find the topic interesting. That Meta list, by the way, is rather outdated... ;-) What I am interested is primarily the wikignoming tools that allow me to do the things that I trip over on a frequent basis. If I had to prioritize, this would be my list 240 | #Article moving is probably #1 - both moving article titles over redirects and the stuff like moving prep sets into DYK queues. 241 | #Almost of parallel importance, though, is that I'd also like to be able to protect articles; BLP violations need to b addressed quickly, as does stuff like "outing" editors and such. Revdel would be nice as part of the toolset, but if that's a higher level function, I could live with one without the other 242 | #Viewing deleted content for the purpose of restoring certain things might be helpful, but my interest is primarily in the area of being able to userfy AfDs and such. 243 | #Farther down the queue would be stuff like closing debates, deleting articles after AfD, etc. 244 | :::Hope that helps. FWIW Blocking vandals isn't really high on my list of tools I wish I had, though on occasion it would be nice. But at my RfA, the big panic seemed to be if I could be trusted with the block tool. You see, over the years, I've had (horror of horrors!) opinions, and because I had opinions some feared I might use the mop to go after someone in a vindictive fashion. (which is utter nonsense to anyone who actually knows me, but once the dogpile started there was no stopping it). So userrights that exclude the block tool might be a good way to minimize the drama surrounding RfA. [[User:Montanabw|Montanabw]][[User talk:Montanabw|(talk)]] 19:59, 20 October 2015 (UTC) 245 | ::::Agreed that the Meta list is outdated ... still, if a professor wrote a paper several years ago (or gave up on it), they might have students interested in getting help from an experienced Wikipedian. What I'm trying to figure out is if there's some minor userright, such as "researcher", that would be broadly useful in various ways for many of you guys. What I'm hearing is that that's not likely. This also seems to be the wrong time for a push for it. We might want to hang on until some kind of backlog crisis hits ... I don't like the "legislating by crisis" strategy, but sometimes that's all you're left with. - Dank ([[User talk:Dank|push to talk]]) 02:20, 21 October 2015 (UTC) 246 | 247 | == PR request == 248 | 249 | Hey Dank, this isn't a copy-edit request. I had to withdraw [[Freida Pinto|this candidate]] last time as there were some reservations about the prose. Since then the article has had a thorough copy-edit by a couple of users. Any chance you could give a review [[Wikipedia:Peer review/Freida Pinto/archive2|here]]? —[[User:Vensatry|'''Vensatry''']] [[User talk:Vensatry|'''(ping)''']] 18:28, 24 October 2015 (UTC) 250 | :I'm sorry, I'm not qualified to review Indian English. I'm taking a guess here on some InEng terms because I've seen them used in our InEng film articles: 251 | :INEng: she determined to be, BrEng: she wanted to be, or decided to be, or dedicated herself to becoming (I'm not sure) 252 | :InEng: at the St. Xavier's College, BrEng: at St. Xavier's College 253 | :InEng: well received from critics, BrEng: well received by critics 254 | :I'm not sure who's the right person for this job, but it's not me. - Dank ([[User talk:Dank|push to talk]]) 20:26, 24 October 2015 (UTC) 255 | ::Leave the variations. I think you must be definitely having an idea about other aspects of the prose—punctuation, MOS fixes, etc., I would be really grateful if you could have another look and point out those. —[[User:Vensatry|'''Vensatry''']] [[User talk:Vensatry|'''(ping)''']] 09:05, 26 October 2015 (UTC) 256 | :::No thanks. - Dank ([[User talk:Dank|push to talk]]) 12:57, 26 October 2015 (UTC) 257 | ::::Nevermind, thanks —[[User:Vensatry|'''Vensatry''']] [[User talk:Vensatry|'''(ping)''']] 13:51, 26 October 2015 (UTC) 258 | 259 | == Halloween cheer! == 260 | 261 | 268 | 269 | :Thanks, NA1000. - Dank ([[User talk:Dank|push to talk]]) 23:58, 31 October 2015 (UTC) 270 | 271 | == FAC review == 272 | 273 | Hey, Dank! I hope you're doing fine. I just re-nominated [[Juan Manuel de Rosas]] for a FAC. The last one failed for lack of reviews. Would mind taking a look at it again (or repeating your vote, whichever you prefer). Also, could you invite someone to review it as well, if you can? Here's the nomination page: [[:Wikipedia:Featured article candidates/Juan Manuel de Rosas/archive3]]. Kind regards, --[[User:Lecen|Lecen]] ([[User talk:Lecen|talk]]) 13:25, 1 November 2015 (UTC) 274 | :Sure, I look at all the military history FACs. No need to solicit anyone; this FAC will soon show up at the top of this talk page with the other Milhist FACs, and many other pages too. - Dank ([[User talk:Dank|push to talk]]) 16:06, 1 November 2015 (UTC) 275 | 276 | == TFA November == 277 | Just to let you know I'm away until 8 November, so I won't be able to respond immediately to TFA issues that arise this week. I hope things will rmain quiet. Thanks again for your indispensible "blurb" work. [[User:Brianboulton|Brianboulton]] ([[User talk:Brianboulton|talk]]) 08:35, 2 November 2015 (UTC) 278 | :Thanks kindly. I'll hold down the fort. - Dank ([[User talk:Dank|push to talk]]) 14:24, 2 November 2015 (UTC) 279 | ::I'm sorry to bother you, Dan, but the image in [[Wikipedia:Today's featured article/November 11, 2015]] doesn't have a caption, and no text appears when the mouse is hovered over it. Do you think it might be possible to add the caption "Rhodesia (today Zimbabwe), highlighted on a map of Africa" or something along those lines, so people know what the image is? Thanks, —  [[User:Cliftonian|Cliftonian]] [[User talk:Cliftonian|(talk)]]  16:09, 10 November 2015 (UTC) 280 | :::Thanks. Pinging [[User:David Levy|David Levy]], since he's handling image issues. - Dank ([[User talk:Dank|push to talk]]) 17:32, 10 November 2015 (UTC) 281 | ::::Ah, sorry about that. Cheers, hope you're well. —  [[User:Cliftonian|Cliftonian]] [[User talk:Cliftonian|(talk)]]  17:33, 10 November 2015 (UTC) 282 | :::::Yep. My colon problems of a few years ago have disappeared, and the best news is, if the problems come back, [[OpenBiome|there are now pills]] for related problems that provide cure rates of around 95%. Yay. - Dank ([[User talk:Dank|push to talk]]) 17:36, 10 November 2015 (UTC) 283 | ::::I've added the requested caption. —[[User:David Levy|David Levy]] 21:53, 10 November 2015 (UTC) 284 | 285 | == MacGregor == 286 | 287 | This is just a note to let the participants at the MacGregor [[Wikipedia:Peer review/Gregor MacGregor/archive1|peer review]] know that the article is now up at FAC [[Wikipedia:Featured article candidates/Gregor MacGregor/archive1|here]]. Cheers and I hope you're having a great weekend. —  [[User:Cliftonian|Cliftonian]] [[User talk:Cliftonian|(talk)]]  12:41, 21 November 2015 (UTC) 288 | :Almost done. - Dank ([[User talk:Dank|push to talk]]) 13:36, 23 November 2015 (UTC) 289 | 290 | == [[WP:ACE2015|ArbCom elections are now open!]] == 291 | 292 | Hi,
293 | You appear to be eligible to vote in the current [[WP:ACE2015|Arbitration Committee election]]. The [[WP:ARBCOM|Arbitration Committee]] is the panel of editors responsible for conducting the Wikipedia [[WP:RFAR|arbitration process]]. It has the authority to enact binding solutions for disputes between editors, primarily related to serious behavioural issues that the community has been unable to resolve. This includes the ability to impose [[WP:BAN|site bans]], [[WP:TBAN|topic bans]], editing restrictions, and other measures needed to maintain our editing environment. The [[WP:ARBPOL|arbitration policy]] describes the Committee's roles and responsibilities in greater detail. If you wish to participate, you are welcome to [[WP:ACE2015/C|review the candidates' statements]] and submit your choices on [[Special:SecurePoll/vote/398|the voting page]]. For the Election committee, [[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|talk]]) 13:39, 24 November 2015 (UTC) 294 | 295 | 296 | == TFA (November 27, 2015) == 297 | 298 | Firstly, my apologies for accidentally omitting the "e" (and thanks for catching this). 299 | 300 | Secondly, I don't think that we encountered an [[WP:ENGVAR|ENGVAR]] issue. I'm American, but it was "resuming" that struck me as odd in this context (though I realize that it wasn't incorrect), so it must be a U.S. regional difference or just one of those things. "Assuming" probably is the best choice, given that it's followed by "her former name" (which conveys the fact that the name was used previously). 301 | 302 | Thanks again. —[[User:David Levy|David Levy]] 20:37, 26 November 2015 (UTC) 303 | :Sure, not a problem David. Well ... I was going to say that it probably is an Engvar issue, since "reassume" is a perfectly good word in BritEng, but I didn't get a hit in the two AmEng dictionaries I checked. (See [https://www.ahdictionary.com/word/search.html?q=reassume AHD].) But now that I check a second time, it does occur in M-W.com, but not on its own page: [http://www.merriam-webster.com/dictionary/reassume re-]. So you're right, it's not a WP:COMMONALITY issue, my apologies. But we're agreed that "assuming" probably works best. - Dank ([[User talk:Dank|push to talk]]) 20:45, 26 November 2015 (UTC) 304 | 305 | ::I never heard the word "reassuming" even once before this. [[User:Corinne|Corinne]] ([[User talk:Corinne|talk]]) 19:36, 27 November 2015 (UTC) 306 | :::Twenty years ago, I wasn't doing much copyediting so I can't be sure, but my recollection is that AmEng dictionaries didn't record "reassuming" at that time, favoring "resuming". (And even if they had, AmEng dictionaries then weren't even in the same league as the best ones available now.) Nowadays ... for me personally, if either [[M-W]] or [[AMHER]] lists a word without noting that it's iffy in some way, I'm almost never going to put up a fight and say the word isn't good enough for Wikipedia. - Dank ([[User talk:Dank|push to talk]]) 19:42, 27 November 2015 (UTC) 307 | ::::Apologies re "long after the war ended." My bad. :-( [[User:The ed17|Ed]] [[User talk:The ed17|[talk]]] [[WP:OMT|[majestic titan]]] 22:21, 27 November 2015 (UTC) 308 | :::::Not a problem, Ed, but it did reinforce for me that I need a better way of being notified of TFA changes. Stuff like this is going to happen. - Dank ([[User talk:Dank|push to talk]]) 22:24, 27 November 2015 (UTC) 309 | -------------------------------------------------------------------------------- /test/__init__.py: -------------------------------------------------------------------------------- 1 | from .test_section import * 2 | from .test_indentblock import * 3 | from .test_comment import * 4 | from .test_talkpageparser import * 5 | from .test_indentutils import * 6 | from .test_mwparsermod import * 7 | from .test_signatureutils import * 8 | -------------------------------------------------------------------------------- /test/schema.py: -------------------------------------------------------------------------------- 1 | from jsonschema import validate 2 | 3 | 4 | schema = { 5 | "$schema": "http://json-schema.org/draft-04/schema#", 6 | 7 | "definitions": { 8 | "page": { 9 | "type": "object", 10 | "properties": { 11 | "title": {"type": "string"}, 12 | "sections": { 13 | "type": "array", 14 | "items": {"$ref": "#/definitions/section"} 15 | } 16 | } 17 | }, 18 | "section": { 19 | "type": "object", 20 | "properties": { 21 | "heading": {"type": "string"}, 22 | "comments": { 23 | "type": "array", 24 | "items": {"$ref": "#/definitions/comment"} 25 | }, 26 | "subsections": { 27 | "type": "array", 28 | "items": {"$ref": "#/definitions/section"} 29 | } 30 | } 31 | }, 32 | "comment": { 33 | "type": "object", 34 | "properties": { 35 | "author": {"type": "string"}, 36 | "time_stamp": {"$ref": "#/definitions/time_stamp"}, 37 | "comments": { 38 | "type": "array", 39 | "items": {"$ref": "#/definitions/comment"} 40 | }, 41 | "text_blocks": { 42 | "type": "array", 43 | "items": {"$ref": "#/definitions/text_block"} 44 | }, 45 | "cosigners": { 46 | "type": "array", 47 | "items": {"$ref": "#/definitions/signature"}} 48 | } 49 | }, 50 | "signature": { 51 | "type": "object", 52 | "properties": { 53 | "author": {"type": "string"}, 54 | "time_stamp": {"$ref": "#/definitions/time_stamp"} 55 | } 56 | }, 57 | "text_block": { 58 | "type": "string" 59 | }, 60 | "time_stamp": { 61 | "type": "string", 62 | "pattern": "[0-9]{2}:[0-9]{2}, [0-9]{1,2} [a-zA-Z]+ [0-9]{4} \\(UTC\\)" 63 | } 64 | }, 65 | 66 | "$ref": "#/definitions/page" 67 | } 68 | 69 | 70 | def verify(output): 71 | try: 72 | validate(output, schema) 73 | return True 74 | except Exception as e: 75 | return False 76 | 77 | 78 | def error_msg(output): 79 | try: 80 | validate(output, schema) 81 | return "No error" 82 | except Exception as e: 83 | return str(e) 84 | -------------------------------------------------------------------------------- /test/test_comment.py: -------------------------------------------------------------------------------- 1 | import unittest 2 | import wikichatter.mwparsermod as mwpm 3 | import wikichatter.comment as comment 4 | import wikichatter.indentblock as indentblock 5 | 6 | LEVEL0 = "" 7 | LEVEL1 = ":" 8 | LEVEL2 = "::" 9 | LEVEL3 = ":::" 10 | LEVEL4 = "::::" 11 | SIGNATURE = "[[User:Name|Name]] ([[User talk:Name|talk]]) 19:40, 18 September 2013 (UTC)" 12 | FILLER = "Text" 13 | EL = "\n" 14 | 15 | 16 | class CommentTest(unittest.TestCase): 17 | 18 | def test_basic_linear_identification(self): 19 | text = ( 20 | LEVEL0 + FILLER + EL + 21 | LEVEL1 + FILLER + SIGNATURE + EL + 22 | LEVEL0 + FILLER + SIGNATURE + EL 23 | ) 24 | code = mwpm.parse(text) 25 | blocks = indentblock.generate_indentblock_list(code) 26 | 27 | comments = comment.identify_comments_linear_merge(blocks) 28 | 29 | self.assertEqual(len(comments), 2) 30 | 31 | def test_linear_identification_hierarchy(self): 32 | text = ( 33 | LEVEL0 + FILLER + EL + 34 | LEVEL0 + FILLER + SIGNATURE + EL + 35 | LEVEL1 + FILLER + SIGNATURE + EL + 36 | LEVEL2 + FILLER + EL + 37 | LEVEL2 + FILLER + SIGNATURE + EL + 38 | LEVEL1 + FILLER + SIGNATURE + EL 39 | ) 40 | code = mwpm.parse(text) 41 | blocks = indentblock.generate_indentblock_list(code) 42 | 43 | comments = comment.identify_comments_linear_merge(blocks) 44 | 45 | self.assertEqual(len(comments), 1) 46 | self.assertEqual(len(comments[0].comments), 2) 47 | self.assertEqual(len(comments[0].comments[0].comments), 1) 48 | self.assertEqual(len(comments[0].comments[1].comments), 0) 49 | 50 | def test_linear_identification_hierarchy_with_extra_endlines(self): 51 | text = ( 52 | LEVEL0 + FILLER + EL + EL + 53 | LEVEL0 + FILLER + SIGNATURE + EL + EL + 54 | LEVEL1 + FILLER + SIGNATURE + EL + EL + 55 | LEVEL2 + FILLER + EL + EL + 56 | LEVEL2 + FILLER + SIGNATURE + EL + EL + 57 | LEVEL1 + FILLER + SIGNATURE + EL 58 | ) 59 | code = mwpm.parse(text) 60 | blocks = indentblock.generate_indentblock_list(code) 61 | 62 | comments = comment.identify_comments_linear_merge(blocks) 63 | 64 | self.assertEqual(len(comments), 1, comments) 65 | self.assertEqual(len(comments[0].comments), 2) 66 | self.assertEqual(len(comments[0].comments[0].comments), 1) 67 | self.assertEqual(len(comments[0].comments[1].comments), 0) 68 | 69 | def test_linear_identification_flat(self): 70 | text = ( 71 | LEVEL0 + FILLER + EL + 72 | LEVEL0 + FILLER + SIGNATURE + EL + 73 | LEVEL0 + FILLER + SIGNATURE + EL + 74 | LEVEL0 + FILLER + EL + 75 | LEVEL0 + FILLER + SIGNATURE + EL + 76 | LEVEL0 + FILLER + SIGNATURE + EL 77 | ) 78 | code = mwpm.parse(text) 79 | blocks = indentblock.generate_indentblock_list(code) 80 | 81 | comments = comment.identify_comments_linear_merge(blocks) 82 | 83 | self.assertEqual(len(comments), 4) 84 | -------------------------------------------------------------------------------- /test/test_indentblock.py: -------------------------------------------------------------------------------- 1 | import unittest 2 | import wikichatter.indentblock as indentblock 3 | import wikichatter.mwparsermod as mwpm 4 | 5 | 6 | EMPTY = "\n" 7 | LEVEL0 = "Level 0\n" 8 | LEVEL1 = ":Level 1\n" 9 | LEVEL2 = "::Level 2\n" 10 | LEVEL3 = ":::Level 3\n" 11 | LEVEL4 = "::::Level 4\n" 12 | 13 | LIST1 = "*Level 1\n" 14 | LIST2 = "**Level 2\n" 15 | LIST3 = "***Level 3\n" 16 | LIST4 = "****Level 4\n" 17 | 18 | OUTDENT = "{{outdent}}" 19 | OUTDENT_LEVEL = "{{outdent|5}}" 20 | 21 | 22 | class IndentBlockTest(unittest.TestCase): 23 | 24 | def test_generates_list_from_basic_input(self): 25 | text = ( 26 | LEVEL0 + 27 | LEVEL1 + 28 | LEVEL2 + 29 | LEVEL3 30 | ) 31 | code = mwpm.parse(text) 32 | 33 | blocks = indentblock.generate_indentblock_list(code) 34 | 35 | self.assertEqual(len(blocks), 4) 36 | self.assertEqual(blocks[0].indent, 0) 37 | self.assertEqual(blocks[1].indent, 1) 38 | self.assertEqual(blocks[2].indent, 2) 39 | self.assertEqual(blocks[3].indent, 3) 40 | 41 | def test_generates_list_from_reverse_input(self): 42 | text = ( 43 | LEVEL3 + 44 | LEVEL2 + 45 | LEVEL1 + 46 | LEVEL0 47 | ) 48 | code = mwpm.parse(text) 49 | 50 | blocks = indentblock.generate_indentblock_list(code) 51 | 52 | self.assertEqual(len(blocks), 4) 53 | self.assertEqual(blocks[0].indent, 3) 54 | self.assertEqual(blocks[1].indent, 2) 55 | self.assertEqual(blocks[2].indent, 1) 56 | self.assertEqual(blocks[3].indent, 0) 57 | 58 | def test_generates_list_from_zigzag_input(self): 59 | text = ( 60 | LEVEL0 + 61 | LEVEL1 + 62 | LEVEL2 + 63 | LEVEL3 + 64 | LEVEL2 + 65 | LEVEL1 + 66 | LEVEL0 67 | ) 68 | code = mwpm.parse(text) 69 | 70 | blocks = indentblock.generate_indentblock_list(code) 71 | 72 | self.assertEqual(len(blocks), 7) 73 | self.assertEqual(blocks[0].indent, 0) 74 | self.assertEqual(blocks[1].indent, 1) 75 | self.assertEqual(blocks[2].indent, 2) 76 | self.assertEqual(blocks[3].indent, 3) 77 | self.assertEqual(blocks[4].indent, 2) 78 | self.assertEqual(blocks[5].indent, 1) 79 | self.assertEqual(blocks[6].indent, 0) 80 | 81 | def test_handles_outdent(self): 82 | text = ( 83 | LEVEL0 + 84 | LEVEL1 + 85 | LEVEL2 + 86 | OUTDENT + LEVEL0 87 | ) 88 | code = mwpm.parse(text) 89 | 90 | blocks = indentblock.generate_indentblock_list(code) 91 | 92 | self.assertEqual(len(blocks), 4) 93 | self.assertEqual(blocks[3].indent, 3) 94 | 95 | def test_handles_double_outdent(self): 96 | text = ( 97 | LEVEL0 + 98 | LEVEL1 + 99 | LEVEL2 + 100 | OUTDENT + LEVEL0 + 101 | LEVEL1 + 102 | LEVEL2 + 103 | OUTDENT + LEVEL0 104 | ) 105 | code = mwpm.parse(text) 106 | 107 | blocks = indentblock.generate_indentblock_list(code) 108 | 109 | self.assertEqual(len(blocks), 7) 110 | self.assertEqual(blocks[6].indent, 6) 111 | 112 | def test_handles_triple_outdent(self): 113 | text = ( 114 | LEVEL0 + 115 | LEVEL1 + 116 | OUTDENT + LEVEL0 + 117 | LEVEL1 + 118 | OUTDENT + LEVEL0 + 119 | LEVEL1 + 120 | OUTDENT + LEVEL0 121 | ) 122 | code = mwpm.parse(text) 123 | 124 | blocks = indentblock.generate_indentblock_list(code) 125 | 126 | self.assertEqual(len(blocks), 7) 127 | self.assertEqual(blocks[6].indent, 6) 128 | 129 | def test_generates_list_from_basic_list_input(self): 130 | text = ( 131 | LEVEL0 + 132 | LIST1 + 133 | LIST2 + 134 | LIST3 135 | ) 136 | code = mwpm.parse(text) 137 | 138 | blocks = indentblock.generate_indentblock_list(code) 139 | 140 | self.assertEqual(len(blocks), 4) 141 | self.assertEqual(blocks[0].indent, 0) 142 | self.assertEqual(blocks[1].indent, 1) 143 | self.assertEqual(blocks[2].indent, 2) 144 | self.assertEqual(blocks[3].indent, 3) 145 | 146 | def test_breaks_same_level_apart(self): 147 | text = ( 148 | LEVEL0 + 149 | LIST1 + 150 | LIST1 + 151 | LIST2 + 152 | LIST3 153 | ) 154 | code = mwpm.parse(text) 155 | 156 | blocks = indentblock.generate_indentblock_list(code) 157 | 158 | self.assertEqual(len(blocks), 5) 159 | self.assertEqual(blocks[0].indent, 0) 160 | self.assertEqual(blocks[1].indent, 1) 161 | self.assertEqual(blocks[2].indent, 1) 162 | self.assertEqual(blocks[3].indent, 2) 163 | self.assertEqual(blocks[4].indent, 3) 164 | 165 | def test_grants_empty_line_previous_indent(self): 166 | text = ( 167 | LEVEL0 + 168 | LIST1 + 169 | EMPTY + 170 | LIST1 + 171 | LIST2 172 | ) 173 | code = mwpm.parse(text) 174 | 175 | blocks = indentblock.generate_indentblock_list(code) 176 | 177 | self.assertEqual(len(blocks), 5) 178 | self.assertEqual(blocks[0].indent, 0) 179 | self.assertEqual(blocks[1].indent, 1) 180 | self.assertEqual(blocks[2].indent, 1) 181 | self.assertEqual(blocks[3].indent, 1) 182 | self.assertEqual(blocks[4].indent, 2) 183 | 184 | 185 | def test_gives_empty_start_zero_indent(self): 186 | text = ( 187 | EMPTY + 188 | LEVEL0 + 189 | LIST1 + 190 | LIST1 + 191 | LIST2 192 | ) 193 | code = mwpm.parse(text) 194 | 195 | blocks = indentblock.generate_indentblock_list(code) 196 | 197 | self.assertEqual(len(blocks), 5) 198 | self.assertEqual(blocks[0].indent, 0) 199 | self.assertEqual(blocks[1].indent, 0) 200 | self.assertEqual(blocks[2].indent, 1) 201 | self.assertEqual(blocks[3].indent, 1) 202 | self.assertEqual(blocks[4].indent, 2) 203 | -------------------------------------------------------------------------------- /test/test_indentutils.py: -------------------------------------------------------------------------------- 1 | import unittest 2 | import mwparserfromhell as mwp 3 | import wikichatter.indentutils as indentutils 4 | 5 | 6 | LEVEL0 = "" 7 | LEVEL1 = ":" 8 | LEVEL2 = "::" 9 | LEVEL3 = ":::" 10 | LEVEL4 = "::::" 11 | FILLER = "Text" 12 | EL = "\n" 13 | OUTDENT = "{{outdent}}" 14 | 15 | 16 | class TestIndentUtils(unittest.TestCase): 17 | 18 | def test_basic_extract_indent_blocks(self): 19 | block0 = ( 20 | LEVEL0 + FILLER + EL + 21 | EL + 22 | LEVEL0 + FILLER + EL 23 | ) 24 | block1 = LEVEL1 + FILLER + EL 25 | block2 = LEVEL0 + FILLER + EL 26 | block3 = ( 27 | LEVEL4 + FILLER + EL + 28 | EL + 29 | LEVEL4 + FILLER 30 | ) 31 | text = ( 32 | block0 + 33 | block1 + 34 | block2 + 35 | block3 36 | ) 37 | wikicode = mwp.parse(text) 38 | 39 | blocks = indentutils.extract_indent_blocks(wikicode) 40 | 41 | self.assertEqual(len(blocks), 4) 42 | self.assertEqual(type(blocks[0]), mwp.wikicode.Wikicode) 43 | self.assertIn(block0, str(blocks[0])) 44 | self.assertEqual(type(blocks[1]), mwp.wikicode.Wikicode) 45 | self.assertIn(block1, str(blocks[1])) 46 | self.assertEqual(type(blocks[2]), mwp.wikicode.Wikicode) 47 | self.assertIn(block2, str(blocks[2])) 48 | self.assertEqual(type(blocks[3]), mwp.wikicode.Wikicode) 49 | self.assertIn(block3, str(blocks[3])) 50 | 51 | def test_basic_find_min_indent(self): 52 | text = ( 53 | LEVEL4 + FILLER + EL + 54 | EL + 55 | LEVEL4 + FILLER 56 | ) 57 | wikicode = mwp.parse(text) 58 | 59 | indent = indentutils.find_min_indent(wikicode) 60 | 61 | self.assertEqual(indent, 4) 62 | 63 | def test_positive_has_continuation_indent(self): 64 | text = ( 65 | OUTDENT + FILLER + EL + 66 | EL + 67 | FILLER 68 | ) 69 | wikicode = mwp.parse(text) 70 | 71 | result = indentutils.has_continuation_indent(wikicode) 72 | 73 | self.assertTrue(result) 74 | 75 | def test_negative_has_continuation_indent(self): 76 | text = ( 77 | FILLER + EL + 78 | EL + 79 | FILLER 80 | ) 81 | wikicode = mwp.parse(text) 82 | 83 | result = indentutils.has_continuation_indent(wikicode) 84 | 85 | self.assertFalse(result) 86 | -------------------------------------------------------------------------------- /test/test_mwparsermod.py: -------------------------------------------------------------------------------- 1 | import unittest 2 | import wikichatter.mwparsermod as mwpm 3 | import mwparserfromhell as mwp 4 | 5 | 6 | SECTION = ("== Heading 1 ==\n" 7 | "Some text\n" 8 | "Some other\n") 9 | SUBSUBSECTION = ("=== Heading 1a ===\n" 10 | "Some text\n" 11 | "Other text\n") 12 | 13 | 14 | class MWParserModTest(unittest.TestCase): 15 | 16 | def test_returns_wikicode(self): 17 | wikitext = SECTION 18 | 19 | wikicode = mwpm.parse(wikitext) 20 | 21 | self.assertIsInstance(wikicode, mwp.wikicode.Wikicode) 22 | 23 | def test_resulting_string_the_same(self): 24 | wikitext = (SECTION + SUBSUBSECTION + SECTION + SUBSUBSECTION) 25 | 26 | wikicode = mwpm.parse(wikitext) 27 | 28 | self.assertEqual(wikitext, str(wikicode)) 29 | 30 | def test_sections_preserved(self): 31 | wikitext_list = [SECTION, SUBSUBSECTION, SECTION, SUBSUBSECTION] 32 | wikitext = ''.join(wikitext_list) 33 | 34 | wikicode = mwpm.parse(wikitext) 35 | other = mwp.parse(wikitext) 36 | 37 | detected_sections = wikicode.get_sections(flat=True) 38 | other_sections = other.get_sections(flat=True) 39 | for i, sect in enumerate(detected_sections): 40 | self.assertEqual(sect, str(other_sections[i])) 41 | -------------------------------------------------------------------------------- /test/test_section.py: -------------------------------------------------------------------------------- 1 | import unittest 2 | import wikichatter.section as section 3 | import wikichatter.mwparsermod as mwpm 4 | from wikichatter.error import MalformedWikitextError 5 | 6 | 7 | class SectionTest(unittest.TestCase): 8 | 9 | def test_parses_generic_sections(self): 10 | wikitext = ("== Heading 1 ==\n" 11 | "Some text\n" 12 | "=== Heading 1a ===\n" 13 | "Some text\n" 14 | "== Heading 2 ==\n" 15 | "Some text\n" 16 | "==== Heading 2a ====\n" 17 | "Some text\n" 18 | "=== Heading 2b ===\n" 19 | "Some text") 20 | wcode = mwpm.parse(wikitext) 21 | 22 | top_level = section.generate_sections_from_wikicode(wcode) 23 | 24 | self.assertEqual(len(top_level), 2, str(top_level)) 25 | self.assertEqual(len(top_level[0].subsections), 1, top_level[0].subsections) 26 | self.assertEqual(len(top_level[1].subsections), 2, top_level[1].subsections) 27 | 28 | def test_doesnt_give_leadin_subsections(self): 29 | wikitext = ("Lead in text\n" 30 | "=== Not a subsection ===\n" 31 | "Some text\n") 32 | wcode = mwpm.parse(wikitext) 33 | 34 | top_level = section.generate_sections_from_wikicode(wcode) 35 | 36 | self.assertEqual(len(top_level), 2, top_level) 37 | self.assertEqual(len(top_level[0].subsections), 0, top_level[0].subsections) 38 | 39 | def test_decreasing_section_level(self): 40 | wikitext = ("==== Heading 1 ====\n" 41 | "Some text\n" 42 | "=== Heading 2 ===\n" 43 | "Some text\n" 44 | "== Heading 3 ==\n" 45 | "Some text\n" 46 | "= Heading 4 =\n" 47 | "Some text\n") 48 | wcode = mwpm.parse(wikitext) 49 | 50 | top_level = section.generate_sections_from_wikicode(wcode) 51 | 52 | self.assertEqual(len(top_level), 4, top_level) 53 | 54 | def test_increasing_section_level(self): 55 | wikitext = ("= Heading 1 =\n" 56 | "Some text\n" 57 | "== Heading 2 ==\n" 58 | "Some text\n" 59 | "=== Heading 3 ===\n" 60 | "Some text\n" 61 | "==== Heading 4 ====\n" 62 | "Some text\n") 63 | wcode = mwpm.parse(wikitext) 64 | 65 | top_level = section.generate_sections_from_wikicode(wcode) 66 | 67 | self.assertEqual(len(top_level), 1, top_level) 68 | 69 | def test_malformed_brackets_wikitext_raises_error(self): 70 | wikitext = ("= Heading 1 =\n" 71 | "{{malformed|brackets]]\n\n" 72 | "= Heading 2 =\n" 73 | "text\n\n" 74 | "= Heading 3=\n" 75 | "{{}}") 76 | wcode = mwpm.parse(wikitext) 77 | 78 | with self.assertRaises(MalformedWikitextError): 79 | section.generate_sections_from_wikicode(wcode) 80 | -------------------------------------------------------------------------------- /test/test_signatureutils.py: -------------------------------------------------------------------------------- 1 | import unittest 2 | import wikichatter.signatureutils as signatureutils 3 | import wikichatter.mwparsermod as mwpm 4 | 5 | 6 | class SignatureUtilsTest(unittest.TestCase): 7 | 8 | def test_identifies_multiple_signatures(self): 9 | sigs = ['[[User:Dee03z|Dee03z]] ([[User talk:Dee03z|talk]]) 16:39, 27 April 2012 (UTC)\n', 10 | '[[User:SarahStierch|Sarah]] ([[User talk:SarahStierch|talk]]) 16:56, 27 April 2012 (UTC)\n', 11 | '[[User:AbigailAbernathy|''A Wild Abigail Appears!'']] [[User talk:AbigailAbernathy|Capture me.]] [[Special:EmailUser/AbigailAbernathy|Flee.]] 18:51, 27 April 2012 (UTC)\n', 12 | '[[User:Nathan2055|Nathan2055]][[User Talk:Nathan2055|talk]] 22:21, 27 April 2012 (UTC)\n', 13 | '[[User:SarahStierch|Sarah]] ([[User talk:SarahStierch|talk]]) 22:25, 27 April 2012 (UTC)\n', 14 | '[[User:Mir Almaat 1 S1|RDF Energia]] [[User talk:Mir Almaat 1 S1||]] 05:43, 27 April 2012 (UTC)\n', 15 | '[[User:McDoobAU93|McDoob]][[User talk:McDoobAU93|AU]][[Special:Contributions/McDoobAU93|93]] 01:31, 29 April 2012 (UTC)\n', 16 | '[[User:Charlesdrakew|Charles]] ([[User talk:Charlesdrakew|talk]]) 22:28, 28 April 2012 (UTC)\n', 17 | '[[User:Tlqk56|Tlqk56]] ([[User talk:Tlqk56|talk]]) 04:19, 29 April 2012 (UTC)\n'] 18 | wikitext = ''.join(sigs) 19 | code = mwpm.parse(wikitext) 20 | 21 | detected_sigs = signatureutils.extract_signatures(code) 22 | 23 | self.assertEqual(len(sigs), len(detected_sigs)) 24 | for sig in detected_sigs: 25 | self.assertIn(str(sig['wikicode']), sigs) 26 | 27 | def test_identifies_correct_user(self): 28 | template = '[[User:{user}|{user}]] ([[User talk:{user}|talk]]) 16:39, 27 April 2012 (UTC)' 29 | user = "Some_Person" 30 | wikitext = template.format(user=user) 31 | code = mwpm.parse(wikitext) 32 | 33 | detected_sigs = signatureutils.extract_signatures(code) 34 | 35 | self.assertEqual(1, len(detected_sigs)) 36 | self.assertEqual(user, detected_sigs[0]['user']) 37 | 38 | def test_identifies_correct_time(self): 39 | template = '[[User:Some_Person|Some_Person]] ([[User talk:Some_Person|talk]]) 16:39, {timestamp}' 40 | timestamp = "16:39, 27 April 2012 (UTC)" 41 | wikitext = template.format(timestamp=timestamp) 42 | code = mwpm.parse(wikitext) 43 | 44 | detected_sigs = signatureutils.extract_signatures(code) 45 | 46 | self.assertEqual(1, len(detected_sigs)) 47 | self.assertEqual(timestamp, detected_sigs[0]['timestamp']) 48 | 49 | def test_identifies_backwards_signature(self): 50 | wikitext = ("Hi i wanted to make sure i didnt plagiarize. What are the rules", 51 | " on using others' information on wikipedia. Can i paraphrase it", 52 | " as long as I cite the link? Can anyone get sued from ", 53 | "paraphrasing with citation01:52, 20 September 2013 (UTC) ", 54 | '— Preceding ', 55 | '[[Wikipedia:Signatures|unsigned]] comment added by ', 56 | '[[User:Fishingforspecies|Fishingforspecies]] ', 57 | '([[User talk:Fishingforspecies|talk]] • ', 58 | '[[Special:Contributions/Fishingforspecies|contribs]]) ', 59 | '') 60 | wcode = mwpm.parse(wikitext) 61 | 62 | detected_sigs = signatureutils.extract_signatures(wcode) 63 | 64 | self.assertEqual(1, len(detected_sigs)) 65 | 66 | def test_identifies_hhmm_MMM_DD_YYYY_format(self): 67 | wikitext = ('the first is also illegible on Netscape, but you can tell' 68 | ' what was intended; the second is perfectly legible. ' 69 | '[[User:Michael Hardy|Michael Hardy]] 18:45 Mar 10, 2003 (UTC)\n') 70 | wcode = mwpm.parse(wikitext) 71 | 72 | detected_sigs = signatureutils.extract_signatures(wcode) 73 | 74 | self.assertEqual(1, len(detected_sigs)) 75 | 76 | def test_identifies_hhmmss_YYYYMMDD_format(self): 77 | wikitext = ' in my opinion. [[User:Nahaj|Nahaj]] 01:54:53, 2005-09-08 (UTC) ' 78 | wcode = mwpm.parse(wikitext) 79 | 80 | detected_sigs = signatureutils.extract_signatures(wcode) 81 | 82 | self.assertEqual(1, len(detected_sigs)) 83 | -------------------------------------------------------------------------------- /test/test_talkpageparser.py: -------------------------------------------------------------------------------- 1 | import unittest 2 | import wikichatter.talkpageparser as tpp 3 | from test.schema import verify, error_msg 4 | 5 | 6 | SECTION1 = "= Title =" 7 | SECTION2 = "== Title ==" 8 | LEVEL0 = "Text0" 9 | LEVEL1 = ":Text1" 10 | LEVEL2 = "::Text2" 11 | LEVEL3 = ":::Text3" 12 | LEVEL4 = "::::Text4" 13 | SIGNATURE = " [[User:Name|Name]] ([[User talk:Name|talk]]) 19:40, 18 September 2013 (UTC)" 14 | OUTDENT = "{{outdent}}" 15 | EL = "\n" 16 | 17 | 18 | class TalkPageParser(unittest.TestCase): 19 | 20 | def test_simple_parse(self): 21 | text = "\n".join( 22 | [ 23 | SECTION1, 24 | LEVEL0, 25 | LEVEL0 + SIGNATURE, 26 | LEVEL1, 27 | LEVEL1 + SIGNATURE, 28 | LEVEL2 + SIGNATURE 29 | ] 30 | ) 31 | 32 | output = tpp.parse(text) 33 | 34 | self.assertTrue(verify(output), error_msg(output)) 35 | self.assertEqual(len(output['sections']), 1) 36 | self.assertEqual(len(output['sections'][0]['comments']), 1) 37 | self.assertEqual(len(output['sections'][0]['comments'][0]['comments']), 1) 38 | 39 | def test_outdent_parse(self): 40 | text = "\n".join( 41 | [ 42 | SECTION1, 43 | LEVEL0, 44 | LEVEL0 + SIGNATURE, 45 | LEVEL1, 46 | LEVEL1 + SIGNATURE, 47 | LEVEL2 + SIGNATURE, 48 | OUTDENT + LEVEL0 + SIGNATURE 49 | ] 50 | ) 51 | 52 | output = tpp.parse(text) 53 | 54 | self.assertTrue(verify(output), error_msg(output)) 55 | self.assertEqual(len(output['sections']), 1) 56 | self.assertEqual(len(output['sections'][0]['comments']), 1) 57 | self.assertEqual(len(output['sections'][0]['comments'][0]['comments']), 1) 58 | self.assertEqual(len(output['sections'][0] 59 | ['comments'][0] 60 | ['comments'][0] 61 | ['comments']), 1) 62 | self.assertEqual(len(output['sections'][0] 63 | ['comments'][0] 64 | ['comments'][0] 65 | ['comments'][0] 66 | ['comments']), 1) 67 | 68 | def test_multi_sections(self): 69 | text = "\n".join( 70 | [ 71 | SECTION1, 72 | LEVEL0, 73 | LEVEL0 + SIGNATURE, 74 | SECTION1, 75 | LEVEL0, 76 | LEVEL0 + SIGNATURE, 77 | ] 78 | ) 79 | 80 | output = tpp.parse(text) 81 | 82 | self.assertTrue(verify(output), error_msg(output)) 83 | self.assertEqual(len(output['sections']), 2) 84 | self.assertEqual(len(output['sections'][0]['comments']), 1) 85 | self.assertEqual(len(output['sections'][1]['comments']), 1) 86 | 87 | def test_subsections(self): 88 | text = "\n".join( 89 | [ 90 | SECTION1, 91 | LEVEL0, 92 | LEVEL0 + SIGNATURE, 93 | SECTION2, 94 | LEVEL0, 95 | LEVEL0 + SIGNATURE, 96 | ] 97 | ) 98 | 99 | output = tpp.parse(text) 100 | 101 | self.assertTrue(verify(output), error_msg(output)) 102 | self.assertEqual(len(output['sections']), 1) 103 | self.assertEqual(len(output['sections'][0]['comments']), 1) 104 | self.assertEqual(len(output['sections'][0]['subsections']), 1) 105 | self.assertEqual(len(output['sections'][0]['subsections'][0]['comments']), 1) 106 | -------------------------------------------------------------------------------- /wikichatter/__init__.py: -------------------------------------------------------------------------------- 1 | from .error import Error 2 | from .talkpageparser import parse 3 | -------------------------------------------------------------------------------- /wikichatter/comment.py: -------------------------------------------------------------------------------- 1 | from . import signatureutils as su 2 | from . import indentutils as wiu 3 | from .error import Error 4 | 5 | 6 | def identify_comments_linear_merge(text_blocks): 7 | working_comment = Comment() 8 | comments = [working_comment] 9 | for block in text_blocks: 10 | if working_comment.author is not None: 11 | working_comment = Comment() 12 | comments.append(working_comment) 13 | working_comment.add_text_block(block) 14 | return _sort_into_hierarchy(comments) 15 | 16 | 17 | def identify_comments_level_merge(text_blocks): 18 | pass 19 | 20 | 21 | def _sort_into_hierarchy(comment_list): 22 | top_level_comments = [] 23 | comment_stack = [] 24 | for comment in comment_list: 25 | while len(comment_stack) > 0: 26 | cur_com = comment_stack[-1] 27 | if cur_com.level < comment.level: 28 | cur_com.add_subcomment(comment) 29 | comment_stack.append(comment) 30 | break 31 | comment_stack.pop() 32 | if len(comment_stack) is 0: 33 | top_level_comments.append(comment) 34 | comment_stack.append(comment) 35 | return top_level_comments 36 | 37 | 38 | class CommentError(Error): 39 | pass 40 | 41 | 42 | class MultiSignatureError(CommentError): 43 | pass 44 | 45 | 46 | class Comment(object): 47 | 48 | def __init__(self): 49 | self.author = None 50 | self.cosigners = [] 51 | self.time_stamp = None 52 | self._text_blocks = [] 53 | self.comments = [] 54 | 55 | def add_text_block(self, text_block): 56 | self._text_blocks.append(text_block) 57 | self.load_signature() 58 | 59 | def add_text_blocks(self, text_blocks): 60 | self._text_blocks.extend(text_blocks) 61 | self.load_signature() 62 | 63 | def add_subcomment(self, comment): 64 | self.comments.append(comment) 65 | 66 | def load_signature(self): 67 | signatures = self._find_signatures() 68 | if len(signatures) > 0: 69 | self.author = signatures[0]['user'] 70 | self.time_stamp = signatures[0]['timestamp'] 71 | self.cosigners = signatures[1:] 72 | 73 | def _find_signatures(self): 74 | sig_list = [] 75 | for block in self._text_blocks: 76 | sig_list.extend(su.extract_signatures(block.text)) 77 | return sig_list 78 | 79 | @property 80 | def level(self): 81 | levels = [b.indent for b in self._text_blocks if str(b.text).strip() != ''] 82 | if len(levels) > 0: 83 | return min(levels) 84 | return 0 85 | 86 | @property 87 | def text(self): 88 | return "\n".join([str(b.text) for b in self._text_blocks]) 89 | 90 | def simplify(self): 91 | basic = {} 92 | basic["text_blocks"] = [b.simplify() for b in self._text_blocks] 93 | basic["comments"] = [c.simplify() for c in self.comments] 94 | basic["cosigners"] = [{'author': s['user'], 'time_stamp': s['timestamp']} for s in self.cosigners] 95 | if self.author is not None: 96 | basic["author"] = self.author 97 | if self.time_stamp is not None: 98 | basic["time_stamp"] = self.time_stamp 99 | return basic 100 | 101 | def __repr__(self): 102 | return self.text 103 | -------------------------------------------------------------------------------- /wikichatter/error.py: -------------------------------------------------------------------------------- 1 | class Error(Exception): 2 | pass 3 | 4 | 5 | class MalformedWikitextError(Error): 6 | pass 7 | -------------------------------------------------------------------------------- /wikichatter/extractor.py: -------------------------------------------------------------------------------- 1 | from . import indentblock 2 | from . import comment 3 | 4 | 5 | def linear_extractor(text): 6 | text_blocks = indentblock.generate_indentblock_list(text) 7 | comments = comment.identify_comments_linear_merge(text_blocks) 8 | return comments 9 | -------------------------------------------------------------------------------- /wikichatter/indentblock.py: -------------------------------------------------------------------------------- 1 | from . import indentutils as wiu 2 | from . import signatureutils as su 3 | import mwparserfromhell as mwp 4 | 5 | 6 | # Unclean code 7 | def generate_indentblock_list(wcode): 8 | text_blocks = [] 9 | wcode_lines = _divide_wikicode_into_lines(wcode) 10 | continuation_indent = 0 11 | indent = 0 12 | old_indent = indent 13 | for line in wcode_lines: 14 | local_indent = wiu.find_line_indent(line) 15 | continues = wiu.has_continuation_indent(line) 16 | if local_indent == 0 and not continues: 17 | continuation_indent = 0 18 | elif continues: 19 | continuation_indent = old_indent + 1 20 | if local_indent is not None: 21 | indent = local_indent + continuation_indent 22 | text_blocks.append(IndentBlock(line, indent)) 23 | old_indent = indent 24 | return text_blocks 25 | 26 | 27 | def _divide_wikicode_into_lines(wcode): 28 | lines = [] 29 | line = [] 30 | for node in wcode.nodes: 31 | line.append(node) 32 | if type(node) is mwp.nodes.text.Text and '\n' in node: 33 | lines.append(mwp.wikicode.Wikicode(line)) 34 | line = [] 35 | if len(line) > 0: 36 | lines.append(mwp.wikicode.Wikicode(line)) 37 | return lines 38 | 39 | 40 | class IndentBlock(object): 41 | def __init__(self, text, indent): 42 | self.text = text 43 | self.indent = indent 44 | 45 | def __str__(self): 46 | return self.text 47 | 48 | def simplify(self): 49 | return str(self.text) 50 | -------------------------------------------------------------------------------- /wikichatter/indentutils.py: -------------------------------------------------------------------------------- 1 | import mwparserfromhell as mwp 2 | import time 3 | 4 | 5 | # Unclean code 6 | def extract_indent_blocks(wikicode): 7 | old_indent = 0 8 | wc_block_list = [] 9 | cur_block_wc_lines = [] 10 | for wc_line in _split_wikicode_on_endlines(wikicode): 11 | line = str(wc_line) 12 | indent = _find_line_indent(line) 13 | if indent != old_indent and line.strip() != "": 14 | wc_block = _join_wikicode(cur_block_wc_lines) 15 | block = str(wc_block) 16 | if block.strip() != "": 17 | wc_block_list.append(wc_block) 18 | cur_block_wc_lines = [] 19 | old_indent = indent 20 | cur_block_wc_lines.append(wc_line) 21 | wc_block = _join_wikicode(cur_block_wc_lines) 22 | block = str(wc_block) 23 | if block.strip() != "": 24 | wc_block_list.append(wc_block) 25 | return wc_block_list 26 | 27 | 28 | # Unclean code 29 | def _split_wikicode_on_endlines(wikicode): 30 | divided = [] 31 | cur = [] 32 | for node in wikicode.nodes: 33 | if type(node) is mwp.nodes.text.Text: 34 | split_nodes = _split_text_node_on_endline(node) 35 | for sn in split_nodes: 36 | cur.append(sn) 37 | if "\n" in sn.value: 38 | divided.append(mwp.wikicode.Wikicode(cur)) 39 | cur = [] 40 | else: 41 | cur.append(node) 42 | if len(cur) > 0: 43 | divided.append(mwp.wikicode.Wikicode(cur)) 44 | return divided 45 | 46 | 47 | def _split_text_node_on_endline(text_node): 48 | text = text_node.value 49 | lines = _split_text_and_leave_delimiter(text, "\n") 50 | results = [] 51 | for line in lines: 52 | if line != "": 53 | results.append(mwp.nodes.text.Text(line)) 54 | return results 55 | 56 | 57 | def _split_text_and_leave_delimiter(text, delimiter): 58 | result = [] 59 | lines = text.split(delimiter) 60 | for i, line in enumerate(lines): 61 | if i == (len(lines) - 1): 62 | break 63 | result.append(line + delimiter) 64 | result.append(lines[i]) 65 | return result 66 | 67 | 68 | def _join_wikicode(wikicode_list): 69 | nodes = [] 70 | for wc in wikicode_list: 71 | nodes.extend(wc.nodes) 72 | return mwp.wikicode.Wikicode(nodes) 73 | 74 | 75 | def find_min_indent(wikicode): 76 | text = str(wikicode) 77 | lines = text.split('\n') 78 | non_empty = [line for line in lines if line.strip() != ""] 79 | indents = [_find_line_indent(line) for line in non_empty] 80 | return min(indents) 81 | 82 | 83 | def find_line_indent(wcode): 84 | text = str(wcode) 85 | if text.strip() != "": 86 | return _find_line_indent(text) 87 | return None 88 | 89 | 90 | def _find_line_indent(line): 91 | return _count_indent_in_some_order(line) 92 | 93 | 94 | def _count_indent_in_some_order(line): 95 | line = line.strip() 96 | count = 0 97 | indent_chars = [':', '*', '#'] 98 | while len(indent_chars) > 0: 99 | if len(line) > count and line[count] in indent_chars: 100 | char = line[count] 101 | count += _count_leading_char(line[count:], line[count]) 102 | indent_chars.remove(char) 103 | else: 104 | break 105 | return count 106 | 107 | 108 | def _count_leading_char(line, char): 109 | line = line.strip() 110 | if len(line) == 0 or line[0] != char: 111 | return 0 112 | else: 113 | return 1 + _count_leading_char(line[1:], char) 114 | 115 | 116 | def has_continuation_indent(wikicode): 117 | if len(wikicode.nodes) > 0: 118 | start_node = wikicode.nodes[0] 119 | if type(start_node) is mwp.nodes.template.Template: 120 | return "outdent" in str(start_node).lower() 121 | return False 122 | -------------------------------------------------------------------------------- /wikichatter/mwparsermod.py: -------------------------------------------------------------------------------- 1 | import mwparserfromhell as mwp 2 | from .error import Error 3 | 4 | 5 | class MWParserModError(Error): 6 | pass 7 | 8 | 9 | class NotWikicodeError(MWParserModError): 10 | pass 11 | 12 | 13 | def parse(wikitext): 14 | wikicode = mwp.parse(wikitext, skip_style_tags=True) 15 | _split_wikicode_on_endlines(wikicode) 16 | return wikicode 17 | 18 | 19 | def seperate_wikicode_nodes_on_newlines(wikicode): 20 | if type(wikicode) is not mwp.wikicode.Wikicode: 21 | raise NotWikicodeError(type(wikicode)) 22 | _split_wikicode_on_endlines(wikicode) 23 | 24 | 25 | def _split_wikicode_on_endlines(wikicode): 26 | divided = [] 27 | cur = [] 28 | for node in wikicode.nodes: 29 | if type(node) is mwp.nodes.text.Text: 30 | split_nodes = _split_text_node_on_endline(node) 31 | if len(split_nodes) > 1: 32 | wikicode.replace(node, split_nodes[0]) 33 | for i in range(1, len(split_nodes)): 34 | wikicode.insert_after(split_nodes[i - 1], split_nodes[i]) 35 | 36 | 37 | def _split_text_node_on_endline(text_node): 38 | text = text_node.value 39 | lines = _split_text_and_leave_delimiter(text, "\n") 40 | results = [] 41 | for line in lines: 42 | if line != "": 43 | results.append(mwp.nodes.text.Text(line)) 44 | return results 45 | 46 | 47 | def _split_text_and_leave_delimiter(text, delimiter): 48 | result = [] 49 | lines = text.split(delimiter) 50 | for i, line in enumerate(lines): 51 | if i == (len(lines) - 1): 52 | break 53 | result.append(line + delimiter) 54 | result.append(lines[i]) 55 | return result 56 | -------------------------------------------------------------------------------- /wikichatter/page.py: -------------------------------------------------------------------------------- 1 | from . import section 2 | from . import mwparsermod as mwpm 3 | 4 | 5 | class Page(object): 6 | def __init__(self, text, title): 7 | self.title = title 8 | wcode = mwpm.parse(text) 9 | self.sections = section.generate_sections_from_wikicode(wcode) 10 | 11 | def extract_comments(self, extractor): 12 | for s in self.sections: 13 | s.extract_comments(extractor) 14 | 15 | def simplify(self): 16 | basic = {"sections": [s.simplify() for s in self.sections]} 17 | if self.title is not None: 18 | basic["title"] = self.title 19 | return basic 20 | -------------------------------------------------------------------------------- /wikichatter/section.py: -------------------------------------------------------------------------------- 1 | import mwparserfromhell as mwp 2 | from .error import MalformedWikitextError 3 | 4 | 5 | EPI_LEVEL = 0 6 | 7 | 8 | class Section(object): 9 | 10 | def __init__(self, wcode): 11 | self._subsections = [] 12 | self.comments = [] 13 | self._wikicode = wcode 14 | self._load_section_info() 15 | 16 | def _load_section_info(self): 17 | wiki_headings = [h for h in self._wikicode.filter_headings()] 18 | 19 | if len(wiki_headings) > 1: 20 | raise MalformedWikitextError( 21 | "Multiple headings appear within single section" 22 | ) 23 | if len(wiki_headings) == 0: 24 | self.heading = None 25 | self.level = EPI_LEVEL 26 | else: 27 | self.heading = str(wiki_headings[0].title) 28 | self.level = wiki_headings[0].level 29 | self.text = self._get_section_text_from_wikicode(self._wikicode) 30 | 31 | def append_subsection(self, subsection): 32 | self._subsections.append(subsection) 33 | 34 | def extract_comments(self, extractor): 35 | self.comments = extractor(self._wikicode) 36 | for s in self._subsections: 37 | s.extract_comments(extractor) 38 | 39 | def _get_section_text_from_wikicode(self, wikicode): 40 | sections = wikicode.get_sections(include_headings=False) 41 | return str(sections[-1]) 42 | 43 | @property 44 | def subsections(self): 45 | return list(self._subsections) 46 | 47 | def __str__(self): 48 | return "<{0}: {1}>".format(self.level, self.heading) 49 | 50 | def __repr__(self): 51 | return str(self) 52 | 53 | def simplify(self): 54 | basic = {} 55 | basic["subsections"] = [s.simplify() for s in self._subsections] 56 | basic["comments"] = [c.simplify() for c in self.comments] 57 | if self.heading is not None: 58 | basic["heading"] = self.heading 59 | return basic 60 | 61 | 62 | def generate_sections_from_wikicode(wcode): 63 | flat_sections = _generate_flat_list_of_sections(wcode) 64 | return _sort_into_hierarchy(flat_sections) 65 | 66 | 67 | def _generate_flat_list_of_sections(wcode): 68 | mw_sections = wcode.get_sections(include_lead=True, flat=True) 69 | sections = [Section(s) for s in mw_sections if len(s.nodes) > 0] 70 | return sections 71 | 72 | 73 | def _sort_into_hierarchy(section_list): 74 | top_level_sections = [] 75 | section_stack = [] 76 | for section in section_list: 77 | while len(section_stack) > 0: 78 | cur_sec = section_stack[-1] 79 | if cur_sec.level < section.level and cur_sec.level is not EPI_LEVEL: 80 | cur_sec.append_subsection(section) 81 | section_stack.append(section) 82 | break 83 | section_stack.pop() 84 | if len(section_stack) is 0: 85 | top_level_sections.append(section) 86 | section_stack.append(section) 87 | return top_level_sections 88 | -------------------------------------------------------------------------------- /wikichatter/signatureutils.py: -------------------------------------------------------------------------------- 1 | import re 2 | import mwparserfromhell as mwp 3 | from .error import Error 4 | 5 | 6 | class SignatureUtilsError(Error): 7 | pass 8 | 9 | 10 | class NoUsernameError(SignatureUtilsError): 11 | pass 12 | 13 | 14 | class NoTimestampError(SignatureUtilsError): 15 | pass 16 | 17 | 18 | class NoSignature(SignatureUtilsError): 19 | pass 20 | 21 | 22 | # 01:52, 20 September 2013 (UTC) 23 | _TIMESTAMP_RE_0 = r"[0-9]{2}:[0-9]{2}, [0-9]{1,2} [^\W\d]+ [0-9]{4} \(UTC\)" 24 | # 18:45 Mar 10, 2003 (UTC) 25 | _TIMESTAMP_RE_1 = r"[0-9]{2}:[0-9]{2} [^\W\d]+ [0-9]{1,2}, [0-9]{4} \(UTC\)" 26 | # 01:54:53, 2005-09-08 (UTC) 27 | _TIMESTAMP_RE_2 = r"[0-9]{2}:[0-9]{2}:[0-9]{2}, [0-9]{4}-[0-9]{2}-[0-9]{2} \(UTC\)" 28 | _TIMESTAMPS = [_TIMESTAMP_RE_0, _TIMESTAMP_RE_1, _TIMESTAMP_RE_2] 29 | TIMESTAMP_RE = re.compile(r'|'.join(_TIMESTAMPS)) 30 | 31 | USER_RE = re.compile(r"(\[\[\W*user\W*:(.*?)\|[^\]]+\]\])", re.I) 32 | USER_TALK_RE = re.compile(r"(\[\[\W*user[_ ]talk\W*:(.*?)\|[^\]]+\]\])", re.I) 33 | USER_CONTRIBS_RE = re.compile(r"(\[\[\W*Special:Contributions/(.*?)\|[^\]]+\]\])", re.I) 34 | 35 | 36 | def extract_signatures(wcode): 37 | """ 38 | Returns all signatures found in the text as a list of dictionaries 39 | [ 40 | {'user':, 41 | 'timestamp':, 42 | 'wikicode':} 43 | ] 44 | """ 45 | nodes = wcode.nodes 46 | signature_list = [] 47 | signature_loc = _find_signatures_in_nodes(nodes) 48 | for (start, end) in signature_loc: 49 | sig_code = mwp.wikicode.Wikicode(nodes[start:end + 1]) 50 | signature = _extract_signature_dict_from_sig_code(sig_code) 51 | signature_list.append(signature) 52 | return signature_list 53 | 54 | 55 | def _extract_signature_dict_from_sig_code(sig_code): 56 | signature = {} 57 | signature['user'] = _extract_rightmost_user(sig_code) 58 | signature['timestamp'] = _extract_timestamp_from_sig_code(sig_code) 59 | signature['wikicode'] = sig_code 60 | return signature 61 | 62 | 63 | def _find_signatures_in_nodes(nodes): 64 | result = [] 65 | candidate_locations = _find_timestamp_locations(nodes) 66 | for loc in candidate_locations: 67 | start, end = _find_signature_near_timestamp(loc, nodes) 68 | if start is not None: 69 | result.append((start, end)) 70 | return result 71 | 72 | 73 | def _find_timestamp_locations(nodes): 74 | locations = [] 75 | for i, node in enumerate(nodes): 76 | if _node_has_timestamp(node): 77 | locations.append(i) 78 | return locations 79 | 80 | 81 | def _find_signature_near_timestamp(timestamp_loc, nodes): 82 | end = timestamp_loc 83 | start = _find_start_of_signature_ending_at(end, nodes) 84 | if start is None: 85 | start = end 86 | end = _find_end_of_backwards_signature_starting_at(start, nodes) 87 | if end is None: 88 | start = None 89 | return start, end 90 | 91 | 92 | def _divide_wikicode_on_timestamps(wcode): 93 | nodes = wcode.nodes 94 | divided_nodes = _divide_nodes_on_timestamp(nodes) 95 | return [mwp.wikicode.Wikicode(ns) for ns in divided_nodes] 96 | 97 | 98 | def _divide_nodes_on_timestamp(nodes): 99 | divided = [] 100 | locations = _find_timestamp_locations(nodes) 101 | start = 0 102 | for loc in locations: 103 | end = loc + 1 104 | cur = nodes[start:end] 105 | divided.append(cur) 106 | start = end 107 | if end > len(nodes): 108 | last = nodes[start:] 109 | divided.append(last) 110 | return divided 111 | 112 | 113 | def _find_start_of_signature_ending_at(end, nodes): 114 | start = None 115 | found_user = False 116 | found_date = False 117 | for i in range(0, 6): 118 | cur = end - i 119 | if cur < 0 or cur >= len(nodes): 120 | break 121 | node = nodes[cur] 122 | n_has_un = _node_contains_username(node) 123 | found_user = found_user or n_has_un 124 | n_has_ts = _node_has_timestamp(node) 125 | 126 | if n_has_ts and found_date: 127 | break 128 | found_date = found_date or n_has_ts 129 | 130 | if n_has_un or n_has_ts: 131 | start = cur 132 | elif len(str(node)) > 5 and (found_user and found_date): 133 | break 134 | if not (found_user and found_date): 135 | start = None 136 | return start 137 | 138 | 139 | def _find_end_of_backwards_signature_starting_at(start, nodes): 140 | end = None 141 | found_user = False 142 | found_date = False 143 | for i in range(0, 6): 144 | cur = start + i 145 | if cur >= len(nodes): 146 | break 147 | node = nodes[cur] 148 | n_has_un = _node_contains_username(node) 149 | found_user = found_user or n_has_un 150 | 151 | n_has_ts = _node_has_timestamp(node) 152 | if n_has_ts and found_date: 153 | break 154 | found_date = found_date or n_has_ts 155 | 156 | if n_has_un or n_has_ts: 157 | end = cur 158 | elif len(str(node)) > 5 and (found_user and found_date): 159 | break 160 | if not (found_user and found_date): 161 | end = None 162 | return end 163 | 164 | 165 | def _find_next_endline(text, position): 166 | endlines = [i for i, letter in enumerate(text) if letter == '\n'] 167 | candidates = [i for i in endlines if i >= position] 168 | candidates.append(len(text)) 169 | return min(candidates) 170 | 171 | 172 | def _extract_rightmost_timestamp(wcode): 173 | nodes = wcode.nodes 174 | ts_loc = _find_timestamp_locations(nodes) 175 | if len(ts_loc) == 0: 176 | raise NoTimestampError(text) 177 | return mwp.wikicode.Wikicode(nodes[ts_loc[-1]]) 178 | 179 | 180 | def _extract_rightmost_user(wcode): 181 | text = str(wcode) 182 | up_locs = _find_userpage_locations(text) 183 | ut_locs = _find_usertalk_locations(text) 184 | uc_locs = _find_usercontribs_location(text) 185 | 186 | func_picker = [(l[0], l[1], _extract_userpage_user) for l in up_locs] 187 | func_picker.extend([(l[0], l[1], _extract_usertalk_user) for l in ut_locs]) 188 | func_picker.extend([(l[0], l[1], _extract_usercontribs_user) for l in uc_locs]) 189 | 190 | if len(func_picker) == 0: 191 | raise NoUsernameError(text) 192 | (start, end, extractor) = max(func_picker, key=lambda e: e[1]) 193 | user = extractor(text[start:end]) 194 | return user 195 | 196 | 197 | def _extract_userpage_user(text): 198 | up = USER_RE.match(text) 199 | if up is None: 200 | raise NoUsernameError(text) 201 | raw_username = up.group(2) 202 | return _clean_extracted_username(raw_username) 203 | 204 | 205 | def _extract_usertalk_user(text): 206 | ut = USER_TALK_RE.match(text) 207 | if ut is None: 208 | raise NoUsernameError(text) 209 | raw_username = ut.group(2) 210 | return _clean_extracted_username(raw_username) 211 | 212 | 213 | def _extract_usercontribs_user(text): 214 | uc = USER_CONTRIBS_RE.match(text) 215 | if uc is None: 216 | raise NoUsernameError(text) 217 | raw_username = uc.group(2) 218 | return _clean_extracted_username(raw_username) 219 | 220 | 221 | def _extract_timestamp_from_sig_code(sig_code): 222 | text = str(sig_code) 223 | result = re.findall(TIMESTAMP_RE, text) 224 | if len(result) == 0: 225 | raise NoTimestampError(text) 226 | return result[0] 227 | 228 | 229 | def _clean_extracted_username(raw_username): 230 | parts = re.split('#|/', raw_username) 231 | username = parts[0] 232 | return username.strip() 233 | 234 | 235 | def _node_has_timestamp(node): 236 | return _node_matches_regex(node, TIMESTAMP_RE) 237 | 238 | 239 | def _node_is_part_of_signature(node): 240 | return (_node_contains_username(node) or 241 | _node_has_timestamp(node)) 242 | 243 | 244 | def _node_contains_username(node): 245 | wcode = mwp.wikicode.Wikicode([node]) 246 | links = [l for l in wcode.filter_wikilinks()] 247 | for link in links: 248 | if (_node_is_usertalk(link) or _node_is_userpage(link) or _node_is_usercontribs(link)): 249 | return True 250 | return False 251 | 252 | 253 | def _node_is_usertalk(node): 254 | return _node_matches_regex(node, USER_TALK_RE) 255 | 256 | 257 | def _node_is_userpage(node): 258 | return _node_matches_regex(node, USER_RE) 259 | 260 | 261 | def _node_is_usercontribs(node): 262 | return _node_matches_regex(node, USER_CONTRIBS_RE) 263 | 264 | 265 | def _node_matches_regex(node, regex): 266 | text = str(node) 267 | return re.search(regex, text) is not None 268 | 269 | 270 | def _find_userpage_locations(text): 271 | return _find_regex_locations(USER_RE, text) 272 | 273 | 274 | def _find_usertalk_locations(text): 275 | return _find_regex_locations(USER_TALK_RE, text) 276 | 277 | 278 | def _find_usercontribs_location(text): 279 | return _find_regex_locations(USER_CONTRIBS_RE, text) 280 | 281 | 282 | def _find_regex_locations(regex, text): 283 | regex_iter = regex.finditer(text) 284 | return [m.span() for m in regex_iter] 285 | -------------------------------------------------------------------------------- /wikichatter/talkpageparser.py: -------------------------------------------------------------------------------- 1 | from . import extractor 2 | from . import page 3 | 4 | 5 | def parse(text, title=None): 6 | p = page.Page(text, title) 7 | p.extract_comments(extractor.linear_extractor) 8 | return p.simplify() 9 | --------------------------------------------------------------------------------